.. | ||
.gitignore | ||
main.c | ||
Makefile | ||
README.md | ||
sfotool.sln | ||
sfotool.vcxproj |
SFOTool for TinySoundFont
A tool to create heavily compressed .SFO files from .SF2 SoundFont files.
Purpose
SFO files are just regular SoundFont v2 files with the entire block of raw PCM samples replaced with a single Ogg Vorbis compressed stream. Unlike .sf3 files, which can have every separate font sample compressed individually, this will compress the entire sound data as if it were a single sample. This results in much higher compression than processing samples individually but also higher loss of quality.
Usage Help
sfotool <SF2/SFO>: Show type of sample stream contained (PCM or OGG)
sfotool <SF2> <WAV>: Dump PCM sample stream to .WAV file
sfotool <SFO> <OGG>: Dump OGG sample stream to .OGG file
sfotool <SF2/SFO> <WAV> <SF2>: Write new .SF2 soundfont file using PCM sample stream from .WAV file
sfotool <SF2/SFO> <OGG> <SFO>: Write new .SFO soundfont file using OGG sample stream from .OGG file
Making a .SFO file from a .SF2 file
- Dump the PCM data of a .SF2 file to a .WAV file
sfotool <SF2> <WAV>
- Compress the .WAV file to .OGG (i.e. with Audacity)
Make sure to choose the desired compression quality level - Build the .SFO file from the .SF2 file and the new .OGG
sfotool <SF2> <OGG> <SFO>
License
SFOTool is available under the Unlicense (public domain).