Never Patronize Mothers

    piano-keyboard

    2.1.4 • Public • Published

    Visualize piano in DOM. Demo.

    npm install piano-keyboard

    var Keyboard = require('piano-keyboard');
     
    //options
    var keyboad = new Keyboard({
        element: document.querySelector('.my-piano'), //if omitted, element is created
        range: ['c4', 'c#6'], //notes range, numbers or names
        a11y: false //focusable & keyboard interactions
    });
     
    //events
    keyboard
        .on('noteOn', function ({which, volume, target}) {})
        .on('noteOff', function ({which, volume, target}) {});
     
    //API
    keyboard.noteOn(['a4', 'c2', 'c3'], [127, 80, 80]);
    keyboard.activeNotes; // Set <49, 16, 28>
    keyboard.noteOff(['a4', 'c2']);
     
    //pipe to midi
    keyboard.pipe(require('web-midi')('Launchpad'));
     
    //pipe from midi
    var midiIn = require('midi-qwerty-keys')({
        mode: 'piano',
        offset: keyboard.range[0]
    });
    midiIn.pipe(keyboard);
     
    //pipe to simple synthesizer WIP
    keyboard.pipe(require('synthesizer'));
     
    //change orientation to vertical
    keyboard.element.classList.add('piano-keyboard-vertical');
    keyboard.element.classList.remove('piano-keyboard-vertical');
     
    //call on changing orientation, resize etc
    keyboard.update();

    Analogs

    Install

    npm i piano-keyboard

    DownloadsWeekly Downloads

    43

    Version

    2.1.4

    License

    MIT

    Last publish

    Collaborators

    • dfcreative