Learjeff.com

Learjeff's Nerd Soundfont Tools

I wrote a small set of programs to help me quickly turn a set of recorded sample files into a velocity-layered soundfont for instruments like piano. (They wouldn't be much help for building a drum kit soundfont.)

This is "nerdware", in that you run it from a Windows DOS command window; there's no GUI. The purpose is to eliminate all the fussy per-sample click-click editing required in most GUI-based soundfont editors. Of course, a good GUI-based editor would still be desirable to fine-tune the parameters. To use them, you need to download and install Python, a Perl-like scripting language. Find more about Python at www.python.org. Python is available for a wide range of platforms, including PC, Mac, Linux, and various UNIX flavors.

At best, it's prototype level in robustness. No warrantee expressed or implied, other than that it doesn't contain any nastyware.

Find the package HERE. (Release 2)

It's a zip file, just create a directory and unpack it into there. To run the demo, you also need a way to convert MP3 files to wav format, like dBPowerAmp Music Converter.

To hear sounfonts I created using these tools, go HERE.

Overview

This is definitely nerdware -- no GUI, you run it from a "cmd" window using good ol' DOS style commands. The tools automate much of the process between recording a set of samples and having a soundfont to play. You still need a wave editor to de-noise or convert to 16-bit format before using the tools, and to create a looped or finely tweaked soundfont you still need a good soundfont editor.

Here's how I use it: I mark the notes on the keyboard I'm going to sample so I hit the same ones for each velocity layer. (This isn't necessary, but it leads to better sample sets.) I do a little investigation to figure out what peak level I'm going for, for each velocity layer. I then record a whole velocity layer at a time -- one .wav file per layer. If I don't nail the peak level I'm going for, I drop the note before a second elapses, and then try again. (The software will skip these snarks.) Then, for each layer file, I denoise it in a wave editor (from n-Track), and then normalize and convert to 16 bits.

I feed the 16-bit layer files into a chopper program that chops each one up into individual samples, naming the file based on the note (which it figures out). Another program uses all the wave file names and a little control information to build a keyboard map, and a third program knits it all together into a soundfont file.

If you're interested, help yourself. Send bug reports to learjef@aol.com (just one 'f'). There are bound to be bugs! This is not representative of my professional programming work, it's a dash-together affair in a language where I'm still working out my style.

The program that makes soundfonts also has options to dump soundfonts. This is only useful if you know the soundfont format, but might be interesting to hackers (using the term by its original meaning, having nothing to do with malice).


Hear my music at Learjeff.com.
Feedback: learjef@aol.com