Play piano using keyboard, mouse, touch or MIDI input. Built using VueJS.
- 96-key piano roll
- Responsive design
- Multiple input support: computer keyboard, MIDI keyboard, mouse/touch
- Use scroll buttons or swipe to move piano roll
- Scale filter for easier jamming
- Optional oscilloscope or frequency bar visualizers
- Note/chord recognition
- Uses WebAudio OscillatorNode for synth output
- Use Synth Controls dropdown to adjust wave type, panning, ADSR, pitch bend range, delay amount, 3-band EQ, compressor, and master volume
- Experimental support for Sfumato
- Experimental support for WebAudioFont
git clone [email protected]:michaelchadwick/keebord.git
cd keebord
npm install
npm run dev
npm run build
cd /path/to/keebord/public
scp . user@host:/path/to/keebord
sudo systemctl restart [httpd|apache2|nginx]
Lint with ESLint
npm run lint
Much thanks to dabbmedia/web-audio-synth for providing a starting point for someone who has never done VueJS before.