1.0.6 • Published 4 months ago

jzz-synth-fluid v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

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.

1.0.6

4 months ago

1.0.5

7 months ago

1.0.4

1 year ago

1.0.2

1 year ago

1.0.3

1 year ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago