
THE HANDY DANDY ANALOGX SAMPLE AUTOTUNE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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!

If you have any questions, comments, or suggestions, please don't hesitate to
ask!  For more info, and some cool music, make sure to check out the website
at:

http://www.analogx.com/
