sf2xrni icon indicating copy to clipboard operation
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.