Napoleon's Penguin Mascot

    jzz-synth-tiny

    1.3.2 • Public • Published

    JZZ-synth-Tiny

    npm npm jsDelivr build Coverage Status Try jzz-synth-tiny on RunKit

    Tiny Web-Audio GM Synthesizer (g200kg/webaudio-tinysynth) wrapped for JZZ.js

    Includes all General MIDI instruments, plus, you can load your own sounds.

    Please check the demo...

    Install

    npm install jzz-synth-tiny
    or yarn add jzz-synth-tiny
    or get the full development version and minified scripts from GitHub

    Usage

    Plain HTML
    <script src="JZZ.js"></script>
    <script src="JZZ.synth.Tiny.js"></script>
    //...
    CDN (jsdelivr)
    <script src="https://cdn.jsdelivr.net/npm/jzz"></script>
    <script src="https://cdn.jsdelivr.net/npm/jzz-synth-tiny"></script>
    //...
    CDN (unpkg)
    <script src="https://unpkg.com/jzz"></script>
    <script src="https://unpkg.com/jzz-synth-tiny"></script>
    //...
    CommonJS
    var JZZ = require('jzz');
    require('jzz-synth-tiny')(JZZ);
    //...
    AMD
    require(['JZZ', 'JZZ.synth.Tiny'], function(JZZ, dummy) {
      // ...
    });

    API

    Play directly
    JZZ.synth.Tiny().noteOn(0, 'C5', 127)
       .wait(500).noteOn(0, 'E5', 127)
       .wait(500).noteOn(0, 'G5', 127)
       .wait(500).noteOff(0, 'C5').noteOff(0, 'E5').noteOff(0, 'G5');
    Register as MIDI port
    JZZ.synth.Tiny.register('Web Audio');
    
    JZZ().openMidiOut('Web Audio').noteOn(0, 'C5', 127)
       .wait(500).noteOn(0, 'E5', 127)
       .wait(500).noteOn(0, 'G5', 127)
       .wait(500).noteOff(0, 'C5').noteOff(0, 'E5').noteOff(0, 'G5');

    To make vitual port visible by Web MIDI API, please check the instructions at https://github.com/jazz-soft/JZZ#virtual-midi-ports

    Get/Set sound
    var synth = JZZ.synth.Tiny();
    var tuba = synth.getSynth(58); // tuba
    var drum = synth.getSynth(36, true); // bass drum
    synth.setSynth(0, tuba); // set tuba to program 0 (it was piano originally);
    synth.setSynth(35, drum, true); // set bass drum to percussion instrument 35;

    See more details at https://github.com/g200kg/webaudio-tinysynth#timbre-object-structure

    More information

    Please visit https://jazz-soft.net for more information.

    Install

    npm i jzz-synth-tiny

    DownloadsWeekly Downloads

    38

    Version

    1.3.2

    License

    MIT

    Unpacked Size

    57.8 kB

    Total Files

    6

    Last publish

    Collaborators

    • jazz-soft