Soundfont-to-XRNI: convert SF2 and SFZ libraries to Renoise instruments (free, open source)

Hi everyone,

I made a small free tool for something I kept running into: turning SoundFont (.sf2) and SFZ libraries into proper Renoise instruments, without converting presets one by one.

Soundfont-to-XRNI is a Windows app: you drop .sf2 / .sfz files, folders or .zip / .7z archives on its window, and it writes one .xrni per preset straight into your Renoise User Library → Instruments, sorted into General MIDI folders (Piano, Guitar, Bass, Strings… Drum Kits).

What it converts

  • Key and velocity zones, root key and tuning
  • Loops (including loop-until-release), volume, panning
  • Volume envelope → Renoise AHDSR
  • Exclusive classes / choke groups → mute groups (open/closed hi-hats)
  • SF2 left/right pairs → stereo samples; samples stored as lossless FLAC
  • SFZ extras: release triggers (Note-Off layer), round robin (Cycle / Random)

As an example, an 850 MB GS SoundFont with 1,785 presets converts in about two minutes.

What it doesn’t (yet)
Filters, LFOs / vibrato and SF2/SFZ modulators are not converted, and envelope curves are approximations, so some presets will sound a bit different from the original. Feedback on instruments that don’t come out right is very welcome.

Download: Soundfont-to-XRNI – latest release
Source code: GitHub - glitch191/Soundfont-to-XRNI: Convert SoundFont 2 (.sf2) and SFZ instruments to Renoise instruments (.xrni). Drag and drop files, folders or .zip/.7z archives; instruments are sorted into General MIDI folders in your Renoise library. · GitHub (MIT licence)

Windows may show a SmartScreen warning the first time (the app isn’t code-signed): More info → Run anyway.

Please only convert SoundFonts you’re allowed to use. Questions, bug reports and suggestions are welcome here or as GitHub issues.

Cheers!

2 Likes

I’m liking this! :slight_smile:

Works just fine in linux, btw.

python3 app.py

Really needs a GO button, though; the selecting / dropping of source files shouldn’t be the trigger for the convert operation, imo.

1 Like

Good stuff! It works great so far!

Yeah i agree a button would be great

Thanks for all the feedback, I listened and made some changes.

Main one: dropping files doesn’t start the conversion right away anymore. The app scans them first and shows you what it’s going to create or replace, then you hit Convert when you’re ready.

A few other things:

- you can now see the progress when it’s scanning a big .zip or .7z

- unpacking is faster (it uses 7-Zip if you have it installed)

- there’s a Clear button if you change your mind

Keep the suggestions coming!

3 Likes