Tonverk Tool elmconv - EXS24/SFZ to .elmulti (Multi-Sample) Converter

This is incredible – thank you so much!
Your talent for creating engaging content is seriously impressive (I could never pull off a reel like this!). And I absolutely love the background sound – so cool!
Really appreciate you taking the time to share this with the community.
Thanks again!

1 Like

Hey, thanks - its a weird jam from my Syntakt with some DN2 keys on top, somehow seemed like a good fit.)

OT - full jam

3 Likes

Wow, what a super useful tool! So well thought out and so well made! Thank you so much!

On my Mac (M1) I had to chase a ffmpeg version with the soxr activated, as the brew version of ffmpeg doesn’t seem to come with it, but once I found a version, it worked perfectly.

Tiny thing: I am using Logic Pro Autosampler to create the exs files. Now Logic saves the exs file and the samples in separate folders. It seems that the GUI version of elmulti expects the samples to be in the same directory as the exs file. Could it be made to allow for separate directories?

1 Like

Thanks for this tool!
I had some initial joy when I successfully converted a few instruments and sent them to the TV.

They seemed to play fine, but unfortunately the loop point gets messed up. It seems the loop length is only a few samples long or perhaps the TV isn’t interpreting the parameters correctly.

I have confirmed that the original sfz plays fine in sforzando.

Also, I second the request for batch processing. I will say that selecting multiple .sfz files in the same directory and converting them works only if the source sample .wavs are named differently (which makes sense.)

Here’s one of the original sfzs that play incorrectly after conversion. This file is pre-conversion. I am able to use the convert to 48k switch, but files where the “optimize loop” switch is on, fail to load in TV.
TheExpanse_sf2.zip (5.4 MB)

Thanks again.

1 Like

Thank you so much for the kind words!

Great catch on the ffmpeg issue! You’re right – the standard Homebrew ffmpeg no longer includes libsoxr. I’ve updated the documentation to recommend ffmpeg-full instead:

brew install ffmpeg-full && brew link --force ffmpeg-full

Thanks for pointing this out – it’ll help other Mac users avoid the same issue.

Regarding the separate folders: The tool automatically resolves WAV paths from the EXS file, so samples don’t need to be in the same directory as the EXS file. Just open the EXS file from the GUI, and Logic’s default folder structure should work fine.
If you run into any issues, please share the log and I’ll take a look. Thanks again for the feedback!

Thanks so much for the detailed report and sample files – they were very helpful!

You were right: there was a bug with monolith WAV handling in SFZ files. When an SFZ references a single WAV file with multiple regions (using offset/end), the converter was copying the entire WAV for each sample instead of extracting the relevant portion. This also caused the loop points to be incorrect since they remained as absolute positions within the monolith.

This has been fixed in v1.3.0.

If you installed via uv tool, you can update with:

uv tool upgrade elmconv

Or download the latest GUI binary from the
Releases · asatamax/tonverk-elmulti-converter · GitHub.

Let me know if you run into any other issues!

2 Likes

Great news. I’ll give it a try very soon.

EDIT: I did and it works flawlessly.
Thanks, again.

1 Like

Sorry to have caused confusion regarding the folders. Just checked again and indeed it is fine to just select the exs file and your program will correctly locate the sample folder. No need to move anything around manually. Works 100%. Thanks!!!

1 Like