Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ad-si/fluidnode
Node.js bindings for the FluidSynth software synthesizer.
https://github.com/ad-si/fluidnode
fluidsynth midi soundfont synthesizer
Last synced: 20 days ago
JSON representation
Node.js bindings for the FluidSynth software synthesizer.
- Host: GitHub
- URL: https://github.com/ad-si/fluidnode
- Owner: ad-si
- Created: 2015-01-02T23:07:36.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-04-19T15:52:24.000Z (8 months ago)
- Last Synced: 2024-10-23T08:00:48.091Z (2 months ago)
- Topics: fluidsynth, midi, soundfont, synthesizer
- Language: TypeScript
- Homepage:
- Size: 68.4 KB
- Stars: 7
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FluidNode
FluidNode is a wrapper for the
[FluidSynth](http://fluidsynth.org) software synthesizer.## Installation
```sh
npm install fluidnode
```Futhermore, the `fluidsynth` binary must be installed on your system.
You can find installation instructions for your system
[here](https://github.com/FluidSynth/fluidsynth/wiki/Download).## Usage
Use FluidNode in your files like this:
```ts
import "fs" from "fs/promises"
import { renderFile } from "fluidnode"const wavBuffer = await renderFile(
filePath, // Path to MIDI file to get rendered
options, // Set gain and alternative soundfont path (both optional)
)await fs.writeFile("out.wav", wavBuffer, { encoding: "binary" })
```Default soundfont is [GeneralUser](https://github.com/adius/GeneralUser).
Check out the [test/main.ts] file for a complete example.
## Development
Check out the makefile for available commands.