1.0.7 • Published 1 year ago
jzz-synth-fluid v1.0.7
JZZ-synth-Fluid
A JZZ wrapper for FluidSynth
Install
npm install jzz-synth-fluid
You also need to have FluidSynth installed in your computer.
Usage
Play directly
var JZZ = require('jzz');
require('jzz-synth-fluid')(JZZ);
JZZ.synth.Fluid({ path: '/path/to/my/fluidsynth', sf: '/path/to/my/soundfont.sf2' })
.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')
.close();Register as a MIDI port
var JZZ = require('jzz');
require('jzz-synth-fluid')(JZZ);
JZZ.synth.Fluid.register('Fluid Synth', { path: '/path/to/my/fluidsynth', sf: '/path/to/my/soundfont.sf2' });
JZZ().openMidiOut('Fluid Synth')
.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')
.close();API
Create/register
var synth = JZZ.synth.Fluid(params);
// or
JZZ.synth.Fluid.register(params);
// or
JZZ.synth.Fluid.register(name, params);
var synth = JZZ().openMidiOut(name)name: a unique name for the synth; default: 'JZZ.synth.Fluid'.params: an object with the following keys:
path: path to the FluidSynth executable; default:'fluidsynth';sf: path to the soundfont file; optional - can be loaded later;args: an array of additional arguments for the fluidsynth command line; default:[].
MIDI port calls
See https://jazz-soft.net/doc/JZZ/midiout.html for the complete list.
Load soundfont
synth.loadSF(path);path: path to the soundfont file.
STDIN/STDOUT
port.stdin, port.stdout (for those who want direct access to the fluidsynth via shell commands).
More information
Please visit https://jazz-soft.net for more information.