Auto Spectrum

An auto spectrum, or spectral power density graph is widely used in vibration analysis.  It is easily obtainable from an FFT of a waveform.  It has the usefull property that when inverted (i.e. when an Inverse FFT is performed on it), it will show an auto correlation of the signal provided.

An auto-correlation shows how well a signal matches time delayed versions of itself.  Local maxima in the auto-correlation can be used to determine the time length of a repetitive signal, sometimes more effectively than a reading of the most prominent frequencies from the FFT.  It can also be used to detect signals buried in noise as in the example shown below:

This just looks like random noise, but the auto-correlation (below) shows that there is a very low intensity signal buried in all that jibberish.

See Also:

Fourier, Rectangular FFT, Rectangular IFT


Devices

Selecting Devices from the File menu will display a dialogue box like the one shown above.  Change the output or input device by selecting a new device from the list displayed.  Press the OK button to accept the new input or output waveform devices.  Press Cancel to use the devices already selected.

Note: All devices will be displayed, but this program currently supports only those devices capable of 11Khz 8 bit mono input or output.


Duplicate Selection

This operation will insert a copy of the selection before the selected protion of the waveform.  It can only be performed when there is a selection.


Echo

Selecting Echo from the Edit menu will display a dialogue box like the one shown above.  The volume level is a percentage and tells the program how loud the echo should be.  If this process generates a crackly sound, reduce the volume level.  The delay factor expresses how long in 1/100th's of a second to wait before outputing the echo.

This operation will be peformed on the selected portion of the waveform.  If there is no selection it will be performed from the insertion point to the end of the waveform.


Erase Selection

This operation will erase the selection, setting all sample points in the selection to zero.  You can use this option to erase unwanted noise between sounds.  This operation can only be performed when there is a selection.


Filters

Filters remove unwanted components from a sound waveform.  This program provides low, band and high pass digital filters and a band reject filter.  These filters pass certain frequency components and reject others in the waveform being filtered.  When you select one of these filters, a dialogue box like the one shown above will be displayed.

For the high and low pass filter, specify the cutoff (-3 db) frequency in the first edit box.  For the band pass and band reject filters, this value represents the center frequency, and the bandwidth edit box will be enabled.  Bandwidth specifies the width of the pass band or reject band.  Bandwidth cannot be greater than twice the center frequency.

See Also:

Lowpass, Bandpass, Highpass, Band Reject


Fourier
Fourier Transforms

A sound can be represented as a series of energy levels in time, or as the sum of a series of cosine waves of varying frequencies.  A Fourier transformation changes an input sound from the former into the latter.  This operation is reversable using an inverse Fourier transformation.  These transformations are usefull in studies of sounds and vibrations.  This program allows you to experiment with Fourier analysis of your sounds.

This program employs a version of the Sande-Tukey FFT (fast fourier transform) algorithm to convert the input waveform into a frequency spectrum and visa-versa.   The output of an FFT provides two graphs showing the real and imaginary (rectangular) components of the frequency spectra, or the magnitude and phase components (polar).  Most people will find the polar representation easier to understand.

Once a waveform has been converted to the frequency domain, it can be converted back by using the IFT transformation of the same type (polar or rectangular) as the FFT that was used.  Due to the low resolution (8 bits / samples) used to store the output results, iterative error, and to mathematical properties of the transform, performing an FFT and the IFT on waveform will not result in the same output waveform.  Furthermore, output is always provided in lengths that are an integral power of 2, even thought the input may not be; therefore frequency will not be preserved.

Reference:

Robert W. Ramirez, The FFT, fundamentals and concepts.  Englewood Cliffs, NJ, Prentice-Hall, 1985

See Also:

Polar FFT, Rectangular FFT, Polar IFT, Rectangular IFT


Insert Silence

This operation will insert silence of the same length as the selection before the selected portion of the waveform.  Use this feature to increase pauses between sounds.  This operation can only be performed when there is a selection.


Lowpass

A low pass filter removes high frequencies and leaves (passes) the low frequencies.  Specify the cutoff (-3db) frequency in the dialogue box displayed after selecting this filter.

See Also:

Filters


Bandpass

A band pass filter removes high and low frequencies, leaving the middle frequency band.  It is a combination of the low and high pass filters. Specify the cutoff (-3db) frequency in the dialogue box displayed after selecting this filter.

See Also:

Filters


Highpass

A high pass filter performs the opposite of a low pass filter;  it removes low frequency elements and passes high frequencies.  Specify the center frequency and bandwidth in the dialogue box displayed after selecting this filter.

See Also:

Filters


Band Reject

The band reject filter removes frequency components in the middle band, and passes the high and low frequencies.  Specify the center frequency and bandwidth in the dialogue box displayed after selecting this filter.

See Also:

Filters


WaveEdit
WaveEdit Main Window

The main window contains several indicators and controls which are used to control playback and viewing of your waveform.  Click on the indicator or control you want to know more about.

See Also:

Window Position, Selection Position, Play Position, Sound Length, Buffer Length, Scale Scrollbar, Position Scrollbar, Rewind, Play, Stop, Fast Forward, Record, Loop


Window Position

This box displays the position of the window over the entire waveform.  When the waveform is scaled to fit in the window, this box will display the length of the waveform.


Selection Position

This box displays the position of the selection in the waveform.


Play Position

This box displays the position in the waveform that is currently being played, or that would be played if you hit the play button.


Sound Length

This box displays the length of the waveform in seconds.


Buffer Length

This box displays the length of the buffer used to store waveforms in seconds.  When WaveEdit starts, it trys to allocate a buffer that is four minutes long at a sampling rate of 11.025 Khz.  If it fails, it will allocate smaller and smaller buffers until it succeeds.


Scale Scrollbar

The scrollbar on the right side of the window controls how much of the waveform is displayed in the window.  By moving it down or up, you can view smaller or larger time segments of the waveform in the window.  You can move forward or backward through the time segments using the position scrollbar.


Position Scrollbar

The scrollbar an the bottom of the window controls what part of the waveform is displayed in the window.  By moving it left or right you can view different time segments of the waveform in the window.  You can increase or decrease  the size of the time segments being viewed using the scale scrollbar.


Rewind

Pressing the rewind button will display the first time segment of the waveform and set the insertion point to the first sample.  You can also rewind by pressing Control + R.


Play

Pressing the play button will play the selected time segment, or if there is no selection, will play from the insertion point to the end of the waveform.  Playing can be stopped by pressing the Stop button.  You can also perform this function by pressing Control + P.


Fast Forward

Pressing the Fast Forward button will display the last time segment of the waveform and set the insertion point to the last sample.  You can also fast forward by pressing Control + F.


Stop

Pressing the Stop button will stop playing or recording in the waveform.  This function may also be performed by pressing Control + S.


Record

Pressing the Record button will begin recording at the insertion point.  Recording will erase any currently recorded data from the insertion point to the end of the buffer, or until the Stop button is depressed.  If a selection is made, the recorder will only overwrite the selected data, but the recording time is then limited to the length of the selection.  You can also begin recording by pressing Control + E.


Loop

This button works like the Play button, but the program plays the waveform continuously until the Stop button is pressed.  You can also perform this function by pressing Control + L.


Selection

Many of the functions of WaveEdit operate on a selection.  To select a portion of the waveform, click the left mouse button on the start of the selection, and drag to the end of the selection.  The selected portion of the waveform will be highlighted.


Insertion Point

Some of the functions of WaveEdit operate from the waveform insertion point.  To set the insertion point, click the left mouse button on the waveform.  To reset the insertion point to the first sample, click on the right mouse button.


Playback

Selecting Playback from the File menu will display a dialogue box like the one shown above.    You can change the volume, pitch and speed setting of the output waveform device, if your sound board supports these controls.


Polar FFT

Selecting this function from the Fourier submenu performs a fast Fourier transform on the selection, or on the entire waveform if there is no selection.  The output of this function is two graphs which represent the frequency spectra associated with the waveform.  The first graph indicates the magnitudes of frequencies found in the waveform, the second indicates the phase of the frequency.  Where no significant components are found in the magnitude graph, the associated phase is set to zero.

See Also:

Rectangular FFT, Polar IFT, Fourier Transforms


Polar IFT

Selecting this function from the Fourier submenu performs an inverse Fourier transform using the entire waveform as the input data for the transform.  It is assumed that the data used for the transform was originally generated by the Polar FFT transformation.

See Also:

Polar FFT, Rectangular IFT, Fourier Transforms


Rectangular FFT

Selecting this function from the Fourier submenu performs a fast Fourier transform on the selection, or on the entire waveform if there is no selection.  The output of this function is two graphs which represent the real and imaginary components of the frequency spectra for the waveform.

See Also:

Polar FFT, Rectangular IFT, Fourier Transforms


Rectangular IFT

Selecting this function from the Fourier submenu performs an inverse Fourier transform using the entire waveform as the input data for the transform.  It is assumed that the data used for the transform was originally generated by the Rectangular FFT transformation.

See Also:

Rectangular FFT, Polar IFT, Fourier Transforms


Volume

Selecting Volume from the Edit menu will display a dialogue box like the one shown above.  The volume level is a percentage and tells the program how much to reduce or increase the volume.

This operation will be peformed on the selected portion of the waveform.  If there is no selection it will be performed from the insertion point to the end of the waveform.


Commands
Menu Commands

The following commands are available from the menu.  Click on the command name for more information on that command.

File Menu
New	Start a new file.
Open ...	Open an existing wave file.
Save	Save the current wave.
Save As ...	Save the current wave in a new file.
Devices ...	Select waveform input and output devices.
Playback	Control playback rate, pitch and volume for waveform output.
Exit	Exit the program.
About WaveEdit...	Display author and version information.
Edit Menu
Cut	Copy the current selection to the clipboard and delete it from the waveform.
Copy	Copy the current selection to the clipboard.
Paste	Copy waveform data from the clipboard to the display at the current insertion point, or in place of the current selection.
Delete	Delete the current selection from the waveform.
Echo	Add echo to the waveform.
Volume	Adjust the volume level of the waveform or current selection.
Duplicate Selection	Duplicate the current selection.
Erase Selection	Erase the current selection.
Insert Silence	Insert silence before the selection.
Scale	Display or hide the volume scale.
Transforms
Fourier
Polar FFT	Perform a Fast Fourier Transform on the selected waveform and display the results in polar form.
Rectangular FFT	Perform a Fast Fourier Transform on the selected waveform and display the results in rectangular form.
Polar IFT	Perform an inverse FFT on the polar FFT data displayed.
Rectangular IFT	Perform an inverse FFT on the rectangular FFT data displayed.
Auto Spectrum	Produce an auto spectrum or spectral power density graph.
Filters
Low Pass	Lowpass filter the selection or entire waveform.
High Pass	High pass filter the selection or entire waveform.
Band Pass	Band pass filter the selection or entire waveform.
Band Reject	Band Reject filter the selection or entire waveform.
Reverse	Reverse the current selection.
Waves
Cosine	Insert a cosine wave or waves into the waveform.
Square	Insert a square wave or waves into the waveform.
Triangle	Insert a triangle wave or waves into the waveform.
Sawtooth	Insert a sawtooth wave or waves into the waveform.
Zoom!	Scale the selection to fit the window.


Reverse

This option reverses the selection.


Waves
Waves - Cosine, Square, Triangle and Sawtooth

These options allow you to insert or mix in some common waves into your waveform.  After selecting one of these option, a dialogue box will appear similar to the one above.  In this dialogue box you can specify the number of wave cycles to appear, the frequency at which they will be generated, and the volume of the waves.  If frequency is 0, then the number of cycles specified will be scaled to fit within the current selection.

If you wish to overlay the waves on the selection then check the Mix box.  When this box is checked, the generated waves will be mixed into the current selection using the volume specified as a mixing ratio.


Zoom

Select this option from the main menu to zoom into the selected portion of the waveform.  This option will set the scale factor to a value that will allow the selected portion of the wave to fill the entire window.