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