By HH 2025 0301
To put it simple, SaveWave is a very fast tool for getting different versions of the same sample. You can drag samples from anywhere in Ableton, or from a folder in your computer to this Max for Live device, and export to almost anywhere in your computer.
The origin of SaveWave (skippable reading)
This device came from the needs to convert samples for some of my drum machines, because these machines are asking for certain type of sample, (eg. some machines could only read 16bit 44100 files) and I found the process extra tedious in Ableton, so I made this device.
Another reason is that, Mono files are really good because they demand half of the space compare to Stereo files, and will sound in the absolute center, thus could get maximum impact if you are dealing with things like Kick Drum or Snare, or important Vocals. Mono files are fast, slick and straight-forward.
To get Mono files from Stereo sources, most of the people would think of summing the Left and Right channel of a stereo file to get a Summed Mono file, but many times the phase cancellation of different channels would make the end result sound strange, or usually, at least, lower in volume. Thus instead, I prefer to separate the L and R channel, and get 2 different Mono files. This would not only eliminate possible Phase issues, but also could get us 2 different variations of the same material. And each of the files could become wide stereo sound with simply a short reverb added, if circumstance requires.
Again, the L-R separation and export process in Ableton is a bit too tedious, time consuming and sometimes confusing for me, thus we have SaveWave.
The Interface
The interface is divided into 3 sections listed below.
The Right-Most section
[ Select Folder ] click this to choose the destination folder. Once the folder is selected, the designated directory will be shown at the bottom of the device.
*Important note: for some unknown reasons, if a folder’s name contains too many Spaces (more than 4 or 5), the device might just stop working. To avoid potential inconvenience, we recommend naming the destination folder without space, eg. My_Samples.
[ Export ] the converted file will be saved to designated folder with one click. File name will be automatically generated in the following rules:
Eg: 20250228145735-Clave_808CassXxx2aif-44100int16N-ST
The 1st 14 digits (20250228145735) indicates the year/month/day/hrs/min/sec of the moment when we export the file.
The 2nd part (Clave_808CassXxx2aif) indicates the original file name and it’s file type(in this example, it was an aiff file), in case we would like to revisit the original file.
The 3rd part (44100int16N) indicates the exported file’s Sample Rate, Bit Depth and whether the converted file is interpolated (N stands for No Interpolation, I stands for Interpolated).
The final part (ST) indicates wether the exported file is converted from either Stereo, Sum, Left or Right of the original file. In this example, its ST(ereo).
[ One-Shot ] each click of this button will play the Converted file once.
[ Loop Play ] keep press this button will play the Converted file in a simple looped fashion.
* Additionally, because this device is an instrument, any incoming MIDI note will play the converted file, the play mode will be changed if you click the [One-Shot] or [Loop Play] button.
The Left-Most section
Drag an audio file from anywhere and drop here, some important properties of it will be shown immediately, such as wave shape, duration, channel count and original sample rate. You might have to wait a bit if you drag a large audio file or mp3 here.
The Middle section
This section will define how we would like to convert files, details are listed as following:
Row 1: Interpolation (No Interp VS Interp)
[ No Interp ] simply means all the individual samples(data) from your original file will be kept, thus, if the original file has 44100 samples, its duration would be 1 sec, under 44100 sample rate. If we decide to convert it to a sample rate of 88200 under [No Interp], the duration of the converted file would be 0.5 second. To put it simple, [No interp] would keep all data, but would change length if we change sample rate. Thus, the pitch of the file would change too, depend on the relationship of our original and destination sample rate.
[ Interp ] would do interpolations, so the converted file would have exactly the same length and pitch with the original file. However, this process would take a bit longer to calculate and also change the original data.
You might think we should avoid interpolations, but I believe that, as you are doing conversion already, something would definitely be changed, so at this stage just trust your ears. With [Custom SR], we could easily down-sample or up-sample original files.
ROW 2: Channels (Stereo, Summed Mono, Left, Right)
Simply choose the audio channels of the converted file. As mentioned above, Summed Mono could sound strange due to the phase differences of Left and Right channel of the original file. Here at Sequencer Electronics, we highly recommend export only L or R of the original file.
ROW 3: Sample Rate (Original, DAW, Custom)
[ Original SR ] converted file will have the same Sample Rate with the original file.
[ DAW SR ] converted file will use the current Sample Rate of Ableton.
[ Custom SR ] you may type in any number from 1 to 192000 in this area, the duration of the converted file will be calculated. if [No Interp] is chosen, lower sample rate would extend the duration and lower the pitch, vice versa (eg. if the original file is SR 44100, change SR to 11025 will lower the pitch 2 octaves down, and extend the duration to 4 times. However, some interesting artifact would emerge at this stage, try lower a hi-hat sample’s SR to 2000). This is the crude and primitive way of stretching and re-pitching audio files.
Again, in [Interp] mode, the total length and pitch of converted file will not change, using [Custom SR] with [Interp] will usually create interesting results.
ROW 4: Bit Depth (int 8, int 16, int 24, int 32, float 32, mulaw, alaw)
Simply put, int8 is 8bit, int16 is 16bit, int24 is 24bit, int32 and float32 are both 32bit, but sometimes certain DAW would only read int32 instead of float32. “mulaw” and “alaw” are both older standards of 8bit conversion algorithm, and might sound different according to your file and monitoring environment.
ROW 5: Dither settings (No dither, dither, dither+noise shaping)
Not many details were provided by Cycling’74 for these settings, as far as I know they use triangulated dither algorithm.
Dither is only needed when you want to lower the Bit Depth and keep the newly generated noise or artifact as low as possible, but sometimes we down-sample the file because we simply need the extra artifacts. Choose to your taste.
Tips:
- The initial state of SaveWave will easily help you to get mono or stereo file as similar as possible to the original file, simple drag the file, set destination and export.
-
Lower the Sample Rate dramatically in [ Interp ] mode would usually create
interesting or unexpected artifacts.
Update 2025 0303:
The R2 version added [ Manual ] and [ Auto ] export options. when [ Manual ] is selected, SaveWave will act exactly like R1. When [ Auto ] is selected, drag and drop sample will automatically export file. This function is added to make life easier when exporting multiple files with same settings.