piano-appp/src/App.js

35 lines
964 B
JavaScript
Raw Permalink Normal View History

2022-10-03 03:31:14 +00:00
import logo from './logo.svg';
import './App.css';
import { Piano, KeyboardShortcuts, MidiNumbers } from 'react-piano';
import 'react-piano/dist/styles.css';
function App() {
const firstNote = MidiNumbers.fromNote('a2');
const lastNote = MidiNumbers.fromNote('f5')
2022-10-03 03:31:14 +00:00
const keyboardShortcuts = KeyboardShortcuts.create({
firstNote: firstNote,
lastNote: lastNote,
keyboardConfig: KeyboardShortcuts.HOME_ROW,
});
return (
<Piano
noteRange={{ first: firstNote, last: lastNote }}
playNote={(midiNumber) => {
console.log(midiNumber);
2022-10-03 04:22:00 +00:00
const freq = 880 * (2**((midiNumber - 69)/12));
2022-10-12 20:44:38 +00:00
fetch('http://dubdub.mit.edu:5000/startfreq/' + freq);
2022-10-03 03:31:14 +00:00
}}
stopNote={(midiNumber) => {
2022-10-03 04:22:00 +00:00
const freq = 880 * (2**((midiNumber - 69)/12));
2022-10-12 20:44:38 +00:00
fetch('http://dubdub.mit.edu:5000/stopfreq/' + freq);
2022-10-03 03:31:14 +00:00
}}
width={1000}
keyboardShortcuts={keyboardShortcuts}
/>
);
}
export default App;