I didn't find an existing tool to do all this massconversion for me (and I sort-of wanted to do this myself), so this weekend I wrote a python tool that does just that. I'm posting it here in case someone else might find use for it.
Most of the samples in my collection are WAVs, which causes most instruments waste more disk space than necessary. So I threw together another tool that attempts to shrink an instrument by recompressing its samples (requires the flac encoder). My instrument collection shrunk by 55%, but your milage may vary. This tool will not work for all existing instruments (yet), but it should work for all instrument created with massconverter.
These tools are only tested on Windows, but they should work on any platform.
And a final note: there are probably bugs lurking about (it's just a quick hack afterall), tell me if you find a show stopper.
Source: bitbucket-repository (zip)
Example usage doing both mass conversion and instrument shrinking (flags are explained in the readme below):
# harvester.py -c "D:\Samples\Maschine" "D:\Samples\Renoise\Converted" <locates samples in the first folder, and put the instruments in the second folder> # xrnishrink.py -m "D:\Samples\Renoise\Converted" "D:\Samples\Renoise\Converted-and-shrunken" <locates instruments in the first folder, and puts the shrunken ones in the second folder>
What is this? ----------------- This is a python tool that converts organized note-annotated samples into note-mapped renoise instruments. It can handle wav-files without any external dependencies (other than python), and flac support can be added by installing the mutagen library: http://code.google.com/p/mutagen/ Also included is a script that attempts to shrink the filesize of a renoise instrument by recompressing the audiosamples within. This is mainly useful when you have converted a bunch of wav-samples, and you dont want to open up each of them in renoise and re-saving. This tool requires "flac" or "flac.exe" to be in the same directory, or in $PATH. How do I use the converter? --------------------------- usage syntax: harvester.py [-h] [-m] [-c] sourcedir targetdir sourcedir: directory that will be scanned for instrument folders targetdir: directory where the xrni instruments will be created -m: look for multiple instruments within the same folder e.g Instruments/Flute A C4.wav Flute A F#4.wav Flute B C4.wav ... Without this flag, each directory will be treated as a single instrument instrument (and can have multiple samples mapped to the same key). -c: used when converting NI Maschine libraries The flag tells harvester to skip some directories which speeds up the process, and add some annotations to the instrument filenames. How do I use the instrument shrinker? -------------------------------------- usage syntax: xrnishrink.py [-h] [-m] source target source: file to shrink, or directory to scan target: target directory for shrunken instruments. -m: scan source directory and shrink all xrnis found. Additional notes: ---------------- 1) The instrument naming isnt always solid, and how good the names turn out will depend on how you name your directories and samples. Assume running the converter on the following directory structure: SourceDir/Violins/Rusty violin C4.wav /Rusty violin G4.wav ... The instrument will be named: Violins-Rusty violin.xrni The base note can be anywhere in the sample filename. 2) The tool isnt very fault-tolerant when it comes to finding files, and it assumes that all samples has a "Name"-tag with a filename that exists. Otherwise it will try to load a nonexisting file and crash.
Edit: updated zip-file and readme.
Edited by jonte, 29 March 2012 - 13:22.