sf2xrni
sf2xrni copied to clipboard
Converts SoundFont sf2 file to Renoise XRNI files
- What is this?
sf2xrni is a Renoise tool for creating XRNI (instrument) files from a SoundFont sf2 file.
-
Usage
$ (mono) sf2xrni(.exe) sf2-files
For mono, you'll need mono 2.8 or later.
When you run the tool, a directory is created to contain a set of XRNI files. e.g. for file "foo.sf2" it will create directory "foo".
-
Conversion Basics
A soundfont file contains more than one Presets. A Preset is mapped to an XRN Instrument. A SF2 Preset contains more than one Instruments. An Instrument contains more than one Zones, and each Zone contains a SampleHeader, which is a set of information to retrieve raw sample.
BaseNote is set from OverridingRootKey, or OriginalPitch. LoopMode is set from SampleModes. LoopStart/LoopEnd are set from those in SampleHeader.
Resulting samples are sorted in KeyRange order and bound to SplitMap.
-
Dependencies
sf2xrni uses a couple of libraries:
- NRenoiseTools, to write XRNI files. http://www.codeplex.com/nrenoisetools
- NAudio, which contains SoundFont2 file format support. http://naudio.codeplex.com/
- ICSharpCode.SharpZipLib. It is just NRenoiseTools dependency http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx
The prebuilt assemblies are in the repo. Note that I didn't copy NAudio.dll from NRenoiseTools release binaries since 0.1.3. It is because the NAudio version in NRenoiseTools misses some required bits used by sf2xrni. I have imported it from NAudio project itself.