This is a minimal piano interface built with Svelte.
You can play around with the code on the Svelte REPL.
For a more complete demo, you can also check out @oscarhermoso's fork featuring support for external MIDI devices here.
To generate the UI, just import the Keyboard
component, and optionally specify the number of octaves
you want, and the MIDI note number of the middleC
note.
When a note is pressed, or released, it fires the noteon
and noteoff
events respectively. The event.detail
property is the note number.
You can find a minimal example in App.svelte
.
MIT