Command line tool for creating sound font js files compatible with MIDI.js.

npm install sfjs
17 downloads in the last month


Node JS CLI for creating MIDI.JS ready sound fonts. The tool converts high quality wav files to sound font js files compatible with MIDI.js. It allows the use of Pro DAWs like Logic, Cubase etc. to create nicer sounds than what sound font synths can produce.


Make sure you have the following dependencies installed on your system.


npm install sfjs -g


Run ulimit -n 10000 to prevent memory allocation issues.

Run sfjs. By default the program will look for a font.wav file in CWD and output the files in CWD/build/. The default GM output instrument is acoustic_grand_piano.

The source audio file should be a high quality PCM encoded .wav file. It contains all the notes of a instrument in 2 second intervals. The lowest note should start at A-1 and continue 8 octaves.


-h, --help          output usage information
-s --source <path>  source audio file
-b --build <path>   build directory defaults to "build"
-l --min <int>      minimum bit rate defaults to 64 Kbit/sec
-h --max <int>      maximum bit rate defaults to 128 Kbit/sec
-o --out <name>     output instrument name defaults "acoustic_grand_piano"
npm loves you