A JZZ wrapper for FluidSynth
npm install jzz-synth-fluid
You also need to have FluidSynth installed in your computer.
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();
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();
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:[]
.
See https://jazz-soft.net/doc/JZZ/midiout.html for the complete list.
synth.loadSF(path);
path
: path to the soundfont file.
port.stdin
, port.stdout
(for those who want direct access to the fluidsynth via shell commands).
Please visit https://jazz-soft.net for more information.