jzz-synth-fluid
v1.0.7
Published
A JZZ wrapper for FluidSynth
Downloads
13
Readme
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.