Instrumap v0.9.4 is a very big update compared to last time:

  • New UI: completely rewritten
  • Much faster: much more efficient when searching for files and optimized file processing
  • More velocity layers: now supports up to 8 velocity layers (within the maximum of 128 keygroups per program)
  • Audio previews: you can listen to samples to hear if they are mapped correctly
  • EXS24 support: Preliminary support for EXS24 (.exs) programs
  • Standalone version: Windows users can use a standalone .exe version (no installer)

Many other fixes, including:

  • fixes for envelope issues on Force v3.1.1
  • more accurate mapping - particularly for velocity
  • supports additional naming schemes
  • Brain & Kyra from NI’s Decoded Forms Expansion is now mapped correctly
  • As always existing customers can find the update in their Gumroad library (all old versions are also still available).

Update Notes

On the first run you’ll need to re-enter your Gumroad key and accept the EULA. Let me know if that causes any issues.

With this update I think we’re very close to a v1.0.0 release.

Instrumap after processing Cuckoo’s Best Piano Collection

I’ve written some notes about the new version here but I think most of the new features are quite easy to discover if you’ve used Instrumap before.

Velocity Layers

There was a bug inferring velocity layers in some cases. This is fixed in v0.9.4. Instrumap now also supports up to 8 velocity layers (so long as the program can be written out in 128 keygroups or fewer).

Sometimes velocities are inferred “upside down”: with the lower velocities mapped to louder samples. There is now an “Invert” button which will turn these back the right way around. With the new audio preview feature you can check that the mapping is correct (before writing out the keygroup program files).

TODO image

Invert button + sample preview

The number of velocity layers now affects the velocity to amplitude mapping. For single layers this is at 100% but it is decreased according to how many velocity layers you have (more layers means less velocity has less affect on amplitude because, typically, lower velocity samples are themselves lower in velocity). To my ear, for whatever it is worth, this is a much more natural default.

EXS24 Support

I recently bought Cuckoo’s Best Piano Collection. These are very beautiful samples and I had expected that Instrumap would “just work” with it but it turns out that it doesn’t really work very well at all with these. Fortunately Cuckoo provides EXS24 programs as well as the raw .wav files and it turned out to be surprisingly easy to add support EXS24 support. Good enough to get some very nice pianos working on Force!

There are limitations (some I will address in updates): currently I map the key range and velocity for each sample. I do not map pretty much anything else: panning, filter, envelopes, fine tuning etc. How much you’ll notice this depends entirely on the libraries you’re planning to use it’s not been an issue for me so far. I have noticed one or two cases where the generated programs don’t work (but in those cases the classic mapping works fine).


There’s no real difference from normal usage of Instrumap. Make sure you point Instrumap at a folder that contains both the .wav files and your .exs files (if they’re in separate folders you can point Instrumap at the parent) and it will figure out the mapping for you. Instrumap tries to put the keygroup file in the same place as the samples but this isn’t always 100% successful and if it can’t find the right place it will write the file alongside the .exs instead.

Keygroup programs from EXS24 files will be named with EXS in the name so that you can tell the difference between these and the “classic” mode. You will get both versions written out and can use the one that works best for you.

Files generated from Cuckoo’s Best Piano Collection

What’s Next?

I’ve completely rewritten big chunks of Instrumap. It’s got a new UI, much faster and more accurate processing plus a bunch of new features. From here I want to focus in on polishing what’s there now and fixing any bugs that show up etc. That should take it to v1.0. After that I have more ideas (e.g. maybe Decent Sampler support, .aif file support, other output formats, .etc).

As there were reports of bugs/crashes that I couldn’t reproduce I’ve added a tiny bit of data collection around errors and stability. This will never be used for advertising but let me know if it is a problem for you.

More about Instrumap