WaveShop is a free, open-source audio editor for Windows XP/Vista/7/8. Unlike many similar apps, WaveShop is bit-perfect, meaning samples aren't altered unless they need to be. Editing a portion of an audio file only affects that portion; the rest of the file is untouched. Blocks of audio can be cut and pasted without changing their contents at all. This is especially useful for patching a finished master without corrupting its dither.
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
Requirements
It is strongly recommended to use 64-bit Windows, because the 64-bit version of WaveShop can load bigger files and/or more files at once without running out of memory.
Recommended:
Windows 7 SP1 64-bit
DirectX 11.0
WaveShop 64-bit
8GB memory or more
Dual-core or quad-core CPU
SATA3 hard drive with at least 100GB free
Professional-quality sound card
Minimum:
Windows XP SP2
DirectX 9.0
WaveShop 32-bit
4GB memory
Installing
Installing for the first time:
WaveShop is distributed as a zip file containing an installer. Unzip the distribution file, using WinZip or an equivalent program, and then double-click on WaveShop.msi to launch the installer. The installer is about as simple as an installer can be: just keep hitting "Next." Note that on the "Select Installation Folder" page, you have the option to install for all users, but the default is to only install for the current user.
Upgrading a previous installation:
Note that double-clicking WaveShop.msi won't work: you will get the message "Another version of this product is already installed". If you're connected to the Internet, you can upgrade to the latest version via Help/Check for Updates.
Uninstalling
To uninstall WaveShop, use Add/Remove Programs in the Control Panel, or double-click on WaveShop.msi and select the "Remove" option, or in the Task Bar, select Programs/WaveShop/Uninstall.
Getting help
WaveShop has context-sensitive help, which means that pressing F1 shows different topics depending on the situation. Context-sensitive help is available for the following types of user-interface objects:
Object type | To get help: |
---|---|
Menus and context menus | Highlight a menu item and press F1. |
Toolbar buttons | Hover over a button and press F1. |
Other toolbar controls | Left-click the control and press F1. |
Modal dialogs | Press F1 while the dialog is displayed. |
If none of the above cases apply, or if help is accessed via Help Topics, a default topic is shown.
The audio cursor indicates the current position within an audio file. It's shown in the view as a vertical line running through each channel. It's also shown numerically in the leftmost field of the navigation bar. To move the cursor via the mouse, left-click within the view. It's also possible to move the cursor via the menus or the keyboard:
To move the cursor numerically, left-click in the leftmost field of the navigation bar, type the desired position, and press Enter or Tab. The position must be entered in time format. Note that Find Zero Crossing moves the cursor to the nearest zero crossing, so it's not necessary to do this manually.
Time format
Time is normally shown and entered in h:m:s.f format, where h = hours, m = minutes, s = seconds, and f = fractional seconds. Places on the right may be omitted, in which case they default to zero. For example:
1 | one hour |
1:2 | one hour + two minutes |
1:2:3 | one hour + two minutes + three seconds |
1:2:3.5 | one hour + two minutes + three and a half seconds |
1:2:3.456789 | one hour + two minutes + three seconds + 456789 microseconds |
0:2 | two minutes |
0:0:3 | three seconds |
0:0:0.4 | four hundred milliseconds |
Time can alternatively be shown and entered in sample frames, by enabling the Show time in sample frames option. Sample frames are zero-origin, i.e. the first frame is frame zero.
Zooming time
Time can be zoomed via the mouse wheel (Ctrl+wheel), time ruler (above the view), menus, or keyboard shortcuts.
Amplitude can be zoomed via the mouse wheel (Shift+wheel), channel rulers, menus, or keyboard shortcuts. Amplitude zoom normally affects all channels at once, but it's also possible to zoom each channel independently, by unchecking the Vertically sync channels option.
If the audio is sufficiently time-zoomed so that it doesn't fit in the window, a horizontal scroll bar appears in the view. To scroll the view, drag the scrollbar thumb, left-click in the scroll bar, or use the mouse wheel. The usual scrolling shortcuts also apply, as listed below. Note that scrolling doesn't move the audio cursor.
The selection determines what portion of the audio is affected by a subsequent command. Audio can be selected via the mouse, navigation bar, menus, or keyboard shortcuts. Note that Find Zero Crossing moves the selection start and end to the nearest zero crossing, so it's not necessary to do this manually.
Initially all the channels in a view have equal heights. To make a channel taller, drag the gutter between it and a neighboring channel. The gutter is the horizontal empty space that separates a pair of channels. Position the mouse cursor over the gutter, so that the cursor changes to a double-pointed vertical arrow. Now press the left mouse button, and while holding it down, drag the gutter vertically until the channels have the desired heights, and then release the left mouse button.
To restore a pair of channels to equal heights, double-click the gutter between them. To maximize one channel while minimizing all others, right-click the desired channel and select Maximize Channel in the context menu; this is useful for files with more than two channels. To restore all channels to equal heights, use View/Fit Vertically (Shift+0).
Channel selection
Channel selection lets you operate on any subset of the channels in a multi-channel audio file, by excluding channels as desired. Excluded channels are unaffected by the operation, meaning their samples remain untouched. Only the following commands support channel selection: Amplify, Fade, Invert, Normalize, Reverse, and Plugins. For all other commands, channel selection is ignored.
By default, all channels are selected. To toggle a channel's selection state (from selected to excluded or vice versa), use Ctrl+left-click, i.e. press the Ctrl key, and while holding it down, left-click anywhere within the channel. To extend the resulting selection state to adjacent channels, drag the cursor over the adjacent channels while continuing to hold down the left mouse button. The cursor changes to a vertical double arrow, indicating drag channel selection mode. This lets you quickly select or exclude a group of adjacent channels, useful when editing surround audio. To select all channels, use the Fit Vertically command (View/Fit Vertically or Shift+0).
Excluded channels are indicated by an alternate color scheme, which can be customized. The channel selection needn't be contiguous, i.e. it's possible to select the first and last channel in a surround file. At least one channel must be selected at all times, and WaveShop enforces this by modifying your selection if necessary.
Use this command to create a new, empty document. To open an existing document, use Open. A new document disallows most operations until you paste or insert audio into it, or insert channels.
Open
Use this command to open an existing document in a new window. You can open multiple documents at once. Use the Window menu to switch among the multiple open documents. To create a new, empty document, use New.
Close
Use this command to close all windows containing the active document. If the document has been modified, you will be prompted to save your changes.
Save
Use this command to save the active document to its current name and directory. When you save a document for the first time, WaveShop displays the Save As dialog box so you can name your document and/or specify its file format. If you want to change the name, directory, or file format of an existing document before you save it, use the Save As command instead.
Save As
Use this command to save and name the active document, or to save the active document in a different file format. WaveShop displays the Save As dialog box so you can name your document, and/or specify its file format via the "Save as type" drop-down list. To save a document with its existing name and directory, use the Save command instead. For many file formats, the Export command gives more precise control over the format details, letting you save the document with a different bit depth, or in a floating-point or compressed subtype. Some compressed formats display a configuration dialog that lets you specify encoding parameters.
File Info
This command displays information about the active document, including its duration, audio format, and size.
Export
This command lets you save audio in other file formats. Unlike the File/Save As command, File/Export gives you precise control over the format details, via the Export dialog. The Export dialog contains three drop lists, which let you specify the major format, subtype, and endianness. The list of subtypes varies depending on which major format is selected, and on the number of channels in the audio. Note that some combinations of major format and channel count have few or no subtypes.
You can also use File/Save As to save audio in other formats, by selecting the desired format in the file dialog's "Save as type" drop list. In this case WaveShop tries to find an integer PCM subtype with the correct sample size, so that no precision is lost. If no suitable subtype is available, the save fails with the message "Format not recognized."
The Export command is more powerful than Save As, but also more dangerous: it lets you save audio in any supported combination of format and subtype, regardless of whether precision is lost. Note that if you reduce the sample size, or select a floating point or compressed subtype, the resulting file will not be a bit-perfect copy of the audio.
Exit
Use this command to end your WaveShop session. You can also use the Close command on the application Control menu. WaveShop prompts you to save documents with unsaved changes.
Any operation that modifies the document can be undone via Edit/Undo or Ctrl+Z, and redone via Edit/Redo or Ctrl+Y. Undo is unlimited by default, but it can also be limited to a specific number of levels. Each document has its own list of previous states, or undo history, and these histories can become large, particularly when big files are edited. Consequently undo states are stored on disk by default, though they can alternatively be stored in memory to improve performance; see disk threshold. The undo history can be viewed and traversed via the history bar.
Clipboard
The clipboard is the destination for cut and copy, and the source for paste. WaveShop has a private clipboard, which differs from the Windows clipboard. WaveShop's clipboard is only accessible to the current instance of WaveShop, and can't be used to share audio with other applications. It's also non-persistent, meaning its contents disappear when WaveShop exits. It's stored on disk by default; see disk threshold.
Cut
This command deletes the selection after copying it to the clipboard. For smoother edits, you may want to do a Find Zero Crossing first, to ensure that both selection boundaries are zero crossings. To cut, use Edit/Cut, press Ctrl+X, or select Cut from the view's context menu or the Toolbar.
Copy
This command copies the selection to the clipboard. For smoother edits, you may want to do a Find Zero Crossing first, to ensure that both selection boundaries are zero crossings. To copy, use Edit/Copy, press Ctrl+C, or select Copy from the view's context menu or the Toolbar.
Paste
This command inserts the contents of the clipboard at the audio cursor position. For smoother edits, you may want to do a Find Zero Crossing first, to ensure that the insert position is a zero crossing. To paste, use Edit/Paste, press Ctrl+V, or select Paste from the view's context menu or the Toolbar.
Insert
This command inserts one or more audio files at the audio cursor position. A file dialog is displayed, and it allows multiple files to be selected, making it easy to concatenate many audio files at once. Files are inserted in alphabetical order, which is convenient when file names are prefixed with a track number. To insert audio, use Edit/Insert or press the Insert key.
Insert Silence
This command inserts a period of silence at the audio cursor position. A dialog is displayed, letting you specify the duration of the silence. To insert silence, use Edit/Insert Silence or press Alt+Insert.
Delete
This command deletes the selection. For smoother edits, you may want to do a Find Zero Crossing first, to ensure that both selection boundaries are zero crossings. To delete, use Edit/Delete, press the Delete key, or select Delete from the view's context menu.
Goto
This command searches audio for a particular sample value, or a range of sample values. To initiate a search, use Edit/Find or press Ctrl+F. The Find dialog is displayed, allowing you specify the range and other parameters, described below. The search begins at the current audio cursor. The search ends when a matching sample is found, or (depending on the options) when the end (or start) of the audio is reached, or the entire document has been searched. If the search is successful, the audio cursor is moved to the first matching sample. To find additional matching samples, use Edit/Find Next or press F3.
Range | The range of sample values to find. To find a single value, make Start and End the same. | |
Unit | Value | The range is interpreted as signed PCM sample values. The minimum and maximum values vary depending on the audio format. |
Percent | The range is interpreted as signed percentages. | |
Decibels | The range is interpreted in decibels. Both start and end should be less than or equal to zero in this case. | |
Match | In range | Find samples that lie within the specified range. |
Not in range | Find samples that lie outside the specified range. | |
Direction | Forward | Search forward, towards the end of the audio. |
Reverse | Search backwards, towards the start of the audio. | |
Wrap | If the end of the audio is reached (or the start if searching backwards), and this option is checked, the search wraps around and continues, otherwise it stops. | |
Channel | Use this option to limit the search to a particular channel; by default, all channels are searched. |
For example, to find peaks of −3 dB or more, set Unit to "Decibels", Start to −3, End to 0, and Match to "In range". Note that it's easier to change the unit before entering the range. Peaks can also be located via the Find Clipping command, which has different parameters and presents the results as a report.
Find Zero Crossing
This command moves the audio cursor and selection boundaries to the nearest zero crossings. Doing this prior to cutting or pasting helps to avoid discontinuities and obtain smooth transitions. Only positive crossings (i.e. from negative to positive) are considered. The shortcut is the Z key.
Metadata
An audio file may include information about the audio, known as metadata or tags. To display or edit metadata, use Edit/Metadata or Shift+M to launch the Metadata dialog. The dialog lists the name and value of each tag. To edit a tag, left-click its value. A popup edit control is displayed. To end the edit, press Enter or left-click outside the edit control. To end the edit and continue to the next tag, press Tab or the Down arrow; to continue to the previous tag, press Shift+Tab or the Up arrow. Press OK to close the dialog and save your changes.
WaveShop supports a fixed set of metadata, listed in the table below. Some file formats don't support metadata, or only support a subset of these tags. FLAC and MP3 support them all, and Ogg/Vorbis, WAV and AIFF support most of them. For MP3 files, both ID3V1 and ID3V2 tags are supported.
Name | ID3V2 | WAV |
---|---|---|
Title | TIT2 | INAM |
Copyright | TCOP | ICOP |
Software | TSSE | ISFT |
Artist | TPE1 | IART |
Comment | COMM | ICMT |
Date | TDRC | ICRD |
Album | TALB | IPRD |
License | TOWN | |
Track Number | TRCK | itrk |
Genre | TCON | IGNR |
This command toggles audio playback between the playing and paused states. Playing starts or resumes playback from the audio cursor position. Pausing is similar to stopping except that the audio isn't rewound. The keyboard shortcut for Play/Pause is the Space bar.
Note that only one document can be played at a time. To play a different document, you must first pause the currently playing document if any. However it's not necessary to activate (i.e. switch to) the playing document in order to pause it, because pause always affects the playing document, whether it's active or not. To play a different document:
Playback can be looped. Volume and pitch are controlled via the volume bar and pitch bar respectively. It's not necessary to pause before making an edit, because all editing commands automatically pause and resume playback if needed.
Stop
This command stops audio playback and rewinds the audio, i.e. moves the audio cursor back to the beginning of the audio. The shortcut for Stop is the S key. Stop always affects the playing document, whether it's active or not; see Play/Pause for details.
Rewind
This command moves the audio cursor back to the beginning of the audio, or if playback is looping, to the start of the loop. Unlike the Stop command, if the audio was playing, it continues to play. The shortcut for Rewind is the W key. Rewind always affects the playing document, whether it's active or not; see Play/Pause for details.
Loop
This command enables or disables audio looping. When looping is enabled, if a selection exists, the selection is repeated, otherwise the entire audio is repeated. When looping is disabled, reaching the end of the audio stops playback. The selection can be created, removed, or changed while the audio is looping, however note that this may cause audio artifacts, so it's recommended to lower the volume first. The shortcut for Loop is the L key.
Looping affects the behavior of the Rewind command: if looping is enabled and a selection exists, playback jumps to the start of the selection, otherwise it jumps to the beginning of the audio.
Record
This command records audio to a file. To start a recording, use Transport/Record, or press Ctrl+R. Alternatively you can use the Toolbar's record button. First the "Save Recording As" file dialog is displayed, prompting you to choose a file name and folder for the recording. Don't enter a file extension, as only .wav is supported. Press OK to continue.
Next the Record dialog is displayed, prompting you to specify other recording parameters, including the number of channels, sample rate (in Hertz), and sample size (in bits). The most common sample rates are included in the drop-down menu for convenience, but you can type any other non-zero value provided your audio hardware supports it. If you get a DirectSound "invalid parameter" error after changing one of these parameters, most likely your audio hardware doesn't support recording in the selected audio format.
Press "Start" to begin recording. Press "Stop" to stop recording and open the resulting file in WaveShop. Press "Pause" at any time to pause the recording, and "Resume" to resume it. To prevent accidental data loss, both "Stop" and "Pause" display a confirmation dialog.
Audio is captured from the currently selected record device. The meters on the right side of the dialog are continuously updated, and show the current and peak audio levels being received from the record device. Note that the Record dialog is resizable. If you're recording surround audio, you may want to enlarge the Record dialog, so you can see all of the meters at once.
If the audio source is active, but the record level meters don't show anything, check your connections. If there's a mixer dialog associated with your audio hardware, verify that the correct input is selected, and that its level is set appropriately. You may also want to check the OS audio settings, typically found in Settings/Sounds/Audio.
It's possible to record while playing along to an existing file, though some latency may occur. If you want the existing file to automatically start playing when you start recording, check the "Sync playback" option in the Record dialog. If you want the recorded audio to be automatically opened after recording stops, check the "Open recording" option.
Because WaveShop records directly to disk, the recording duration is only limited by available disk space. The recording size can exceed 4GB, and if it does, the output file is automatically converted from WAV format to RF64 format, in order to avoid WAV format's 4GB limit. The file extension remains .wav in this case, but WaveShop opens the file correctly regardless of the extension. Note however that it's possible to create a recording that WaveShop can't open because it won't fit in memory. This is more likely to occur with the 32-bit version of WaveShop.
It's recommended to record to a very fast disk, and to avoid using other applications while recording. For laptops, recording to an external drive may be preferable. If the disk can't keep up, the recording is aborted; see also record buffer size.
This command boosts or attenuates audio, i.e. makes it louder or quieter. If a selection exists, only the selection is amplified, otherwise the entire document is amplified. The command displays the Amplify dialog, which lets you specify the desired gain in decibels. Enter a positive gain for boost, or a negative gain for attenuation. To see what the new peak level would be, press the Tab key. To do the amplify, click OK or press Enter. If you're boosting enough so that the audio would be clipped, an orange CLIP indicator appears, and a warning message is displayed.
Delete Channel
This command removes a channel from an audio file. The command is only available from the view's context menu. To delete a channel, right-click anywhere within the target channel to display the context menu, and select Delete Channel. Channels can also be removed via the Format command.
Extract
This command separates the channels of a multi-channel audio file, by writing each channel to its own mono file. A folder dialog is displayed, allowing you to choose a destination folder for the output files. Each of the resulting files will have the same name as the original document, but with the channel number and name appended to it. To do the opposite, i.e. combine multiple channel files into a single multi-channel file, use Insert Channel.
Fade
This command fades audio, i.e. smoothly gradates its volume from one level to another. If a selection exists, only the selection is faded, otherwise the entire document is faded. The command displays the Fade dialog, which lets you specify the type of fade:
In | Fade from silence to full volume. |
Out | Fade from full volume to silence. |
Custom | Fade from one arbitrary level to another: in this case the starting and ending levels must be specified, in decibels. |
To make the fade logarithmic instead of linear, check the Logarithmic checkbox. To do the fade, click OK or press Enter.
Find Clipping
This command searches audio for clipping, i.e. peaks that were truncated to avoid exceeding the maximum level. If a selection exists, only the selection is searched, otherwise the entire document is searched. If any instances of clipping are found, they're reported in the results bar. Selecting an instance in the results bar moves the audio cursor to the start of the instance. This makes it easy to zoom into the instance and determine if it's problematic or not.
The command displays a dialog that lets you customize the search, by adjusting the start and stop thresholds, and the clipping level. Both thresholds are sample counts, defined in terms of the maximal sample (see below). The start threshold is the number of maximal samples in a row required to start a clipping instance. The end threshold is the number of non-maximal samples in a row required to end a clipping instance. Note that the existence of maximal samples doesn't necessarily imply that clipping occurred.
The clipping level is the level a sample must reach to be considered maximal, expressed in decibels. The default setting of zero means only samples "on the rails" (i.e. having the largest positive or negative value permitted by the audio format) are considered maximal. Reducing the clipping level lets you search for peaks instead of clips. For example, to find peaks that reach −3 dB, set clipping level to −3. Peaks can also be located via the Find/Find Next commands.
Format
This command lets you change the format of an audio file, including its number of channels, sample rate, and sample size. If the channel count is increased, empty channels are appended; if it's decreased, channels are removed at the end. To insert non-empty channels, or delete specific channels, use Insert Channel or Delete Channel respectively. Note that the audio is NOT resampled, hence changing the sample rate causes the audio to play at a different pitch. To avoid this, use the resample command instead. Changing the sample size simply shifts the samples left or right as needed; consequently, increasing the sample size (e.g. from 16-bit to 24-bit) is lossless.
Generate
The audio generator lets you synthesize a waveform according to parameters, explained below. All parameters can be fractional unless specified otherwise. Each generation creates a new document. Note that if you want to keep a generated document, you must save it via File/Save.
WARNING: GENERATED AUDIO MAY HAVE EXTREME FREQUENCIES AND LEVELS, SO TURN THE VOLUME DOWN BEFORE PLAYING IT, TO AVOID SPEAKER AND/OR HEARING DAMAGE.
The same waveform is output to all channels. To make an audio file with a different waveform in each channel, generate a series of mono files and then combine them using Insert Channel.
General | ||
---|---|---|
Channels | The number of audio channels; must be an integer. | |
Sample Rate | The audio's sample rate, in Hertz; must be an integer. | |
Sample Size | The audio's sample size, in bits; must be an integer. | |
Duration | The duration of the audio, in seconds. | |
Amplifier | ||
Volume | The waveform's volume, as a percentage. Values exceeding 100% may cause clipping. | |
Attack | The waveform's attack, as a percentage of its duration. At zero, the attack is instantaneous; at 100% it spans the entire waveform. The sum of attack and decay shouldn't exceed 100. | |
Decay | The waveform's decay, as a percentage of its duration. At zero, the decay is instantaneous; at 100% it spans the entire waveform. The sum of attack and decay shouldn't exceed 100. | |
Logarithmic fade | If checked, the attack and decay are logarithmic, otherwise they're linear. | |
Oscillator (Carrier and Modulator) | ||
Waveform | The oscillator waveform: options are Triangle, Sine, Ramp Up, Ramp Down, Square, Pulse, Random, and Random Ramp. | |
Frequency | The oscillator frequency in Hertz. This shouldn't exceed half the sample rate. | |
Pulse Width | For pulse waveforms only, the pulse width or duty cycle, as a percentage. 0% is all negative, 100% is all positive, and 50% yields a square wave. | |
Phase | The initial phase of the waveform, in degrees. | |
DC Bias | The DC offset or bias, as a signed percentage. At 100%, the origin is the positive rail; at −100%, it's the negative rail. | |
Modulation | ||
Modulation Type | This parameter determines how the modulator affects the carrier. | |
None | The modulator has no effect. | |
Frequency | The modulator changes the carrier's frequency. At 100% depth, the range is +/- an octave; at 50% it's +/- a tritone. | |
Amplitude | The modulator changes the carrier's amplitude. At 100% depth, the range is from silence to full volume. | |
Pulse Width | The modulator changes the carrier's pulse width; this only works if the carrier's waveform is Pulse. | |
Depth | The amount of modulation, as a percentage. Behavior depends on the type of modulation, see above. |
To generate a frequency sweep, first select the desired audio format via the General parameters, and then press the Sweep button to launch the Sweep dialog, which lets you specify the sweep's starting and ending frequencies, duration in seconds, and waveform. Press OK to generate the sweep. Note that sweep generation overwrites the following parameters: Carrier Frequency, Modulator Frequency, Modulator Waveform, Modulation Type, and Modulation Depth.
Insert Channel
This command inserts the channel(s) of one or more audio files into the current document. This lets you create a multi-channel file by combining source files. Note that a source file needn't be mono; it can also be multi-channel, in which case all of its channels are inserted. The command is available from both the Audio menu and the view's context menu. If you use the Audio menu, the source channels are appended to the document. To specify an insert position, i.e. the channel before which the source channels should be inserted, use the context menu, as follows: right-click anywhere within the target channel to display the context menu, and select Insert Channel. In either case you're prompted to select the source file(s). Note that the file dialog allows multiple files to be selected, making it easy to insert many channels at once. Files are processed in alphabetical order. To do the opposite, i.e. separate the channels of a multi-channel file, use Extract.
Invert
This command inverts audio, so that all negative samples become positive and vice versa. If a selection exists, only the selection is inverted, otherwise the entire document is inverted.
Normalize
This command normalizes audio to a specified maximum level. It can normalize the channels together or individually, and can optionally correct DC offset (bias). If a selection exists, only the selection is normalized, otherwise the entire document is normalized. The command displays the Normalize dialog, which provides the following options:
Remove DC offset | Check this option to correct DC offset. This is done (for each channel) by summing the samples, and then subtracting the resulting sum from each sample. |
Normalize to | Check this option to normalize the audio. The audio is normalized to the specified peak level, in decibels, which can't exceed zero. Note that it's possible to correct DC offset without normalizing, and vice versa. |
Normalize channels independently | If this option is checked, each channel is independently scaled to reach the peak level, potentially changing its volume relative to other channels. Otherwise only the loudest channel reaches the peak level, and the others are scaled proportionally, in order to preserve the channels' volume relationships. |
This command displays peak statistics for the selected audio, or if no selection exists, for the entire document. The statistics include the minimum and maximum samples, the peak level in decibels, and the DC bias. Separate statistics are kept for each channel.
To locate a minimum or maximum sample in the audio, right-click the value of interest, and select Go to on the resulting context menu. This moves the audio cursor to the first matching sample. Note that when you right-click, both the row and the column matter: the row specifies which channel to search, and the column (Min Sample or Max Sample) specifies which extreme to locate.
Resample
This command does sample rate conversion by resampling the audio. The conversion doesn't alter the audio's pitch, unlike the format command, which changes the sample rate without resampling. The command displays a dialog that lets you select the new sample rate and the conversion quality. "Best" is the highest quality and is strongly recommended. Note that resampling is lossy.
Function | SNR | Bandwidth | |
---|---|---|---|
Best | sinc | 97 dB | 97% |
Medium | sinc | 97 dB | 90% |
Fastest | sinc | 97 dB | 80% |
This command reverses audio, as in making it play backwards. If a selection exists, only the selection is reversed, otherwise the entire document is reversed.
RMS Statistics
This command displays RMS statistics for the selected audio, or if no selection exists, for the entire document. The statistics include the minimum, maximum, average, and total RMS level. Separate statistics are kept for each channel. The dialog has two pages, selectable via tabs; one of them lists the RMS statistics, while the other plots an RMS histogram. For the histogram, the Channel drop list in the upper-right corner selects which channel is on top. Several options are provided, as follows:
Account for DC | Check this option to correct for DC offset before computing the RMS statistics. |
0 dB level | This option calibrates 0 db to either a full-scale sine wave, or a full-scale square wave. Selecting FS Sine increases all RMS statistics by 3.02 dB. |
Window size | This specifies the size of the sliding window, in milliseconds. The sliding window affects the minimum, maximum, and average statistics, and the histogram, but has no effect on total RMS. Larger sizes generally give smoother results. |
Refresh | Press this button to recalculate the statistics after changing one or more of the above options. |
This command brings up the Speakers dialog, which lets you assign surround speakers to a multi-channel audio file. The speakers are named according to the DirectSound specification. To assign a speaker, check the checkbox to the left of its name. Checked speakers are assigned to the available channels in order, from top to bottom. If any assignments are made, the number of assigned speakers should match the number of channels, and if this isn't the case, a warning is given.
If no speakers are assigned, a default assignment is made. For stereo audio, the default assignment is normally left/right, but behavior may vary depending on the audio device. Speakers can be assigned regardless of whether they actually exist in your audio setup.
Spectrum
This command analyzes the frequency spectrum of audio, via a Fast Fourier Transform (FFT). The result is displayed as a plot in which the horizontal axis is frequency in Hertz, and the vertical axis is amplitude in decibels. The FFT output can also be exported to a tab-delimited text file, using the Export button. For real-time analysis, use the spectrum bar instead.
If a selection exists, only the selection is analyzed, otherwise the entire document is analyzed. The analysis has various parameters, described below. After changing one or more parameters, press the Refresh button (or Alt-R) to re-compute the FFT and update the plot. It's not necessary to refresh after changing Frequency Axis or View, because they don't require re-computing the FFT.
Window Function | This selects which window function to apply to the audio prior to the FFT, to reduce spectral leakage. All are bell-shaped or triangular, except for the rectangular window. |
Window Size | This is the size of the FFT, in sample frames. Larger values give increased spectral resolution (more frequency bands), which is helpful when analyzing low frequencies. |
Frequency Axis | This determines whether the plot's frequency axis is has a linear or logarithmic scale. A logarithmic scale allocates more space (visually) to low frequencies. |
Channel Mode | This determines how multi-channel audio is handled. Select "Combine" to sum all channels prior to analysis, or "Separate" to analyze each channel individually. |
View | If channel are analyzed separately (see above), this option lets you select a single channel to show in the plot, or select "ALL" to view all channels at once. |
Frequency Range | To limit the plot to a particular frequency range, uncheck "Auto" and enter the start and end frequencies in Hertz. To restore the default range, recheck "Auto". Note that the frequency range controls may be hidden if the dialog is too narrow. In this case, widen the dialog until they're visible. |
The plot has a tooltip, which displays the frequency and amplitude of the nearest data point. The tooltip appears when the mouse cursor is positioned on or near a data point (or the line between two data points), and held there for half a second. Once the tooltip is shown, if the cursor is moved along the plotted line, the tooltip tracks the cursor and updates itself immediately. To hide the tooltip, left-click; it stays hidden until it's reset by moving the cursor outside the plot window, and then back.
Swap Channels
This command exchanges a pair of channels in a multi-channel audio file. For stereo audio, the left and right channels are swapped. For audio with more than two channels, the Swap Channels dialog is displayed, which lets you choose the pair of channels to be swapped. If a selection exists, the channels are swapped within the selection only, otherwise they're swapped throughout the entire document.
WaveShop supports equalization, limiting, compression, and other audio effects, via LADSPA plugins. The plugins included in the WaveShop download are Windows ports of Steve Harris' LADSPA plugins, and include filters (DJ EQ, triple parametric EQ, high pass, low pass, band pass), a limiter, and mono and stereo compressors. Only a small subset of Steve's plugins are included, but the entire set of 92 plugins is available from the WaveShop website, in both 32-bit and 64-bit versions; see Getting more plugins.
To use a plugin, select it from the Plugin menu. You may want to select a portion of the audio first, otherwise the plugin will be applied to the audio's entire duration. For multi-channel audio, you may also want to select which channel(s) the plugin should operate on. Channel selection is straightforward for mono plugins, but more complicated for other types of plugins; see Plugins and channels.
Selecting a plugin causes WaveShop to display the Plugin Parameters dialog, which lets you change the plugin's parameters. To change a parameter, either adjust its slider control, or type a new value in its edit control and press Tab or Shift+Tab. The range shown for each parameter is only a hint; values outside the suggested range can be specified via the edit control. Plugin parameter changes are remembered during any given run of WaveShop. To reset the plugin's parameters to their default state, press the Parameters dialog's Reset button. Once the plugin's parameters are set as desired, press OK to close the dialog and apply the plugin to the selected audio.
To preview a plugin, do as follows: Select a small portion of audio, and play it with looping enabled, so that it repeats. Now select the plugin from the Plugin menu, adjust its parameters as desired, and press OK to apply the plugin. If the result is unsatisfactory, undo (Ctrl+Z), and press Ctrl+L to repeat the last plugin. Now readjust the parameters and press OK again. Repeat this process of undoing, repeating, readjusting, and reapplying until the desired result is obtained. The smaller the audio selection, the more efficient this process will be.
Plugins and channels
Plugins can be divided into two types, based on the number of audio inputs and outputs they have: plugins with exactly one input and one output (mono), and plugins with any other I/O configuration (non-mono). WaveShop handles these two types of plugins differently with respect to channel selection.
For mono plugins, the plugin is simply applied to the selected channels, one at a time. Since all channels are selected by default, explicit channel selection is only necessary if you want to process channels differently. For example to EQ a stereo file's channels differently, two operations are required: first select the left channel only and apply the EQ, and then select the right channel only, and apply the EQ again, specifying different parameters.
For non-mono plugins, the number of selected channels must match the maximum of the plugin's input and output counts. In other words, whichever is bigger, the number of inputs or the number of outputs, is how many channels must be selected for a non-mono plugin.
For example, the stereo compressor plugin SC4 has two inputs and two outputs. This means stereo audio works "naturally" with SC4, in the sense that channel selection isn't necessary. Mono audio won't work however: the mono compressor (SC4 mono) must be used instead. SC4 can also handle surround audio, but in this case, channel selection is necessary: you must select two channels, otherwise you'll get the error message "Plugin SC4 requires 2 selected channels." Given a 5.1 surround file, you could select the Front Left and Front Right for example, or any other pair of channels. The selected channels needn't be adjacent.
Some plugins have asymmetric I/O configurations, i.e. more inputs than outputs or vice versa, and in such cases the following rules apply:
More inputs than outputs | The plugin reads and writes the first N selected channels, where N is the output count; the remaining selected channels are only read, and remain unmodified. |
More outputs than inputs | The plugin reads and writes the first N selected channels, where N is the input count; the remaining selected channels are only written, and their current contents are ignored. |
The following examples further illustrate asymmetric I/O behavior:
Plugin | Inputs | Outputs | Behavior |
---|---|---|---|
SC2 | 2 | 1 | Two channels must be selected. Both channels are used as input. The output overwrites the first channel, while the second channel remains unmodified. You may want to delete the second channel afterwards, by right-clicking it and selecting "Delete Channel". |
GVerb | 1 | 2 | Two channels must be selected. Of the two selected channels, only the first one is used as input; the plugin ignores the contents of the second channel, which can be empty. If your file is mono, simply add an extra empty channel to the file, by using the Format command to change the channel count from 1 to 2. Both channels are overwritten by the output. |
To get more plugins, download Steve Harris' LADSPA plugins from the WaveShop download page. Both 32-bit and 64-bit distributions are available, so be careful to download the appropriate one: 32-bit WaveShop only accepts 32-bit plugins, and 64-bit WaveShop only accepts 64-bit plugins. In theory WaveShop can use any LADSPA plugins, not just Steve's, but Windows LADSPA plugins are rare, and 64-bit versions even more so.
Additional plugins must be copied into the Plugins folder, which is normally a subfolder of the folder containing WaveShop.exe. A typical path is either "C:\Program Files\WaveShop\Plugins" for 64-bit, or "C:\Program Files (x86)\WaveShop\Plugins" for 32-bit. If the default Plugins folder scheme is inconvenient, it can be overridden by editing the registry: In the key HKEY_CURRENT_USER\Software\Anal Software\WaveShop\Settings, create a string value called PluginFolder, and set it to the desired folder path.
WaveShop determines what plugins are available during startup only. Consequently, if plugins are added to the Plugins folder while WaveShop is running, they won't be available until WaveShop is exited and restarted. Avoid deleting plugins from the Plugins folder while WaveShop is running, as this may cause errors. If WaveShop can't find at least one valid plugin during startup, the Plugin menu is hidden. A missing Plugin menu may also be symptomatic of having downloaded the wrong distribution, i.e. attempting to use 32-bit plugins in 64-bit WaveShop or vice versa.
Note that four of Steve's plugins depend on an additional library, libfftw3f-3.dll, which is included in the plugins distribution. To use any of these four plugins, libfftw3f-3.dll must also be copied into the Plugins folder, otherwise they will fail to load. The four FFTW-dependent plugins are:
Steve provides documentation for his plugins and their parameters. The WaveShop website also hosts a compact summary of Steve's plugins with links into his documentation, either sorted by filename, or sorted by input and output counts.
The toolbar provides buttons for the most frequently used commands. To show or hide the toolbar, use View/Toolbar.
Status bar
The status bar displays hints for the menus, and also shows the mouse cursor position in time coordinates. To show or hide the status bar, use View/Status Bar.
Transport bar
The transport bar contains the audio playback controls. To show or hide the bar, use View/More Bars/Transport Bar.
The navigation bar displays the audio cursor and the selection as numbers, and lets you edit them. Values are displayed in the current time format. The selection is normally shown as a starting and ending position, but it can also be shown as a starting position and a length, by pressing the Show Length button at the far right of the navigation bar.
To modify a value, left-click in its edit box, edit the existing value or type a new one, and press Enter or Tab. Once the navigation bar has focus, you can switch between its edit boxes via Tab and Shift+Tab. You can also use F6 to toggle between the view and the navigation bar. To show or hide the bar, use View/More Bars/Navigation Bar.
Volume bar
The volume bar contains a slider that controls WaveShop's playback volume. This slider only affects audio output from the current instance of WaveShop, and is distinct from the Windows volume control, or the equivalent control provided by your audio driver. The volume bar also includes a mute button, which lets you temporarily silence WaveShop without losing your volume setting. To show or hide the bar, use View/More Bars/Volume Bar.
Pitch bar
The pitch bar lets you adjust playback frequency, via slider or by entering a numeric value. The slider range is two octaves above or below. Shifts larger than two octaves can be specified using the edit box. Note that not all audio devices support pitch shift, and that the actual pitch shift range may be limited by the audio's sample rate. To reset to normal pitch, left-click in the pitch slider while holding down the Shift key, or type zero in the edit box and press Enter or Tab. Pitch shifts are represented as powers of 2, and some common values are given below. To show or hide the bar, use View/More Bars/Pitch Bar.
unison | 0 |
half step | 0.08333 |
whole step | 0.16666 |
minor third | 0.25 |
major third | 0.33333 |
fourth | 0.41666 |
tritone | 0.5 |
fifth | 0.58333 |
minor sixth | 0.66666 |
major sixth | 0.75 |
minor seventh | 0.83333 |
major seventh | 0.91666 |
octave | 1 |
This bar displays the results of commands such as find clipping. To show or hide the bar, use View/More Bars/Results Bar.
History bar
This bar shows the undo history for the current document, as a list of actions. It also provides a precise and conveniently automated way of undoing or redoing to any arbitrary state. To undo/redo to a given state, double-click the corresponding action, or use the cursor keys to select the action and then press Enter. During an undo/redo sequence, a progress dialog for the entire sequence is shown, in addition to any progress dialogs shown by individual actions. To show or hide the bar, use View/More Bars/History Bar.
Meter bar
This bar displays peak meters for the current document. Surround audio is fully supported by giving each channel its own meter. If there are too many meters to fit, widen the bar, or horizontally scroll the meters. The meters are only active while audio is playing, and only represent WaveShop's output, not your entire system's output. To show or hide the bar, use View/More Bars/Meter Bar. The meters have clip indicators, with adjustable sensitivity.
Spectrum bar
This bar is a real-time spectrum analyzer. It calculates the frequency spectrum of the currently playing audio, and displays the result as a dynamically updated plot in which the horizontal axis is frequency in Hertz, and the vertical axis is amplitude in decibels. To show or hide the bar, use View/More Bars/Spectrum Bar. For static analysis, use the spectrum command (Audio/Spectrum) instead.
The real-time analyzer's behavior and appearance are configurable, via the parameters on the Spectrum page of the options dialog. Some of these parameters are also accessible from the spectrum bar's context menu. The real-time analyzer supports various plot styles, and can optionally show peaks. Note that while the real-time and static analyzers have similar parameters, they're completely independent of each other and can be configured differently.
Channel bar
The channel bar is located on the left side of the view. It contains the channel rulers, which are vertical rulers for measuring and zooming amplitude. Each channel has its own channel ruler. The channels are normally vertically synchronized, but it's also possible to make them vertically independent. To show or hide the bar, use View/More Bars/Channel Bar.
Zoom In
This command increases time magnification, centered on the audio cursor. The amount of change is determined by the horizontal zoom step size option. The keyboard shortcut is Ctrl++.
Zoom Out
This command decreases time magnification, centered on the audio cursor. The amount of change is determined by the horizontal zoom step size option. The keyboard shortcut is Ctrl+-.
Fit in Window
This command resets time magnification so that the entire waveform fits horizontally within the window. The keyboard shortcut is Ctrl+0.
Fit Vertically
This command resets amplitude zoom and channel height. After this command, all channels have the same height, the origin is in the middle, and the audio fits vertically within the channel. All channels are also selected. The keyboard shortcut is Shift+0.
Use this command to open a new window with the same contents as the active window. You can open multiple document windows to display different parts or views of a document at the same time. If you change the contents in one window, all other windows containing the same document reflect those changes. When you open a new window, it becomes the active window and is displayed on top of all other open windows.
Cascade
Use this command to arrange multiple opened windows in an overlapped fashion.
Tile Horizontally
Use this command to arrange multiple opened windows as horizontal, non-overlapping tiles.
Tile Vertically
Use this command to arrange multiple opened windows as vertical, non-overlapping tiles.
Arrange Icons
Use this command to arrange the icons for minimized windows at the bottom of the main window. If there is an open document window at the bottom of the main window, then some or all of the icons may not be visible because they will be underneath this document window.
Window menu
WaveShop displays a list of currently open document windows at the bottom of the Window menu. A checkmark appears in front of the document name of the active window. Choose a document from this list to make its window active. The number preceding each document can be used as a keyboard shortcut: to choose the document, press Alt+W followed by the document's number. To cycle forward through all open documents, press Ctrl+F6, or Ctrl+Shift+F6 to cycle backward.
Use this command to display the help's table of contents and default topic.
WaveShop on the Web
Use this command to launch your web browser to WaveShop's home page.
Check for updates
Use this command to determine if a more recent version of WaveShop is available. If a newer version is available, you'll be asked whether you want to download and install it. For more information, see Automatically check for updates.
About
Use this command to display WaveShop's copyleft notice, version number, and license.
This option lets you customize the step sizes for time zoom (horizontal) and amplitude zoom (vertical). The step sizes affect zooming via mouse wheel, menus and keyboard shortcuts. They're expressed as percentages: a value of 200% means each step changes the magnification by 2x.
Show time in sample frames
This option controls how time (position within the audio) is displayed throughout WaveShop, e.g. on the time ruler and in the navigation bar. If this option is checked, time is displayed in sample frames, otherwise it's displayed in time format.
Vertically sync channels
This option determines whether channels are vertically synchronized, or independent, i.e. whether zooming amplitude affects all channels at once. When this option is checked, all channels have the same amplitude zoom and the same the origin y-coordinate. To zoom each channel's amplitude independently, uncheck this option.
Vertical zoom at cursor
This option determines whether zooming amplitude via mouse wheel (Shift+wheel) considers the mouse cursor position. If this option is checked, amplitude zoom centers on the mouse cursor's vertical position, and the origin moves as necessary. If it's unchecked, amplitude zoom centers on the origin, which stays fixed, and the mouse cursor position is ignored. This option has no effect on amplitude zooming via the channel rulers.
Highlight interpolation
This option determines whether interpolation is shown in a different color, making it easier to visually distinguish sample points from interpolation. The distinction becomes more meaningful the further you zoom in.
Show channel names
This option determines whether channel names are displayed in the view. Surround audio channels may display speaker names or channel numbers, depending on whether the channels have speakers assigned to them.
Automatically check for updates
This option determines whether WaveShop automatically checks for updates when it launches. If a newer version is available, you will be prompted with the message "A newer version of WaveShop is available. Do you want to download and install it?" The options are as follows:
Yes | Download and install | The newer version is downloaded and installed. |
No | Skip this version | The newer version is NOT downloaded, and no further notifications are given for this version, though you'll continue to be notified of subsequent versions. |
Later | Defer the update | The newer version is NOT downloaded, but you'll be notified about it again the next time you launch WaveShop. |
To disable automatically checking for updates, uncheck this option. Note that automatic checking costs you nothing in terms of performance, because it's done from a worker thread. Regardless of whether automatic checking is enabled, you can always manually check for a newer version via Help/Check for Updates.
WaveShop must exit before it can be reinstalled. The update procedure attempts to close WaveShop, however if there's an unsaved document, the update stalls until you respond to the "Save changes" dialog. In this case a console window will be visible, repeatedly displaying the message "Waiting for WaveShop to exit...".
Max density
This advanced option sets the maximum number of samples that will be computed per pixel when displaying audio. It lets you adjust the tradeoff between visual accuracy and speed. Increasing this value makes the view denser (and more accurate) when zoomed out, at the cost of reduced performance. Setting this value too low causes the view to appear sparse when zoomed out; setting it too high makes the user interface sluggish, particularly while zooming out or scrolling. The default is optimal for most situations. The further in you zoom, the less effect this option has.
Colors
This option displays the View Colors dialog, which lets you customize the colors that the view is drawn with. Each color has a corresponding button with a swatch indicating its current value. To change a color, press its button to display the color selection dialog, edit the color as desired, and press OK. Don't forget to also press OK in the View Colors and Options dialogs. The colors are as follows:
This option lets you specify the maximum number of edits that can be undone or redone. For unlimited undo, check Unlimited; otherwise, uncheck it, and enter the desired number of levels in the edit box. To disable undo, set the number of levels to zero. By default, undo is unlimited. Each open document has its own undo history. Undo states may be stored in memory or on disk, depending on the disk threshold. Note that lowering the number of undo levels while a document is open may truncate its undo history.
Disk threshold
This option determines whether the clipboard and undo history are stored in memory or on disk, thereby letting you adjust the corresponding tradeoff between speed and memory usage. When a chunk of audio is cut or copied to the clipboard, the chunk's size is compared to the disk threshold. If it's smaller than the threshold, the chunk is stored in memory, otherwise it's stored in a temporary file on disk. Similarly, when an undo state is generated, i.e. when a chunk of audio is backed up prior to modifying it, the chunk is either stored in memory or on disk, depending on whether its size exceeds the disk threshold.
The disk threshold is specified in MB (megabytes), and defaults to zero, which means that by default the clipboard and undo history are always stored on disk, regardless of their size. For 32-bit Windows users, it's recommended to leave the disk threshold zero, in order to maximize the amount of memory available for documents, buffers, and other objects that use memory unconditionally. 64-bit Windows users with plenty of physical memory (8GB or more) may want to experiment with a non-zero disk threshold, which can improve editing performance, at the cost of increased risk of running out of memory. One way to mitigate this risk is by limiting the number of undo levels.
A disk threshold of 10MB has little effect, because only clipboard/undo states up to a minute long (assuming CD-quality audio) utilize memory, and such small data transfers would be acceptably fast even on disk. A disk threshold of 100MB has a more noticeable effect, because now clipboard/undo states up to ten minutes long utilize memory, but the risk of exhausting memory also increases: ten such states could occupy a gigabyte of memory. A disk threshold of 1000MB (1GB) or more effectively forces the clipboard and undo history to always utilize memory. This isn't recommended unless 1) you're only editing small files, or only doing a small number of edits, 2) huge amounts of physical memory are available, or 3) you've limited undo to only a few levels.
Temporary files location
This option lets you specify the location of the folder WaveShop uses for all its temporary files. If "System default" is selected, WaveShop uses the system's temporary folder. To specify a different folder, select "Custom folder" and either enter the path of the desired folder in the edit box, or press Browse, navigate to the desired folder, and press OK.
WaveShop normally stores the clipboard and undo history in temporary files. These files can consume a considerable amount of disk space, particularly when editing big documents, editing many documents at once, or doing long sequences of edits. If the system temporary folder lacks sufficient free space, e.g. because the system is installed on a small partition, you should consider moving the temporary folder to different partition, or to a different drive. Note that if you move the temporary folder to an external drive, that drive must be accessible whenever WaveShop is used, and its drive letter must remain consistent. If the custom temporary folder is inaccessible, the error message "Temporary folder not found" is shown and the system temporary folder is used instead.
This option lets you select a DirectSound device driver for audio playback. The default is Primary Sound Driver, which is usually optimal. Note that if you connect a USB audio device while the options dialog is displayed, it won't appear in the driver list until you close and reopen the options dialog.
Playback buffer size
This option lets you adjust the size of the DirectSound playback buffer, in milliseconds. If the playback buffer is too small, playback may skip, stutter, or be distorted, due to buffer underrun. Increasing the buffer size makes underrun less likely, at the cost of increased latency, e.g. when starting or stopping playback or setting the audio position.
Record device
This option lets you select a DirectSound device driver for audio recording. The default is Primary Sound Capture Driver, which is usually optimal. Note that if you connect a USB audio device while the options dialog is displayed, it won't appear in the driver list until you close and reopen the options dialog.
Record buffer size
This option lets you adjust the size of the DirectSound recording buffer, in milliseconds. If the recording buffer is too small, the recording may fail with the error "Capture buffer overrun." This error usually indicates that the disk is unable to keep up with the recording, particularly when recording in a high resolution and/or surround audio format. In this case a larger buffer size may help. Increasing the buffer size causes WaveShop to write bigger chunks less often, and because disks are optimized for large sequential transfers, this may improve performance, at the cost of increased memory use.
The data rate needed for a given audio format is calculated as follows: Channels × (SampleSize / 8) × SampleRate. For CD-quality audio, the data rate is 2 × (16 / 8) × 44,100 = 176,400 bytes per second. Any current drive should be able to handle this data rate easily, unless there's excessive competition for the drive from other applications. Note however that more advanced audio formats can be significantly more demanding, e.g. 8 channels of 24-bit at 48KHz requires over 1MB/s.
MP3 import
This option sets the sample size for imported MP3 audio. The MPEG decoder has exceptional resolution and can output either 16-bit or 24-bit PCM. For the best quality, select 24-bit. Note that the decoder supports MPEG audio layers I, II, and III (AKA MP3).
AAC/MP4 import
These options set the sample size and downmix options for imported AAC/MP4 audio. The AAC decoder can output 16-bit, 24-bit or 32-bit PCM. For better quality, select a bigger sample size. The "Downmix to stereo" option determines how surround files are handled: if it's checked, files with more than two channels are downmixed to stereo, otherwise they're imported as surround.
VBR encoding quality
This option sets the Variable Bit Rate encoding quality, which is currently only used when writing Ogg Vorbis files. Larger values improve sound quality, at the cost of increased file size. The quality ranges from 0 (worst/smallest) to 100 (best/biggest), and defaults to 40.
Meter clip threshold
This option sets the sensitivity of clip detection in level meters, which appear in the meter bar and Record dialog. If a clip is detected on a given audio channel, that channel's clip indicator is set; the indication consists of a red rectangle behind the abbreviated channel name, which appears above the level meter. To reset a clip indicator, left-click it. To reset all clip indicators at once, Alt+left-click anywhere within the meter view.
The threshold is expressed in samples, and specifies the minimum number of consecutive samples that must be "on the rails" to be considered clipping. Note that a clip indication doesn't guarantee that peaks were truncated, it just means it's likely, particularly if the threshold is large. To disable meter clip detection, set the threshold to a huge number.
This option selects which window function the spectrum bar applies to audio prior to the FFT, to reduce spectral leakage. All functions are bell-shaped or triangular, except for the rectangular window.
Bartlett | triangular |
Blackman | higher-order generalized cosine |
Blackman Harris | higher-order generalized cosine |
Hamming | minimizes the nearest side lobe |
Hann (AKA Hanning) | classic raised cosine |
Rectangular | brick wall |
Welch | parabolic section |
This option selects the window size (in sample frames) of the spectrum bar's FFT. The window size determines the number of output frequency bands (AKA bins), and lets you control the inevitable trade-off between responsiveness (smaller windows) and spectral resolution (bigger windows). Bigger window sizes show more spectral detail, particularly for low frequencies, but at the cost of increased latency. See also averaging.
The number of output frequency bands equals the window size divided by two, so a window size of 1024 yields 512 output bands. The bands are equally spaced in terms of frequency, meaning they all have the same width, equal to the audio's sample rate divided by the window size. For a window size of 1024, and assuming CD audio, the bandwidth is 44,100 / 1024 = 43 Hz. The resulting latency is the reciprocal of the bandwidth, or 1 / 43 = 23 milliseconds in this case. 23 ms is responsive enough, but 43 Hz is poor resolution for bass frequencies. A window size of 4096 gives a bandwidth of 44,100 / 4096 = 10.8 Hz, considerably improving the resolution, but worsening the latency to 1 / 10.8 = 93 ms. Pick your poison.
Note that large window sizes (8192 or higher) may overload the CPU if a filled plot style is selected, potentially making WaveShop sluggish or unresponsive. If this occurs, reduce the window size or change the plot style to "Line".
Averaging
This option determines how many windows of audio are analyzed for each plot update in the spectrum bar. If averaging is zero, only one window is analyzed per update and averaging is effectively disabled; this maximizes responsiveness, but at the cost of jerkiness. If averaging is one, two windows (overlapped by 50%) are analyzed per update, resulting in a slightly smoother plot, for a small cost in terms of increased latency. Bigger averaging values make the plot smoother, but less temporally accurate.
Averaging interacts with window size to determine responsiveness. Even with averaging disabled, smaller window sizes still give better responsiveness (and worse spectral resolution) than larger ones. Note that a large averaging value combined with a large window size can cause excessive CPU overhead, particularly if a filled plot style is selected.
Plot style
This option selects the style of plot shown in the spectrum bar. Note that filled styles require much more CPU power than Line style, particularly for large window sizes.
Line | Series points are drawn as a polyline. |
Area | Series points are filled as a polygon. |
Outlined Area | Series points are filled as a polygon, and also drawn as a polyline. |
This option selects the type of frequency axis (linear or logarithmic) shown in the spectrum bar. A logarithmic scale allocates more space (visually) to low frequencies.
Channel mode
This option determines how the spectrum bar handles multi-channel audio. Select "Combine" to sum all channels prior to analysis, or "Separate" to analyze each channel individually.
Plot colors
This option lets you customize the colors of the plot background and grid in the spectrum bar. To edit a color, press its corresponding button.
Show peaks
This option determines whether the spectrum bar shows peaks, and in what style, as follows:
Off | Don't show peaks. |
Lines | Show peaks as lines. |
Dots | Show peaks as dots. |
The "Lines" style is more compatible with the "Area" and "Outlined Area" plot styles. If the plot style is "Line", it's recommended to show peaks as dots to avoid confusion. Peak persistence is configurable via the peak hold and peak decay settings.
Peak hold
This option determines the spectrum bar's peak hold time, in milliseconds. It's only relevant when peaks are being shown, i.e. when Show Peaks isn't "Off". The bigger the hold time, the longer peaks are held. If the hold time is zero, peaks aren't held, and begin decaying immediately. If the hold time is large (e.g. 10,000), peaks rarely or never decay, until the plot is reset. To reset the plot, use the Reset command in the Spectrum bar's context menu, or switch to a different document.
Peak decay
This option determines the spectrum bar's peak decay rate, in decibels per second. It's only relevant when peaks are being shown, i.e. when Show Peaks isn't "Off". A peak begins decaying when the peak hold time expires, and the bigger the decay rate, the more rapidly it decays. If the decay rate is zero, peaks don't decay, in which case they accumulate and persist until the plot is reset. To reset the plot, use the Reset command in the Spectrum bar's context menu, or switch to a different document.
WaveShop provides various methods for stopping and starting a recording, known as activation types:
Type | Summary | Description |
---|---|---|
Prompt | Fully interactive | The user is prompted for the output file name and folder, and then prompted for the audio format. Recording begins when the user presses the Start button in the Record dialog. If the user attempts to stop the recording, a confirmation prompt is displayed, and recording continues until the stop is confirmed. |
One touch | One-touch recording (OTR) | Recording begins immediately. The filename is generated automatically; the output folder and audio format are specified via the Record Options. Stopping is similarly immediate, i.e. stop confirmation is suppressed. This activation type is optimal for use with scheduled recording and hot keys. |
Sound | Sound-activated recording | Input levels are monitored, and recording only begins if the start trigger conditions are met. Recording ends when the stop trigger conditions are met, or when the Record dialog is closed. Multiple recordings may result. Filenames are generated automatically; the output folder and audio format are specified via the Record Options. Stop confirmation is suppressed. |
Fully interactive mode is obvious and foolproof, but potentially cumbersome, whereas OTR sacrifices control and safeguards for immediacy.
Scheduled recording
Scheduled recording is supported via the Windows Task Scheduler. To schedule a recording, create a Scheduled Task, and specify the /r argument on the WaveShop command line. This argument causes WaveShop to execute a record command immediately upon being launched. Note that the activation type still matters in this case: if it's "Prompt", it's automatically changed to "One touch", but if it's "Sound", it's left alone, allowing you to schedule a sound-activated recording.
This option lets you specify the audio format for recording. For one-touch and sound-activated recording, this is the only way to specify the format, but if the record activation type is "Prompt", the format can also be specified via the Record dialog. The audio format consists of a channel count, a sample rate in Hertz, and a sample size in bits. Note that your record device may only a support a limited set of audio formats.
This option lets you assign global (system-wide) hot keys to start and stop recording. Hot keys are intended for use with the "One-touch" record activation type. They're supported for other activation types, but probably won't be as useful. Note that WaveShop must be running to detect hot keys, though it can be minimized, and needn't be the foreground task.
To assign a hot key, first use the drop-list to select the target function ("Start" or "Stop"). Then focus the hot key control (to the right of the drop-list), by either left-clicking it, or pressing Tab. Now enter the desired key combination, and then move the focus elsewhere, by left-clicking a different control, or pressing Tab again. To delete an existing hot key assignment, press Delete or Backspace in the hot key control.
Hot key definitions must include at least one modifier key, i.e. Ctrl, Shift, or Alt. Multiple modifier keys (e.g. Ctrl+Shift) are permitted and strongly encouraged. Unmodified hot keys, and hot keys modified only by Alt are disallowed, to avoid conflicting with menus. Choose your hot keys carefully to avoid overriding WaveShop's shortcuts, and/or the shortcuts of other applications.
This option specifies the output folder for one-touch and sound-activated recording. It's only applicable when the record activation type is "One-touch" or "Sound". In both of these cases, the filename is generated automatically from the current date and time. If the activation type is "Prompt", the output folder and filename are specified via the "Save Recording As" dialog, so this option doesn't apply.
The folder path can be browsed for, or entered in the edit control. A relative path is permitted, but its interpretation depends on whether you're using the portable or installed version of WaveShop. In the portable version, it's relative to the application (i.e. the folder containing WaveShop.exe), whereas in the installed version, it's relative to the Application Data folder within the current user's profile.
This option specifies the conditions in which sound-activated recording starts and stops. It's only applicable when the record activation type is "Sound". Start and stop each have their own condition, consisting of an input level threshold in decibels, and a minimum duration in seconds. Recording begins if the input level (on any channel) reaches or exceeds the start threshold, for at least the start duration. Once started, recording continues until the input level (on all channels) falls below the stop threshold, for at least the stop duration.
The start condition defines "activity" or "signal", while the stop condition defines "inactivity" or "quiet". The stop duration is especially important because it determines how inconsistent input is handled. If the input contains quiet pauses, and the pauses are longer than the stop duration, the recording may be split into multiple files. To avoid this, increase the stop duration.
Audio format
Hot keys
Output folder
Triggers
Loose ends
Performance
WaveShop is unusually fast, because unlike many audio editors, it stores the entire document in memory, and performs all editing in memory. This speed comes at the cost of increased demand for memory however, which is why users are strongly encouraged to use the 64-bit version if possible.
Many audio editors were designed around the limitations of 32-bit Windows, and consequently store audio primarily on disk, swapping it in and out of memory in small chunks as needed. This bottleneck increases complexity and reduces performance, needlessly given current technology. WaveShop assumes that 64-bit Windows is here to stay, that machines with at least 8GB of memory are already common and will become more so, and that 32-bit limits will soon go the way of floppy disks.
By default, the clipboard and undo history are stored on disk, however you can opt to store them partially or entirely in memory in order to increase performance; see disk threshold for details. Note that this increases the risk of running out memory, and is definitely not recommended for 32-bit users.
Users of 32-bit Windows should avoid running other apps simultaneously with WaveShop, and may want to try adding the /3GB startup switch to their Startup Options (boot.ini). This switch squeezes the OS into 1GB, thereby potentially making as much as 3GB available to applications, though your mileage may vary.
Bit-perfect
The philosophy of bit-perfect editing can be summarized as "don't touch the bits unless you have to." More formally, a bit-perfect editor passes the round-trip test, which is: open a document, and without changing anything, save it as a different name, and then use a binary comparison tool to verify that the copy is identical to the original. WaveShop passes the round-trip test, and care has been taken to ensure that edits are as non-destructive as possible, meaning that if a subset of an audio file is edited, the remainder is untouched. This makes WaveShop ideal for patching finished masters and similar work.
The following editing commands either don't alter the samples, or do so in a way that's entirely reversible:
To save the current document as MP3, use File/Save As, change the Save As dialog's "Save as type" to MP3, and press the Save button. Note however that the first time you do this, WaveShop will likely display the Missing Library dialog, containing this message: "A library is missing, and must be located on your computer, or downloaded and then located." This occurs because the MP3 encoder (LAME) is NOT included in the WaveShop download.
The needed library is libmp3lame.dll. If you already have it, and know where it is, use the Browse button to locate it. An Open file dialog is displayed. Navigate to the appropriate folder, select the DLL, and press the Open button. If the DLL is acceptable, the MP3 Encoder Configuration dialog appears.
If you think you have the DLL but don't know where it is, use the Search button to search your hard drives for it. This might take a while, depending on how many drives you have and how full they are. If the DLL is found, you'll get a confirmation prompt; press Yes to proceed. Again, if the DLL is acceptable, the MP3 Encoder Configuration dialog appears.
If you don't have the DLL, press the Download button, which launches your web browser and directs it to RareWares, where the DLL is hopefully available. The minimum acceptable version is 3.99.5. Note that the LAME DLL shows a slightly different version number in Windows (via Explorer, right-click, Properties, Version tab), with four levels instead of three, as in 3.99.2.5. If you're using the 64-bit version of WaveShop, be sure to take the x64 package, otherwise take the x86 package. Also you want the "standard" version, not the "INI File Setup" version. Download the package, unzip it, and move the DLL somewhere sensible (see below). Then locate it from WaveShop, using the Missing Library dialog's Browse or Search, as described above.
The recommended location for the LAME DLL depends on whether you're using the portable version of WaveShop (e.g. from a flash drive), or the installed version, as follows:
Portable version | Put the DLL in the same folder as WaveShop.exe. |
Installed version | If possible, put the DLL in the same folder as WaveShop.exe (typically "C:\Program Files\WaveShop"), but Windows may not allow this without administrator privileges. If you must put it somewhere else, make it somewhere obvious and permanent. Avoid leaving the DLL in a "downloads" folder or temporary folder, where it could get unintentionally deleted the next time you clean up your hard drive. |
MP3 Encoder Configuration dialog | ||
---|---|---|
Algorithm | This option sets LAME's internal algorithm quality. Unless you're very impatient, always use High Quality. Speed kills. | |
Bit Rate Mode | This option selects one of three methods for limiting the bit rate and size of the output file. | |
Constant Bit Rate | CBR encodes every frame at the specified target bit rate. CBR is the least efficient mode, and is only recommended in streaming situations where the upper bit rate must be strictly enforced. | |
Average Bit Rate | ABR maintains the specified target bit rate on average, but uses more bits for complex passages and less bits for simple ones, thereby achieving better quality than CBR for the same file size. | |
Variable Bit Rate | VBR encoding varies the bit rate similarly to ABR, but targets a specified quality level, instead of a bit rate. The output file size is less predictable than with ABR, but the quality is usually better. | |
Bit Rate | The target bit rate, in kbps; used in CBR and ABR modes. | |
Quality | The target quality level; only used in VBR mode. |
AAC (MP4 Audio) | AIFF (Apple/SGI) | AU (Sun/NeXT) | AVR (Audio Visual Research) | CAF (Apple Core Audio File) | FLAC (Free Lossless Audio Codec) | HTK (HMM Tool Kit) | IFF (Amiga IFF/SVX8/SV16) | MAT4 (GNU Octave 2.0 / Matlab 4.2) | MAT5 (GNU Octave 2.1 / Matlab 5.0) | MPC (Akai MPC 2k) | MP3 (MPEG Audio) | OGG (OGG Container format) | PAF (Ensoniq PARIS) | PVF (Portable Voice Format) | RAW (header-less) | RF64 (RIFF 64) | SD2 (Sound Designer II) | SDS (Midi Sample Dump Standard) | SF (Berkeley/IRCAM/CARL) | VOC (Creative Labs) | W64 (SoundFoundry WAVE 64) | WAV (Microsoft) | WAV (NIST Sphere) | WAVEX (Microsoft) | WVE (Psion Series 3) | XI (FastTracker 2) | |
Signed 8 bit PCM |   | R/W | R/W | R/W (M/S) | R/W | R/W |   | R/W (M) |   |   |   |   |   | R/W | R/W | R/W |   | R/W | R/W (M) |   |   |   |   | R/W |   |   |   |
Signed 16 bit PCM | R | R/W | R/W | R/W (M/S) | R/W | R/W | R/W (M) | R/W (M) | R/W | R/W | R/W (M/S) | R/W (M/S) |   | R/W | R/W | R/W | R/W | R/W | R/W (M) | R/W | R/W | R/W | R/W | R/W | R/W |   |   |
Signed 24 bit PCM | R | R/W | R/W |   | R/W | R/W |   |   |   |   |   | R/W (M/S) |   | R/W |   | R/W | R/W | R/W | R/W (M) |   |   | R/W | R/W | R/W | R/W |   |   |
Signed 32 bit PCM | R | R/W | R/W |   | R/W |   |   |   | R/W | R/W |   |   |   |   | R/W | R/W | R/W |   |   | R/W |   | R/W | R/W | R/W | R/W |   |   |
Unsigned 8 bit PCM |   | R/W |   | R/W (M/S) |   |   |   |   |   | R/W |   |   |   |   |   | R/W | R/W |   |   |   | R/W | R/W | R/W |   | R/W |   |   |
32 bit float |   | R/W | R/W |   | R/W |   |   |   | R/W | R/W |   |   |   |   |   | R/W | R/W |   |   | R/W |   | R/W | R/W |   | R/W |   |   |
64 bit float |   | R/W | R/W |   | R/W |   |   |   | R/W | R/W |   |   |   |   |   | R/W | R/W |   |   |   |   | R/W | R/W |   | R/W |   |   |
U-Law |   | R/W | R/W |   | R/W |   |   |   |   |   |   |   |   |   |   | R/W | R/W |   |   | R/W | R/W | R/W | R/W | R/W | R/W |   |   |
A-Law |   | R/W | R/W |   | R/W |   |   |   |   |   |   |   |   |   |   | R/W | R/W |   |   | R/W | R/W | R/W | R/W | R/W | R/W | R/W (M) |   |
IMA ADPCM |   | R/W (M/S) |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M/S) | R/W (M/S) |   |   |   |   |
Microsoft ADPCM |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M/S) | R/W (M/S) |   |   |   |   |
GSM 6.10 |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |   |   |   |   |   | R/W (M) | R/W (M) |   |   |   |   |
32kbs G721 ADPCM |   |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |   |   |   |   |
24kbs G723 ADPCM |   |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
12 bit DWVW |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |
16 bit DWVW |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |
24 bit DWVW |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |
VOX ADPCM |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |   |   |   |   |   |   |   |   |   |   |   |
16 bit DPCM |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |
8 bit DPCM |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | R/W (M) |
Vorbis |   |   |   |   |   |   |   |   |   |   |   |   | R/W |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
Legend | |||
---|---|---|---|
I/O Support | Surround Support | ||
R | Read | (M) | Mono only |
W | Write | (S) | Stereo only |
R/W | Read/Write | (M/S) | Mono/Stereo only |
  | Unsupported |   | Surround OK |
Ctrl+0 | Fit in Window | Fit entire duration in window |
Shift+0 | Fit Vertically | Reset vertical zoom and channel heights |
Ctrl+= | Zoom In | Increase time magnification |
Ctrl+- | Zoom Out | Decrease time magnification |
[ | Start Selection | Begin selection at cursor position |
Ctrl+[ | Go to Selection Start | Move cursor to start of selection |
Ctrl+\ | Go to Cursor | Scroll as needed to make cursor visible |
] | End Selection | End selection at cursor position |
Ctrl+] | Go to Selection End | Move cursor to end of selection |
Ctrl+A | Select All | Select the entire document |
Ctrl+C | Copy | Copy the selection and put it on the Clipboard |
Ctrl+E | Export Audio | Save audio in other formats |
Ctrl+F | Find | Find sample matching specified criteria |
L | Loop | Toggle audio looping |
Ctrl+L | Repeat Last Plugin | Repeat most recently used plugin |
Shift+M | Metadata | Edit the metadata |
Ctrl+N | New | Create a new document |
Ctrl+O | Open | Open an existing document |
Shift+O | Edit Options | Edit the options |
Ctrl+R | Record | Start or stop recording |
S | Stop | Stop the audio |
Ctrl+S | Save | Save the active document |
Ctrl+V | Paste | Insert Clipboard contents |
Alt+Backspace | Undo | Undo the last action |
Delete | Delete | Delete the selection |
Shift+Delete | Cut | Cut the selection and put it on the Clipboard |
Ctrl+End | Go to Last Frame | Move cursor to end of document |
Esc | Deselect | Cancel the current selection |
F3 | Find Next | Find next matching sample |
F6 | Next Pane | Switch to the next window pane |
Shift+F6 | Previous Pane | Switch back to the previous window pane |
Ctrl+F6 | Next Document | Activate the next MDI child window |
Ctrl+Shift+F6 | Previous Document | Activate the previous MDI child window |
Ctrl+Home | Go to First Frame | Move cursor to beginning of document |
Insert | Insert | Insert one or more audio files |
Ctrl+Insert | Copy | Copy the selection and put it on the Clipboard |
Alt+Insert | Insert Silence | Insert silence at the current position |
Shift+Insert | Paste | Insert Clipboard contents |
Space | Play/Pause | Play or pause the audio |
W | Rewind | Rewind the audio |
Ctrl+X | Cut | Cut the selection and put it on the Clipboard |
Ctrl+Y | Redo | Redo the previously undone action |
Z | Find Zero Crossing | Move cursor and selection to nearest zero crossing |
Ctrl+Z | Undo | Undo the last action |
Ctrl+Tab | Next Document | Activate the next MDI child window |
Ctrl+Shift+Tab | Previous Document | Activate the previous MDI child window |