{"id":20796421,"url":"https://github.com/jazz-soft/jzz-synth-fluid","last_synced_at":"2026-02-16T02:03:54.654Z","repository":{"id":38288011,"uuid":"505220433","full_name":"jazz-soft/JZZ-synth-Fluid","owner":"jazz-soft","description":"A JZZ wrapper for FluidSynth","archived":false,"fork":false,"pushed_at":"2025-03-29T00:13:15.000Z","size":33,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T01:20:27.674Z","etag":null,"topics":["fluidsynth","midi","soundfont"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jazz-soft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"jazz-soft","custom":"https://paypal.me/jazzsoft"}},"created_at":"2022-06-19T21:12:28.000Z","updated_at":"2025-03-29T00:13:19.000Z","dependencies_parsed_at":"2024-04-06T05:21:35.840Z","dependency_job_id":"b89b3177-020c-49ac-abba-ffd64e809735","html_url":"https://github.com/jazz-soft/JZZ-synth-Fluid","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazz-soft%2FJZZ-synth-Fluid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazz-soft%2FJZZ-synth-Fluid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazz-soft%2FJZZ-synth-Fluid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazz-soft%2FJZZ-synth-Fluid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jazz-soft","download_url":"https://codeload.github.com/jazz-soft/JZZ-synth-Fluid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247092393,"owners_count":20882218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fluidsynth","midi","soundfont"],"created_at":"2024-11-17T16:27:12.429Z","updated_at":"2026-02-16T02:03:49.620Z","avatar_url":"https://github.com/jazz-soft.png","language":"JavaScript","funding_links":["https://github.com/sponsors/jazz-soft","https://paypal.me/jazzsoft"],"categories":[],"sub_categories":[],"readme":"# JZZ-synth-Fluid\n\n[![npm](https://img.shields.io/npm/v/jzz-synth-fluid.svg)](https://www.npmjs.com/package/jzz-synth-fluid)\n[![npm](https://img.shields.io/npm/dt/jzz-synth-fluid.svg)](https://www.npmjs.com/package/jzz-synth-fluid)\n[![build](https://github.com/jazz-soft/JZZ-synth-Fluid/actions/workflows/build.yml/badge.svg)](https://github.com/jazz-soft/JZZ-synth-Fluid/actions)\n[![Coverage Status](https://coveralls.io/repos/github/jazz-soft/JZZ-synth-Fluid/badge.svg?branch=main)](https://coveralls.io/github/jazz-soft/JZZ-synth-Fluid?branch=main)\n\nA [JZZ](https://github.com/jazz-soft/JZZ) wrapper for [FluidSynth](https://github.com/FluidSynth/fluidsynth)\n\n## Install\n\n`npm install jzz-synth-fluid`\n\nYou also need to have [FluidSynth](https://github.com/FluidSynth/fluidsynth) installed in your computer.\n\n## Usage\n\n##### Play directly\n\n```js\nvar JZZ = require('jzz');\nrequire('jzz-synth-fluid')(JZZ);\n\nJZZ.synth.Fluid({ path: '/path/to/my/fluidsynth', sf: '/path/to/my/soundfont.sf2' })\n   .noteOn(0, 'C5', 127)\n   .wait(500).noteOn(0, 'E5', 127)\n   .wait(500).noteOn(0, 'G5', 127)\n   .wait(500).noteOff(0, 'C5').noteOff(0, 'E5').noteOff(0, 'G5')\n   .close();\n```\n\n##### Register as a MIDI port\n\n```js\nvar JZZ = require('jzz');\nrequire('jzz-synth-fluid')(JZZ);\n\nJZZ.synth.Fluid.register('Fluid Synth', { path: '/path/to/my/fluidsynth', sf: '/path/to/my/soundfont.sf2' });\n\nJZZ().openMidiOut('Fluid Synth')\n   .noteOn(0, 'C5', 127)\n   .wait(500).noteOn(0, 'E5', 127)\n   .wait(500).noteOn(0, 'G5', 127)\n   .wait(500).noteOff(0, 'C5').noteOff(0, 'E5').noteOff(0, 'G5')\n   .close();\n```\n\n## API\n\n##### Create/register\n\n```js\nvar synth = JZZ.synth.Fluid(params);\n// or\nJZZ.synth.Fluid.register(params);\n// or\nJZZ.synth.Fluid.register(name, params);\nvar synth = JZZ().openMidiOut(name)\n```\n`name`: a unique name for the synth; default: `'JZZ.synth.Fluid'`.  \n`params`: an object with the following keys:  \n- `path`: path to the FluidSynth executable; default: `'fluidsynth'`;  \n- `sf`: path to the soundfont file; optional - can be loaded later;  \n- `args`: an array of additional arguments for the fluidsynth command line; default: `[]`.\n\n##### MIDI port calls\n\nSee https://jazz-soft.net/doc/JZZ/midiout.html for the complete list.\n\n##### Load soundfont\n\n```js\nsynth.loadSF(path);\n```\n`path`: path to the soundfont file.\n\n##### STDIN/STDOUT\n\n`port.stdin`, `port.stdout` (for those who want direct access to the fluidsynth via shell commands).\n\n## More information\n\nPlease visit [**https://jazz-soft.net**](https://jazz-soft.net) for more information.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjazz-soft%2Fjzz-synth-fluid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjazz-soft%2Fjzz-synth-fluid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjazz-soft%2Fjzz-synth-fluid/lists"}