jzz-synth-fluid

1.0.7 • Public • Published

JZZ-synth-Fluid

npm npm build Coverage Status

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.

Package Sidebar

Install

npm i jzz-synth-fluid

Weekly Downloads

3

Version

1.0.7

License

MIT

Unpacked Size

10.2 kB

Total Files

6

Last publish

Collaborators

  • jazz-soft