So just what is Sample AutoTune? Well, here's what it basically does: It loads up a wave file, analyses the file in frequency space attempting to find the dominant note, then calculates that shift necessary to 'tune' the sample to the note specified. If you want, it can resample the sample to match the same rate as the original, or even resample it to a samplerate of your choice.
It will not be able to tune drums, breakbeats, voice samples, or noises, so don't expect that to happen, but it should be able to handle most other types of sounds, including chords without much difficulty. The samplerate conversion routine I did seems to work fine, but in certain circumstances I was able to get better results from using a program like 'Cool Edit' or some other sample editing package when you crank up their quality to the best. As I said, this is only in certain circumstances, such as major downsampling, but in upsampling we're pretty much the same. For me, the difference isn't large enough to make me want to load up all of the samples in another package to do rate conversion, so I made it togglable, for people who feel they need the difference.
So how do you use it? Simple just run the program, type in the values, and then drag-and-drop whatever file or files you want to convert onto the app. If you drag a directory onto the program, it will traverse all the subdirectories and convert the samples inside. If you specify a note value without an octave, (Like 'C' instead of 'C3') it will tune the sample to the closest octave that the sample is to, this is especially good at tuning samples without drastically increasing the size for very high or low pitches. I had great results when using this to tune my entire sample library, which is around 5000 samples, almost 500 megs! To give you an idea of the time involved to do this, it took around 4 hours to convert everything, on a Pentium2 450mhz, and at it's peak, it was using 35megs of memory.
AutoTune can also 'normalize' your samples for you; what this means is that it increases the amplitude of the sample until just before it would clip. This helps to ensure that all of the samples you use are at the same relative level.
Another operation AutoTune can perform on the sample is DC offset correction... Basically, each different audio source that doesn't have the same power, has a slightly different 0-crossing point. If this isn't corrected, it can lead to distortion, and a reduction in the dynamic range of a sample when it's mixed with other samples that have a different 0-crossing point. With this feature turned on, AutoTune will automatically analyze, and correct, any DC offset that it detects.
You might have noticed that when you tune your wave files, they come out at very strange sample rates - this is because this is how it normally tunes the sound, just like how a sampler changes the note. The idea is that after you've tuned them, you will take them into another program and resample them back up to whatever sample rate you normally use. If, however, you would rather have it be done automatically, it can be done by selecting the 'Resample' option; then the sample will be resampled to the original sample rate. If you would like all the samples to be at one rate, you can alternatively specify a special one, such as 44100, and it will resample it to that. Please note that I don't perform any filtering before doing the conversion, so you will get better results from a full fledged editor (like CoolEdit), but you have to do it one at a time, so you might just opt for having AutoTune do it (that's what I normally do). You can also have it change the sample depth to 8, 16, 24, or 32 bit as well, or leave it the same as it originally was.
If for some reason you don't want to tune your samples, but use some combination of the other features, then simply leave the note value blank (the frequency will display 'Disabled', and the files will no longer be tuned.
Right now the only audio format supported is uncompressed wave (.WAV) files, either mono (1 channel) or stereo (2 channel) wave files are supported. It currently supports 8/16/24/32 bit files, both Microsoft and IEEE formatted floating point data. All unknown wave data will be saved out in the target file as well.
I have noticed that in some cases it doesn't detect the proper octave, but this shouldn't effect the tuning (as far as it making it to C or D or whatever). I'm working on tracking this down, so keep on the lookout for a new version with this fixed!
If you ever see it processing a file, but when you check the output, nothing has changed, this is most commonly because the 'read-only' file flag is set. To turn this off, right-click on the file, and make sure the 'read-only' box is NOT checked. This most commonly happens when you've copied files off of a CD, which automatically sets this attribute.
I would like to thank David Johnston over at Syntrillium, for giving me all the info I needed about implementing 24/32 bit wave file formats!