Cwavefm 1.01 
------------
by Grekim Jennings


Cwavefm is a simple and fast command line based waveform viewer.

The program takes an average of all the sample values over a chosen interval 
and prints to the terminal a time value (at the center of the interval) and a 
corresponding number of dots proportional to the amplitude.  For stereo files, 
the left and right sides are averaged together.  If you change the sampling 
interval to 1000th of the samplerate or less (1 millisecond or less) the 
program will output sample numbers in addition to the time values.  

The default display depth is about -48 dB.  Changing the magnification
(see command line argument 5) allows you to look deeper into the data.
The display depth will be indicated.  

The peak sample value will be detected over the output range.  This is 
an actual sample value and not samples averaged together.

Note that the program prints one full line to the terminal for each sample 
interval.  So, for small sample intervals there will be a very large amount of 
data unless you make your start/stop times closer together. 

The first three command line arguments are required.  
1.  The first argument is the name of the wavefile.
2.  The second is the time in seconds to start analyzing within the file.  
3.  The third is the time in seconds to stop analyzing.  
4.  The optional fourth argument is the sampling interval which defaults 
    to 1/20th of the samplerate or 50 milliseconds.  So, a 48 kHz file 
    would default to an sampling interval of 2400 samples.
5.  The optional fifth argument is the magnification.  The default value
    is 1.  A value of 2 would double the size of the waveform and allow
    you view data that is about 6 dB quieter.  The maximum magnification
    is 256.  A value between 1 and 0 would "zoom out".

File Types:
----------

The program reads 16, 24, and 32-bit-float mono/stereo .wav files.


Examples:
---------

This will print the first 10 seconds of a file called sine.wav and use the 
default resolution:

cwavefm sine.wav 0 10
     
This will change the sample width to 1000 samples:

cwavefm sine.wav 0 10 1000

This will analyze the wave file from 10.1 seconds to 10.2 seconds with a width 
of 1 sample.

cwavefm sine.wav 10.1 10.2 1

This will set the magnification to 4x or about 12 dB deeper (-60 dBFS).

cwavefm sine.wav 10.1 10.2 1 4


