# Audacity Plugins

This site features download links to various plugins for Audacity, which can be used to extend Audacity's functionality to better match your workflow.

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>Pitch and Tempo plugins</td><td></td><td><a href="/pages/aYla9Iojyt65qd2RlESM">/pages/aYla9Iojyt65qd2RlESM</a></td></tr><tr><td></td><td>Delay and Reverb plugins</td><td></td><td><a href="/pages/XKfDOOP6lbtDbrtGmZnS">/pages/XKfDOOP6lbtDbrtGmZnS</a></td></tr><tr><td></td><td>Distortion plugins</td><td></td><td><a href="/pages/5XEXqq12rwbvGz405X4Q">/pages/5XEXqq12rwbvGz405X4Q</a></td></tr><tr><td></td><td>Dynamics Processing plugins</td><td></td><td><a href="/pages/YwDUsnf66zVDXhpNvs5f">/pages/YwDUsnf66zVDXhpNvs5f</a></td></tr><tr><td></td><td>Filter plugins</td><td></td><td><a href="/pages/z4q4s561QFHuWkVnF86E">/pages/z4q4s561QFHuWkVnF86E</a></td></tr><tr><td></td><td>Equalizer plugins</td><td></td><td><a href="/pages/Z04T8rJbXP12ZOqL9b3H">/pages/Z04T8rJbXP12ZOqL9b3H</a></td></tr><tr><td></td><td>Modulation plugins</td><td></td><td><a href="/pages/mBrGmfbDXGGxn7cdQ7qV">/pages/mBrGmfbDXGGxn7cdQ7qV</a></td></tr><tr><td></td><td>Noise Removal and Repair plugins</td><td></td><td><a href="/pages/RBl8ug4ucGq7tvk8sM18">/pages/RBl8ug4ucGq7tvk8sM18</a></td></tr><tr><td></td><td><strong>Plugin Suites</strong></td><td>Recommended: <a href="/pages/53PJ7oMvF85TI6bGHeMz#muse-fx">MuseFX</a></td><td><a href="/pages/53PJ7oMvF85TI6bGHeMz">/pages/53PJ7oMvF85TI6bGHeMz</a></td></tr><tr><td></td><td>AI plugins</td><td></td><td><a href="/pages/cMYmcFVAx8OjOSfMoNvV">/pages/cMYmcFVAx8OjOSfMoNvV</a></td></tr></tbody></table>

On this site you can find download links for [equalizer plugins](/realtime-effects/equalizers), [filter plugins](/realtime-effects/filters), [delay and reverb plugins](/realtime-effects/delay-and-reverb), and more. If you'd like to download many plugins at once, you also can try entire [plugin suites](/realtime-effects/plugin-suites).

{% hint style="success" %}
All plugins in the **realtime effects** section can be used instantly and non-destructively from the effects panel in Audacity.

This means that you can change the effect settings while playing, and come back to your settings after doing many other things - without the need to undo anything, or to wait for the effect to be applied to the track.
{% endhint %}

Further information about using realtime effects can be found here:

{% embed url="<https://support.audacityteam.org/audio-editing/using-realtime-effects>" %}

## Installing plugins

When you install plugins, they're automatically enabled the next time you restart Audacity. Alternatively, you can also locate and enable them via **Effect -> Plugin Manager -> Rescan Plugins**. Further instructions can be found here:

{% embed url="<https://support.audacityteam.org/basics/installing-plugins>" %}

## Popular plugins

* [Analysis plugins](/analyzers/analysis-plugins#acx-check), a plugin to check if an audio book complies with the ACX guidelines
* [**MuseFX**](/realtime-effects/plugin-suites#muse-fx), an effects library from Audacity's sister project.
* [**FFmpeg**](https://support.audacityteam.org/basics/installing-ffmpeg), a library to import and export various media formats such as M4A, WMA and MP4.

## Contributing to this site

{% hint style="success" %}
If you want to add your own plugin, or one that you found on the web, read the [contributing instructions](/contributing/adding-plugins-to-this-site).
{% endhint %}

## Plugin formats supported by Audacity

### Nyquist plugins

Audacity has built-in support for Nyquist effects on all operating systems. You can download additional Nyquist plugins, or create your own using the [Nyquist programming language](http://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference). Nyquist code can be conveniently tested using "[Nyquist Prompt](http://manual.audacityteam.org/man/nyquist_prompt.html)" under the Effect menu.

### **LV2 plugins**

Audacity has built-in support for [LV2](http://lv2plug.in/) plugins, which are an extensible successor of LADSPA effects. LV2 plugins are mostly built for Linux, but Audacity supports LV2 on all operating systems. To install LV2 plugins, place them in the [system LV2 location](http://manual.audacityteam.org/man/effect_menu.html#LV2_effects) then use the Plugin Manager to enable the new plugins as in the plugin installation instructions.

### **VST plugins**

Audacity can load VST effects (but not VST instruments) on all operating systems.

### VST3 plugins

Starting with Audacity 3.2, VST3 effects are also supported on all operating systems.

### Audio Unit plugins

On Mac OS X only, you can add [Audio Unit](http://wiki.audacityteam.org/wiki/Audio_Units) plugins to the [system plugin directories](http://manual.audacityteam.org/man/effect_menu.html#add_audio_unit).

### LADSPA plugins

LADSPA is superseded by LV2. These plugins are mostly built for Linux.

## Other sources

This site is only meant as a starting point for effects. There are many more plugins, particularly VST3 ones, available on various vendor sites, directories and online stores. Some of them are listed below:

* [Hitsquad](http://www.hitsquad.com/): [Windows](http://www.hitsquad.com/smm/win95/PLUGINS_VST/), [Mac](http://www.hitsquad.com/smm/mac/PLUGINS_VST/)
* [KVR Audio](http://www.kvraudio.com/): [Windows](http://www.kvraudio.com/q.php?search=1\&os\[]=win32\&ty\[]=e\&f1\[]=vst\&pr\[]=f\&sh\[]=s), [Mac](http://www.kvraudio.com/q.php?search=1\&os\[]=mac32\&ty\[]=e\&f1\[]=vst\&pr\[]=f\&sh\[]=s)
* [plugins4free](https://plugins4free.com/)


# Plugin Suites

Families of plugins by the same authors

## Muse FX

A collection of essential effects. Contains a **Chorus**, **Compressor**, **De-esser**, **Delay**, **Master**, **Noise Gate**, **Pitch Fix**, **Reverb**, **Rotary**, and two **EQ effects**.

MuseFX is a free and expanding collection of high quality plugins for Audacity, MuseScore 4 and any VST3 compatible host. MuseFX brings the tools you need to elevate your mix to a higher level.

{% embed url="<https://www.musehub.com/>" %}
Download Muse hub
{% endembed %}

<figure><img src="/files/G0JQrSJ0ATBunAibCqpx" alt=""><figcaption><p>MuseFX can be downloaded from the "Effects" tab in the Muse Hub</p></figcaption></figure>

## Available for all platforms

### GVST

A set of simple VST effects, most known for the GSnap (auto-tune) effect.

{% embed url="<https://www.gvst.co.uk/packages.htm>" %}
Download page
{% endembed %}

## Available for Windows and macOS

### MFreeFXBundle

A collection of 37 effects in categories like Analysis, Saturation & distortion, Dynamics, Equalization, Mastering, Mixing, Pitch and others.

{% embed url="<https://www.meldaproduction.com/MFreeFXBundle>" %}
Download page
{% endembed %}

### ToneBoosters

Powerful plugins for any type of audio mixing: eq, dynamics, reverb, and more.&#x20;

{% embed url="<https://www.toneboosters.com/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

"Demo" mode is fully functional except for preset saving. You can use Audacity's preset system instead.

What is Included:

* Barricade 4 : Limiter
* BitJuggler : Sampler / Processor
* Compressor 4 : Dynamics processor
* Dual VCF : non-linear filters
* Enhancer : preset filter eq
* Equalizer 4: Digital remasterd Anolog dynamic eq
* Flowtones : synthesizer
* GonioMeter : Stereo Image Analyzer
* MBC : Multiband Compression and saturation
* Morphit : Headphones correction and personalization
* ReelBus 4 : Magnetic tape recording, echo and flanger simulator
* Reverb 4 : Lush reverberation and shimmer
* Sibalance 4 : Spectral de-esser and harshness remover
* Spectogram : Insightful time and frequency visualization
* VoicePitcher 4 : Vocal doubling, pitch shifting and freezing effect

</details>

### Kilohearts Essentials

Kilohearts Essentials is free collection of 30+ plugins.

{% embed url="<https://kilohearts.com/products/kilohearts_essentials>" %}
Download page (requires registration)
{% endembed %}

## Available for Windows only

### Reaplugs

A selection of some effects found in Reaper.

{% embed url="<https://www.reaper.fm/reaplugs>" %}
Download page
{% endembed %}

### Intel OpenVINO

Music separation, remix and generation, noise suppression, and transscription

{% embed url="<https://github.com/intel/openvino-plugins-ai-audacity/releases>" %}
Download page
{% endembed %}

## Available for macOS

{% hint style="info" %}
MacOS already ships with a range of Audio Unit effects which you can try out
{% endhint %}

## Available for Linux

### swh Plugins

A set of LADSPA effects. They can be found in most Linux repositories.

{% embed url="<http://plugin.org.uk>" %}

### Calf Studio Gear

An LV2 plugin suite featuring a wide array of plugins for audio mixing and mastering. As of version 0.90.0 there are 47 plugins in the suite.

Note: The virtual instruments included are not supported in Audacity.

The Calf plugins can be found in the repositories of most Linux distributions, additionally, compilation instructions can be found here:

{% embed url="<https://calf-studio-gear.org/#install>" %}


# Pitch and Tempo

## MuseFX PitchFix

An easy to use pitch correction/snapping/autotune effect. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

Has modes optimized for male/female voices and more, and can snap to major, minor and even more rare scales (eg Lydian).

<img src="/files/b5lec7roj6c3TgoqDx5a" alt="" data-size="original">

</details>

## MAutoPitch <a href="#mwavefolder" id="mwavefolder"></a>

Automatic vocal tuning effect, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

MAutoPitch is a simple but great sounding automatic tuning and pitch correction plugin designed for vocals and other monophonic instruments. Besides making the audio more in-tune, MAutoPitch also provides creative features such as formant shift and stereo-expansion.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.

</details>

## See also

* Nyquist [Time, Pitch and Tempo](/nyquist-plugins/effect-plugins/time-pitch-and-tempo) effects


# Delay and Reverb

## MuseFX Delay

An easy to use, versatile delay effect, part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

![](/files/TFQF4z64Vezj5Ij5Ms7I)

</details>

## MuseFX Reverb

An easy to use, versatile reverb effect, part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

![](/files/n3oqwkD7ij00mvcoraJU)

</details>

## ReaDelay

A multi-tap delay effect, part of ReaPlugs.

{% embed url="<https://www.reaper.fm/reaplugs>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright (C) 2006-2016, Cockos Incorporated VST PlugIn Technology by Steinberg Media Technologies GmbH

Information From the vendor:

* Multi-tap delay, no practical limit on tap count
* Up to 10 second delay per tap
* Tap lengths can be in time (s/ms) or quarter notes
* Feedback, LPF/HPF, resolution reduction per tap
* Stereo width per tap
* Volume/pan per tap

<img src="/files/F0lcDvcqCUj2NOwGypC4" alt="" data-size="original">

</details>

## MConvolutionEZ

An easy-to-use highly optimized convolution reverb, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

**MConvolutionEZ** is an easy-to-use highly optimized convolution reverb. Comes with lots of impulse responses for rooms, halls, plates, guitar cabinets, effects.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.

</details>

## MCharmVerb

A Lush algorithmic reverb effect, , part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

MCharmVerb is a great sounding lush algorithmic reverb based on the MTurboReverb engine.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.

</details>

## OrilRiver

A free algorithmic stereo reverb

{% embed url="<https://www.kvraudio.com/product/orilriver-by-denis-tihanov>" %}
Download link
{% endembed %}

<details>

<summary>Details</summary>

* 12 early reflections variations
* 5 reverb tail variations
* 3-band equalizer for the wet signal
* Sample Rate: from 44100 to 192000 Hz.
* Lots of presets

</details>

## TAL-Reverb-4

A plate reverb with a vintage 80's character

{% embed url="<https://tal-software.com/products/tal-reverb-4>" %}
Download link
{% endembed %}

<details>

<summary>Details</summary>

Information from the developer website:

* Modulated vintage reverb sound.
* Very diffuse sound.
* Fast build up time, also with long reverb sounds.
* Works on almost every audio material.
* Easy to use.
* Only stereo channels supported.

<img src="/files/QS23WhSj8efJEDg4piOD" alt="" data-size="original">

</details>

## U-he Protoverb

A natural sounding reverb based on the concept of a room simulator

{% embed url="<https://u-he.com/products/protoverb/>" %}

<details>

<summary>Details</summary>

Information from the developer website:

Protoverb is an experimental room simulator reverb. Most algorithmic reverbs try to avoid resonances or model the reflections of sound from a room’s walls. Protoverb does the opposite. It builds up as many room resonances as possible, modelling the body of air in the room. No need to modulate or colour the signal. The result is a very natural sounding reverberation with interesting characteristics:

Notes held for a longer time tend to build up resonance, as if the air takes a while to get excited Multiple instruments remain distinct, without disappearing in a wash When you play a short melody, the room seems to repeat a ghost echo of that melody These properties are found in churches and large halls, but are rarely in conventional algorithmic reverbs.

To achieve this, Protoverb works with many parallel, serial and networked delays. With such a structure, no mathematical formula can make it sound right, it is down to trial and error (and luck) using random values. Protoverb generates random delay line lengths, networks and feedback strategies.

<img src="/files/kjmI4cn2gMogfQtzUg81" alt="" data-size="original">

</details>

## Voxengo OldSkoolVerb

OldSkoolVerb offers you a comprehensive set of parameters permitting you to achieve various reverbs ranging from plate reverb to room reverb to hall reverb sound.

{% embed url="<https://www.voxengo.com/product/oldskoolverb/>" %}
Download link
{% endembed %}

<details>

<summary>Details</summary>

Information from the developer website:

* Plate, room, and hall reverbs
* 5 reverb modes
* Reverb mode editor
* Stereo processing
* 64-bit floating point processing
* Preset manager
* Undo/redo history
* A/B comparisons
* Contextual hint messages
* All sample rates support
* Zero processing latency
* User interface color schemes
* Resizable user interface
* Retina and HighDPI support

</details>

## Valhalla Supermassive

ValhallaSupermassive lets you create massive reverbs, harmonic echoes and space sounds

{% embed url="<https://valhalladsp.com/shop/reverb/valhalla-supermassive/>" %}
Download link
{% endembed %}

<details>

<summary>Details</summary>

Information from the developer website:

ValhallaSupermassive is based around feedback delay networks. The individual delays can have up to 2 second of delay time, with user control over the delay lengths, the feedback, how the delays mix with each other, and the modulation rate and depth of the delays. The sonic results range from choruses and flangers, to echoes that fade in and out over time, to massive lush reverbs, and onwards to weird spatial effects that have to be heard to be believed.

</details>

## See also

* Nyquist [Delay and Reverb](/nyquist-plugins/effect-plugins/delay-and-reverb) effects


# Distortion

## MBitFun

A distortion tool, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

**MBitFun** is a serious tool for extreme distortion lovers. It converts the audio into limited fixed-point precision form, from a 1 single bit up to 16 bits per sample, and lets you access each bit, applying several operations.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.&#x20;

</details>

## MFreqShifter

A frequency shifter plugin, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

**MFreqShifter** is an extremely versatile frequency shifter. Unlike pitch-shifters it doesn't keep harmonic relationships and can provide everything from mild stereo expansion to complete sonic destruction.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.&#x20;

</details>

## MSaturator

A tube-like saturation effect, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

MSaturator performs smooth saturation in a definitive tube-like way improving the clarity of the resulting sound. Its excellent sound quality makes it flexible enough to double as a distortion module for guitars and other instruments.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.&#x20;

</details>

## MWaveFolder

An analog-inspired distortion effect, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

MWaveFolder is an analog-inspired distortion module with a unique character ranging from mild harmonic enhancement to complete sound destruction.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.&#x20;

</details>

## MWaveShaper

A wave-shaping effect, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

MWaveShaper goes beyond a traditional wave-shaping plugin. Unlike the conventional approach of providing a few predefined patterns, MWaveShaper lets you construct your own shape creating a much greater range and control over your sound.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.&#x20;

</details>

## See also <a href="#undefined" id="undefined"></a>

* Nyquist [Distortion Effects](/nyquist-plugins/effect-plugins/distortion-effects)


# Dynamics Processing

## Muse FX Compress

An easy to use compressor effect. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

![](/files/MgiLY2qqY3bvIfvdkByC)

</details>

## MuseFX Master

An easy to use mastering plugin. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

![](/files/u1CogYAiMmNZ2UCHZpw9)

</details>

## ReaFIR

A multi-purpose dynamics processor, can be used for EQ, compressor, gate and noise reduction purposes. Part of ReaPlugs.

{% embed url="<https://www.reaper.fm/reaplugs>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright (C) 2006-2016, Cockos Incorporated VST PlugIn Technology by Steinberg Media Technologies GmbH

Information from the vendor:

* FFT based dynamics processor
* Supports FFT sizes of 128-32768
* Useful in/out frequency response display
* Supports defining response curves both using any number of points, or freehand mouse
* EQ - can be used as a linear phase mastering EQ, or as a super-effective surgical EQ
* Compressor - can compress at a fixed ratio with a per-band threshold
* Gate - can gate with per-band threshold
* Subtract - can build noise profiles and subtract noise from the signal

<img src="/files/lNGID6wKeWJTuGh7OT2L" alt="" data-size="original">

</details>

## MCompressor

A powerful compressor with custom processing shape, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

MCompressor provides refined compression. It features an adjustable compression shape, giving you the power to create dynamic sound effects, and a range of up-sampling options for a crystal clear sound.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* M/S, single channel, up to 8 channelds surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.

</details>

## ReaXcomp

A multi-band compressor effect, part of ReaPlugs.

{% embed url="<https://www.reaper.fm/reaplugs>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright (C) 2006-2016, Cockos Incorporated VST PlugIn Technology by Steinberg Media Technologies GmbH

Information From the vendor:

* Unlimited band compressor
* Great metering per band
* Fantastic sounding filters
* Solo current band mode
* Tons of controls per band (ratio, threshold, knee, attack, release, makeup, program dependent release, feedback detector, RMS size)
* Adjusting bands in graph is easy (modifiers to change ratio, gain, etc)

<img src="/files/e9VStFCUTwSJPdvjDIvf" alt="" data-size="original">

</details>

## See also

* Nyquist [Dynamics Processing](/nyquist-plugins/effect-plugins/dynamics-processing) effects
* Nyquist [Amplify, Mix and Pan Effects](/nyquist-plugins/effect-plugins/amplify-mix-and-pan-effects)


# Filters

## Filterjam

A multiband resonant filter.

{% embed url="<https://plugins4free.com/plugin/3517/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

© 2011-2022 AudioThing Ltd.

Homepage: <https://www.audiothing.net/effects/filterjam/>&#x20;

Description from the vendor:&#x20;

**Filterjam** is a multi-band resonant filter delivering weird ringmod-like filtered sounds. The input signal is divided into 4 bands that are then summed or multiplied together according to the selected mode. Filterjam can be very harsh or gentle, it can add brightness or depth to synth sounds, but it can also completely mangle acoustic sources.

### Specifications

* Multi-Band Resonant Filter
* Oversample up to 16x
* Lightweight on CPU
* Preset system with randomizer

### System Requirements

**Windows 7, 8, 10**\
2GHz CPU, 4 GB RAM\
VST2, VST3, AAX, CLAP (64-bit)

**OS X 10.9 – macOS 12**\
2GHz CPU, 4 GB RAM\
VST2, VST3, AU, AAX, CLAP (64-bit)\
Universal 2 Binary

</details>

## TAL-Filter-2

A host-synced filter module

{% embed url="<https://tal-software.com/products/tal-filter>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Description from the vendor

* Different modulation types: LP 12dB, BP 12dB, HP 12dB, Pan, Volume
* Super clean SVF filter with diode clipper in the feedback path. Capable of self oscillation.
* Easy to use spline editor.
* Stereo offset for modulation when in filter mode.
* Host sync with different sync options (normal, dotted...)
* Trigger button sets the modulation position to the start without lose host sync. Can be automated.
* Legacy Mode: Just for backward compatibility. Please don't use if you create something new.
* File based presets.
* MIDI NoteOn trigger option.

</details>

## Filterstep

A modern motion filter plugin

{% embed url="<https://audiomodern.com/shop/plugins/filterstep/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Description from the vendor

* Generate Filter Grooves in real-time
* Syncs to Host tempo
* Wet/Dry mix control
* MIDI Controllable
* Infinity Mode
* Quick Load presets
* Instant/Tap Bypass for live performance
* Quantization settings
* Motion selector
* Customizable Sequence Range

</details>

## MBandPass

A filter with slopes up to 120dB/oct, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

* Advanced GUI
* Synchronization to host tempo
* Adjustable oscillator shape technology
* Automatic gain compensation (AGC)
* Safety limiter
* Modulators
* Multiparameters
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for download page.

</details>

## MComb

A multi-comb filter, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

* Advanced GUI
* Sinc interpolation
* Adjustable up-sampling 1x - 1024x
* Adjustable oscillator shape technology
* Automatic gain compensation (AGC)
* Safety limiter
* Modulators
* Multiparameters
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for download page.

</details>

## See also

* Nyquist [Filters and EQ](/nyquist-plugins/effect-plugins/filters-and-eq) effects


# Equalizers

## MuseFX Simple EQ

An easy to use yet powerful EQ. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

![](/files/Duk5GQlhQHh0fXP5Zexj)

</details>

## MuseFX ProEQ

An easy to use 4-band EQ. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

<img src="/files/tHhdxzh5I4Bi7slu0vVD" alt="" data-size="original">

</details>

## ReaEQ

An unlimited band IIR based equalizer effect, part of ReaPlugs.

{% embed url="<https://www.reaper.fm/reaplugs>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright (C) 2006-2016, Cockos Incorporated VST PlugIn Technology by Steinberg Media Technologies GmbH

Information From the vendor:

* Unlimited band IIR based equalizer
* Support for any number of many types of filters (shelfs, bands, LPF, HPF, notch, bandpass, allpass)
* Frequency response and phase response display
* Display of approximate note+octave for frequencies
* Per-band bypass control
* Full-view of graph optional for precise editing
* Mouse modifiers/mousewheel usable for editing bandwidth of points in graph

<img src="/files/8ERSjgWViuszE8ZZyMFO" alt="" data-size="original">

</details>

## Voxengo Marvel GEQ

A 16-band linear-phase graphic equalizer with multi-channel operation support

{% embed url="<https://www.voxengo.com/product/marvelgeq/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Information from the vendor

* 16-band graphic equalizing
* Freehand drawing mode
* Linear-phase equalizing
* +/- 12 dB gain range per band
* Stereo and multi-channel processing
* Internal channel routing
* Channel grouping
* Mid/side processing
* 64-bit floating point processing
* Preset manager
* Undo/redo history
* A/B comparisons

</details>

## Red Rock Sound EQ302

A 32-band equalizer offering -12 dB to +12 dB gain in 1/3 octave steps from 16 Hz to 20 kHz

{% embed url="<https://redrocksound.pro/products/eq302-pc/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Information from the vendor

* 32-band graphic equalizer
* Selectable -12 to +12 dB or -6 to +6 dB gain
* Integrated low-cut filter
* Adjustable input gain

</details>

## Red Rock Sound EQ560

A 10-band graphic equalizer emulating the 1967 EQ560 hardware

{% embed url="<https://redrocksound.pro/products/eq560/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright © 2012–2022 Red Rock Sound

Information from the vendor

* 10 bands of proprietary equalization.
* Familiar graphics operation on one octave centers.
* 12 dB of boost/cut per band.
* Proportional Q narrows filter Q at extremes.
* IN/OUT switch — allows the user to bypass the Graphic Eq for before/after comparisons.

</details>

## MEqualizer

6-band equalizer with analyzer, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

**MConvolutionEZ** is an extremely easy-to-use and powerful 6-band equalizer. It also provides an advanced visualization including a spectrum analyzer and sonogram.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing
* 9 filter types for each band with quick adjustment
* Powerful spectrum analyzer and sonogram
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* M/S, single channel, up to 8 channelds surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.

</details>

## RS-W2395C Free Neo Classic Baxandall EQ

The W2395c is a classic Baxandall EQ combined with a powerful and beautiful sounding mid band

{% embed url="<https://fuseaudiolabs.de/#/pages/product?id=300965965>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

### Vendor description

#### 1950 Meets 2019

The W2395c is a classic Baxandall EQ combined with a powerful and beautiful sounding mid band. As a solitary or complementary equalizer with that special something, its particular tone and slightly interactive bands let your tracks stand out big time. In close cooperation with its creator, analog mastermind [Roger Schult](https://www.rogerschult.com/), we are delighted to offer this amazing plugin completely for free.

#### Control and Shape

The W2395c excels in controlling the midrange within the context of broad tonal shaping of bass and treble. The high shelf is great for carving out percussive sounds as well as opening or darkening instruments and voices. The partnering low band provides a precise and solid grip on the sub frequencies, while the mids manage the balancing act between natural and beefy with stunning ease.

#### Straight yet Flexible

Operating the W2395c is as straight forward as it gets, and still the few controls provide great flexibility. The low band can be switched from 80 to 110 Hz, the highs from 2 to 5 kHz, and the semi-parametric mids offer 3 different Q factors to choose from. The drive control is a plugin-exclusive extra for adding some nice grit to its supernaturally natural tone character.

#### Freely yours

With its super intuitive controls and musically interacting curves, the W2395c is a special and unique gem in the world of equalizers. It enhances anything from very dynamic sources like vocals or drums to harsh cymbals or dull sounding guitars and synths – and it does an excellent job on the mix buss as well. A truly exciting EQ experience is waiting for you… right now, all free.

</details>

## See also

* Nyquist [Filters and EQ](/nyquist-plugins/effect-plugins/filters-and-eq) effects


# Modulation

## MuseFX Chorus

An easy to use chorus effect. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

![](/files/JN3qoo6RWOnbSdsBh3Pi)

</details>

## MuseFX Rotary

An easy to use Rotary/Leslie effect. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

![](/files/suH1TrDYCZ9xYzARAPC2)

</details>

## Valhalla Space Modulator

A modulator with 11 different algorithms.

{% embed url="<https://valhalladsp.com/demos-downloads/#spacemodulator>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

© 2022 VALHALLA DSP, LLC.

COMPATIBILITY:

* WINDOWS: WINDOWS 7/8/10
* PLUGIN FORMATS: 64-BIT VST2.4/VST3/AAX
* MAC: OSX 10.8/10.9/10.10/10.11, MACOS 10.12/10.13/10.14/10.15, MACOS 11 BIG SUR
* PLUGIN FORMATS: 64-BIT VST2.4/VST3/AAX/AU

\\

Information from the vendor: <https://valhalladsp.com/shop/modulation/valhalla-space-modulator/>

**Earth Shattering Kaboom.**

ValhallaSpaceModulator is our take on flanging.

Eleven algorithms allow you to get through-zero flanging, barberpole flanging, detuning, doubling, strange echoes, reverbs, and all sorts of effects that defy description.

<img src="/files/r1BS8BO5Nu9kyXKsVFxm" alt="" data-size="original">

</details>

## MRingModulator

Classic two oscillators ring-modulation effect, part of the [Plugin Suites](/realtime-effects/plugin-suites#mfreefxbundle) pack

<details>

<summary>Details</summary>

MRingModulator performs classic ring-modulation effects using one or two oscillators. With a clean interface that gives easy access to more advanced controls like our adjustable phase difference and shape features, including editable custom waveforms and harmonics.

* Advanced GUI
* Compare multiple settings: A to H Switching and A to D Morphing.
* Unique visualisation engine with classic meters and time graphs
* MIDI controllers with MIDI learn
* Automatic gain compensation (AGC)
* M/S, single channel, up to 8 channels surround and up to 64 channels ambisonics processing
* Extremely fast, optimized for newest AVX2 and AVX512 capable processors
* Supports VST, VST3, AU and AAX interfaces on Windows and macOS

See the [pack ](/realtime-effects/plugin-suites#mfreefxbundle)for installation instructions.

</details>

## See also

* Nyquist [Modulation Effects](/nyquist-plugins/effect-plugins/modulation-effects)


# Noise Removal and Repair

## MuseFX Noise Gate

A noise gate. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

A noise gate keeps noise in quiet parts out while not affecting the audio you want at all.

![](/files/iS9n2tTmcDKG3kB96592)

</details>

## MuseFX De-Ess

An easy to use de-esser. Part of the [Plugin Suites](/realtime-effects/plugin-suites#muse-fx) pack.

<details>

<summary>Details</summary>

See the pack for installation instructions.

Has presets for female and male voices, harshness, sibilance, steel guitar and strings rosin.

<img src="/files/K3abHUB09Ptk1URYe8ub" alt="" data-size="original">

</details>

## ReaFIR

A multi-purpose dynamics processor, can be used for EQ, compressor, gate and noise reduction purposes. Part of ReaPlugs.

{% embed url="<https://www.reaper.fm/reaplugs>" %}
Download page
{% endembed %}

{% hint style="info" %}
Hint: ReaFIR in Subtract mode can be used to remove noise.
{% endhint %}

<details>

<summary>Details</summary>

Copyright (C) 2006-2016, Cockos Incorporated VST PlugIn Technology by Steinberg Media Technologies GmbH

Information from the vendor:

* FFT based dynamics processor
* Supports FFT sizes of 128-32768
* Useful in/out frequency response display
* Supports defining response curves both using any number of points, or freehand mouse
* EQ - can be used as a linear phase mastering EQ, or as a super-effective surgical EQ
* Compressor - can compress at a fixed ratio with a per-band threshold
* Gate - can gate with per-band threshold
* Subtract - can build noise profiles and subtract noise from the signal

<img src="/files/lNGID6wKeWJTuGh7OT2L" alt="" data-size="original">

</details>

## ReaGate

A noise gate effect, part of ReaPlugs.

{% embed url="<https://www.reaper.fm/reaplugs>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright (C) 2006-2016, Cockos Incorporated VST PlugIn Technology by Steinberg Media Technologies GmbH

Information From the vendor:

* Ultra-configurable gate
* Sidechain filters, sidechain input
* Lookahead for pre-open
* Hold control
* Hysteresis control
* Variable RMS size
* Can send MIDI events on gate open/close
* Wet/dry mix, noise mix (can add noise when gate is open)

<img src="/files/XBRw4zQPswEUXxVQXQNs" alt="" data-size="original">

</details>

## RNNoise suppression for voice

Removes most sounds that aren't speech.

{% hint style="warning" %}
This plugin only works with a 48000Hz sample rate. You can change the project sample rate in Audio Setup -> Audio Settings.
{% endhint %}

{% embed url="<https://github.com/werman/noise-suppression-for-voice/releases>" %}
Download page
{% endembed %}

## NVIDIA Broadcast

A virtual device that sits between your microphone and Audacity and other programs which allows you to use an AI denoiser.

{% hint style="warning" %}
**Caution:** NVIDIA Broadcast only works on Windows machines with a NVIDIA RTX GPU.

Further, it only works on spoken word content; musical content is treated as noise and filtered out.
{% endhint %}

{% embed url="<https://www.nvidia.com/en-gb/geforce/broadcasting/broadcast-app/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright © 2022 NVIDIA Corporation

Requires NVIDIA GeForce RTX 2060, Quadro RTX 3000, TITAN RTX or higher

Full setup guide: <https://www.nvidia.com/en-gb/geforce/guides/broadcast-app-setup-guide/>

Technically, NVIDIA Broadcast isn't a plugin but a virtual device. You will find it in Audacity's audio settings as an input. It does not show up in the Plugin Manager.

</details>

## See also

* [Dynamics Processing](/realtime-effects/dynamics-processing) - Dynamics processors can often be used for noise reduction purposes


# AI plugins

## Intel OpenVINO

A set of AI-enabled effects, generators, and analyzers. These AI features run 100% locally on your PC 💻 -- no internet connection necessary! [OpenVINO™](https://github.com/openvinotoolkit/openvino) is used to run AI models on supported accelerators found on the user's system such as CPU, GPU, and NPU.

* [**Music Separation**](https://github.com/intel/openvino-plugins-ai-audacity/blob/main/doc/feature_doc/music_separation/README.md)🎵 -- Separate a mono or stereo track into individual stems -- Drums, Bass, Vocals, & Other Instruments.
* [**Noise Suppression**](https://github.com/intel/openvino-plugins-ai-audacity/blob/main/doc/feature_doc/noise_suppression/README.md)🧹 -- Removes background noise from an audio sample.
* [**Music Generation and continuation**](https://github.com/intel/openvino-plugins-ai-audacity/blob/main/doc/feature_doc/music_generation/README.md) 🎶 -- Generates music from a text prompt or continues an existing song
* [**Whisper Transcription**](https://github.com/intel/openvino-plugins-ai-audacity/blob/main/doc/feature_doc/whisper_transcription/README.md)🎤 -- Uses [whisper.cpp](https://github.com/ggerganov/whisper.cpp) to generate a label track containing the transcription or translation for a given selection of spoken audio or vocals.

{% embed url="<https://github.com/intel/openvino-plugins-ai-audacity/releases>" %}
Download page
{% endembed %}

## NVIDIA Broadcast

A virtual device that sits between your microphone and Audacity and other programs which allows you to use an AI denoiser.

{% hint style="warning" %}
**Caution:** NVIDIA Broadcast only works on Windows machines with a NVIDIA RTX GPU.

Further, it only works on spoken word content; musical content is treated as noise and filtered out.
{% endhint %}

{% embed url="<https://www.nvidia.com/en-gb/geforce/broadcasting/broadcast-app/>" %}
Download page
{% endembed %}

<details>

<summary>Details</summary>

Copyright © 2022 NVIDIA Corporation

Requires NVIDIA GeForce RTX 2060, Quadro RTX 3000, TITAN RTX or higher

Full setup guide: <https://www.nvidia.com/en-gb/geforce/guides/broadcast-app-setup-guide/>

Technically, NVIDIA Broadcast isn't a plugin but a virtual device. You will find it in Audacity's audio settings as an input. It does not show up in the Plugin Manager.

</details>


# Generator Plugins

Various generator-type Nyquist plugins. Licensed under GPL v2 unless otherwise noted.


# Tone Generators

## Buzz tone generator

Generates a nasal-sounding tone composed of the base frequency plus n-1 harmonics.

{% file src="/files/zS8j3uLeVYTZRq5wc1n2" %}
Download link
{% endfile %}

{% file src="/files/jScrY8GyAPIJ82GVdDk9" %}
Buzz Tone audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: David R.Sky

Generates a nasal-sounding tone composed of the base frequency plus n-1 harmonics. If for example you choose a frequency of 100 Hz with n=4 harmonics, this plugin will generate a tone comprised of 100, 200, 300 and 400 Hz, of equal amplitude. (The more harmonics, the more nasal and high-pitched the tone sounds.)

Parameters:

1. **Frequency or MIDI number:** \[0=frequency, 1=MIDI (default)]
2. **Frequency:** \[20 - 5000 Hz, default 110]
3. **MIDI note number:** \[16 - 127, default 45]
4. **Number of harmonics:** \[1 - 60, default 12]
5. **Buzz tone duration:** \[0.1 - 120 seconds, default 5.0]
6. **Volume:** \[1 - 100 percent, default 95]

</details>

## DTMF Tones (random)

Touch Tones (also known as DTMF or Dual Tone Multi Frequency Tones) are the tones made by key pads on telephones. Each tone is comprised of two separate tones at different pitch, hence "dual tone".

{% file src="/files/EmC2wOqOhwiNBtXFN0te" %}
Download link
{% endfile %}

{% file src="/files/EwzS7an6EIpI9uDLtLAR" %}
DTMF tones random audio file
{% endfile %}

<details>

<summary>Details</summary>

Authors: David R.Sky, Dominic Mazzoni, Roger Dannenberg, W. Borgert

Touch Tones (also known as DTMF or Dual Tone Multi Frequency Tones) are the tones made by key pads on telephones. Each tone is comprised of two separate tones at different pitch, hence "dual tone".

Parameters:

1. **Number of DTMF Tones:** \[1 - 120, default 20]
2. **Include military tones A-D:** \[0 = no (default), 1 = yes]
3. **Option to include silent intervals:** \[0 = no (default), 1 = yes]
4. **Volume:** \[0.001 - 1.000, default 0.3]
5. **Tone length** \[0.001 - 1.000 seconds, default 0.1]
6. **High to low tone ratio:** (or twist) \[0 - 4 dB, default 0] - "Twist" is the volume ratio between the higher-pitched and lower-pitched tones in any given tone. So a twist value of 0 dB means the higher-pitched tone is no louder than the lower-pitched tone. A twist value of 4 dB means the higher-pitched tone is 4 dB louder than the lower-pitched tone.
7. **Post silence duration:** \[0 - 1 seconds, default 0.1]

</details>

## DTMF Tones

Touch Tones (also known as DTMF or Dual Tone Multi Frequency Tones) are the tones made by key pads on telephones. Each tone is comprised of two separate tones at different pitch, hence "dual tone".

{% file src="/files/sefEHT5h7M1EaKczRsdd" %}
Download link
{% endfile %}

{% file src="/files/YUUEBrzCjNJmpItaVufa" %}
DTMF Tones audio file
{% endfile %}

<details>

<summary>Details</summary>

Authors: David R.Sky, Dominic Mazzoni, Roger Dannenberg, W. Borgert

Touch Tones (also known as DTMF or Dual Tone Multi Frequency Tones) are the tones made by key pads on telephones. Each tone is comprised of two separate tones at different pitch, hence "dual tone".

Type in your telephone number, or an 'alphabetized' number such as "1800audacity". Includes the US Military's A, B, C and D tones to the right of the regular number keypad.

Parameters:

1. **Tone string:** \[1800audacity (default)]
2. **Tone duration:** \[1 - 1000 milliseconds, default 100]
3. **Silence duration after tone:** \[0 - 1000 milliseconds, default 100]
4. **Twist:** \[0 - 4 dB, default 0] - "Twist" is the volume ratio between the higher-pitched and lower-pitched tones in any given tone. So a twist value of 0 dB means the higher-pitched tone is no louder than the lower-pitched tone. A twist value of 4 dB means the higher-pitched tone is 4 dB louder than the lower-pitched tone.
5. **Volume:** \[1 - 100 percent, default 80]

</details>

## HQ-Tone

HQ-Tone is a high quality (no alias) tone generator. This plugin is typically faster than Audacity's built-in "Square - no alias" generator, particularly for low frequencies, and provides more waveform choices.

{% file src="/files/vJBDdnCZam0CT3PVwl6E" %}
Download link
{% endfile %}

{% file src="/files/SAFOmSoO9Suqvr7nsXIY" %}
HQ-Tone example audio file
{% endfile %}

<details>

<summary><strong>Details</strong></summary>

Author: Steve Daulton

HQ-Tone is a high quality (no alias) tone generator.

Like the *Square (no alias)* option in Audacity's built-in [Tone](https://manual.audacityteam.org/man/tone.html) generator, the waveforms generated by this plugin produce bandwidth limited waveforms to avoid [aliasing](https://en.wikipedia.org/wiki/Aliasing) distortion. This plugin is typically faster than Audacity's built-in "Square - no alias" generator, particularly for low frequencies, and provides more waveform choices:

Parameters:

1. **Waveform:** \[Choice: Sine, Square, Triangle, Sawtooth, Inverse sawtooth (default: Square]
2. **Frequency (Hz):** \[20 - 10000 Hz, default 440 Hz] - the frequency of the generated waveform.
3. **Amplitude (0 to 1):** \[0 to 1, default 0.8] - The amplitude of the generated waveform. Note that due to technical limitations, the actual waveform may be very slightly different from the requested amplitude. However, the amplitude can be expected to be very close to the specified level (within about 0.001 dB).
4. **Duration:** \[must be greater than zero] - Time units may be selected by clicking the downward pointing arrow on the right side of the control.
5. **Phase (-180 to 180):** \[-180 to +180 degrees] - The starting phase of the waveform. Rising across zero is taken to mean a phase of 0 degrees for all waveforms.
6. **Smoothing:** \[Choice: Yes / No (default: Yes)] - Waveforms that have near instantaneous rise or fall times have noticeable ripple. When this option is enabled, additional damping is applied to smooth out the ripples, producing a *cleaner* looking waveform, at the expense of slightly reduced high frequency harmonics.

</details>

## PWM

Generates a modulated pulse tone.

{% file src="/files/dWqUhb50vz46lYwr8q44" %}
Download link
{% endfile %}

{% file src="/files/GZPBM99C8MSQkrG94tEI" %}
PWM example audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: Steven Jones.

Generates a modulated pulse tone.

Parameters:

1. **MIDI key:** \[0 - 127, default 60]
2. **Cents:** \[0 - 99 cents, default 0] - Detune amount
3. **Duration:** \[1 - 30000 milliseconds, default 10000]
4. **Mod Rate:** \[1 - 100, default 1] - number of modulation cycles
5. **Mod Depth:** \[-100 - +100 percent, default 90]
6. **Mod Wave:** \[0 = tri (default), 1 = up sawtooth, 2 = down sawtooth] - waveform of tone
7. **Width:** \[0 - 100 percent, default 0] - fixed pulse width
8. **Amplitude:** \[0 - 100 percent, default 100]

If the sum of the fixed width and the instantaneous modulation amount is outside the interval \[0 - 99], the output will go to full off or full on.

</details>


# Noise Generators

## Harmonic Noise

Generates approximately harmonic tones by mixing narrow bands of noise

{% file src="/files/AljGL8FSkMIXkEMDXK2k" %}
Download link
{% endfile %}

{% file src="/files/XzXJOC57ew88v9ABRUzW" %}
Harmonic noise audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: Steven Jones.

Generates approximately harmonic tones by mixing narrow bands of noise. For each note in the MIDI note list an n-partial tone is produced. Each partial of each tone is actually a narrow band of noise centered at the ideal harmonic frequency. The center frequency of each band is harmonically related to the fundamental and the amplitude decreases inversely with the harmonic number.

Parameters:

1. **MIDI Note List:** \[c2 c3 ef4 g4 bf4 c5] - MIDI notes may be specified either as integers or using the Nyquist constants 'g3' for third octave g, 'bf4' for fourth octave b flat, 'gs2' for second octave g sharp and so on.
2. **Number of Harmonics:** \[1 - 32, default 8] - that is, the number of partials for each note generated
3. **Duration:** \[1 - 30 seconds, default 10]
4. **Band Width:** \[1 - 1000 Hz, default 2] - depending on the width of this noise band, the result can sound very noisy or distinctly tonal with a heavy chorusing effect.
5. **Odd Harmonics Only:** \[0 = all harmonics (default), 1 = odd-numbered harmonics only]

</details>

## Narrowband Noise

Narrowband Noise generates noise within a specified frequency range by ring-modulating a sine wave with low-pass filtered noise. The effect is like band-pass filtered noise.

{% file src="/files/rwiTy3rqFWuBQzyq7RTL" %}
Download link
{% endfile %}

{% file src="/files/Z6gtiIqvs56PH3IyJCYm" %}
Narrowband noise audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton (after "Noise Band" by Steven Jones).

Narrowband Noise generates noise within a specified frequency range by ring-modulating a sine wave with low-pass filtered noise. The effect is like band-pass filtered noise.

Parameters:

1. **Center Frequency (Hz):** \[10 to 10000 Hz, default 440]
2. **Bandwidth (Hz):** \[1 to 10000 Hz, default 50]
3. **Amplitude (0 - 1):** \[0 to 1, default 0.8]
4. **Duration (minutes):** \[0 to 20 minutes, default 0]
5. **Duration (seconds):** \[0 to 60 seconds, default 30]
6. **Stereo Output:** \[No / Yes, default No]

To generate true stereo noise (left and right channels different), a stereo track must be selected and the Stereo Output control must be set to "Yes". As with all Nyquist generator plugins, if a track is not selected, Audacity will create a mono track and attempt to place the generated sound into that track. If Stereo Output is set to yes and a stereo track is not selected the plugin will return the error message: ***"Nyquist returned too many audio channels."***

</details>


# Special Effect Generators

## Binaural Tones with Surf 2

A sine tone of one constant frequency is generated in the left channel of a stereo track, and a series of changing tones of slightly different frequencies are generated in the right.

{% file src="/files/Okgt0eu0DqTjUQXjYW7R" %}
Download link
{% endfile %}

{% file src="/files/jx6qkJ7yilbzkfNlHGEs" %}
Binaural tones with Surf 2 audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A sine tone of one constant frequency is generated in the left channel of a stereo track, and a series of changing tones of slightly different frequencies are generated in the right. The differences between the left- and right-channel frequencies are termed "beat frequencies". In addition, a stereo "surf" noise is generated based on [pink noise](http://en.wikipedia.org/wiki/Pink_noise). This is a lower-frequency "rushing" sound compared with "hissing" white noise.

Parameters:

1. **Left channel tone frequency:** \[50 - 1000 Hz, default 100].
2. **Beat frequency \[Hz], duration \[minutes], time to change to next beat frequency \[minutes]:** There are six of these edit fields in which you may enter up to three indicated values, separated by a space. The first of these edit fields has default values of 17.5 0.25 0.25 and must contain some non-zero value for duration. If you enter only a single value into any of the subsequent fields, the duration of that beat frequency will be zero. If you leave any of these edit fields blank they will be ignored. In the sixth field you may enter a final beat frequency and duration of that frequency.
3. **Adjust total time:** \[1 - 60 minutes, default = 0 (no adjustment)].
4. **Fade-in and fade-out times:** \[0 - 120 seconds, default 10]
5. **Stereo surf frequency:** \[0 - 2 Hz, default 0.1] - If this setting is above zero, the surf sound will be panned back and forth somewhere between the left and right audio channels at the specified frequency, how far depending on the sixth variable:
6. **Stereo surf spread:** \[0 - 100 percent, default 80] - The larger this number, the further the surf sound will move away from the center pan position (0% results in the surf sound remaining in the center).
7. **Tone to surf volume ratio:** \[0 - 100 percent, default 70] - adjusts the relative volume of the tones and surf sound. 0 = no tone (only surf) and 100 = no surf (only tone).

</details>

## Surf-LFO

An LFO surf generator.

{% file src="/files/aFA766iREqSbLcX6TCbB" %}
Download link
{% endfile %}

{% file src="/files/505capt6oNXWurYQVfFq" %}
Surf (LFO) audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

LFO Surf generator. A signal whose frequency is generally below the human ear's ability to hear as a tone, usually 20 cycles per second \[Hz]. Generates mono or stereo surf which sweeps between a lower and upper filter frequency. Stereo surf also sweeps back-and-forth somewhere between the left and right audio channels. To generate stereo surf, first open a new stereo track in Audacity

Parameters:

1\. **Mono or stereo surf:** \[1=mono 2=stereo]\
Mono surf is heard only in the center between the two speakers, or in the middle of your head when wearing headphones. Stereo surf sweeps back-and-forth somewhere between the two audio channels, depending on the next setting, Stereo Spread.

2\. **Stereo spread:** \[stereo only: percent]The larger this value, the more widely the stereo surf will move back-and-forth between the left and right audio channels. When this value is above zero, the deeper section of the surf sweep will be heard more in the left channel; below zero, the deeper section of the surf sweep will be heard more in the right channel.

3\. **Fade-in and fade-out times:** \[seconds]To smoothly fade in and fade out the volume at the start and end of the surf.

4\. **Surf duration:** \[minutes] (up to 60)

5\. **Surf type:** \[0=white noise 1=pink noise]White noise is more of a "hissing" sound, whereas pink noise is a lower "rushing" sound. Technically, white noise is "equal energy per frequency", whereas pink noise is "equal energy per octave"

6\. **Surf sweep frequency:** \[Hz]Sets how slow or fast the surf sweeps between the lower and upper filter frequencies, and the left and right channels \[for stereo surf].

7\. **Lower filter frequency:** \[Hz]\
8\. **Upper filter frequency:** \[Hz]\
Both the above determine how low and how high the low-pass filter sweeps the surf noise.

9\. **Bass frequency to boost:** \[Hz]You can boost the volume of frequencies of the surf sound below this setting, to get a deeper-sounding surf. Somewhat equivalent to the bass knob on your stereo.

10\. **Bass boost :** \[dB]Sets how much to boost the above bass frequency. 0 dB means no boost, 6 dB means double the amplitude of the bass frequency, and so on.\\

</details>

## Surf-Oxy

A surf generator inspired by Jean-Michel Jarre's album *Oxygene*.

{% file src="/files/wVl1vTlf7DgxnMNTeWpw" %}
Download link
{% endfile %}

{% file src="/files/UnDiuoxFyUZgwRFuqpOs" %}
Surf (Oxygene) audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Jean-Michel Jarre put out a hauntingly beautiful electronic album in 1976, Oxygene. One section of this album had a repeating surf sound: a sweep from the right to the left audio channel, a pause, and then a deep crash in the right channel. After another pause, this cycle repeated many times. Very relaxing to listen to. This sound generator plugin emulates that surf cycle, in either mono or stereo.

Start a new session of Audacity. To generate stereo surf, first open a blank stereo track

Parameters:

1\. **Surf output:** \[1=mono 2=stereo]To generate mono or stereo Oxygene surf.

2\. **Stereo spread:** \[stereo only - percent]If you've chosen to generate stereo Oxygene surf, this setting will determine how widely the surf sweeps away from the center pan position. From +100 percent to -100 percent. Positive values make the sweep section go from the right to the left, with the crash in the right. Negative values reverse this pattern.

3\. **Fade-in and fade-out times:** \[seconds]Time to fade in and fade out the volume at the start and end of the surf, if you wish.

4\. \*\*Number of Oxygene surf cycles:\*\*How many Oxygene surf cycles to generate.

5\. **Surf type:** \[0=white noise 1=pink noise]White noise is a higher-frequency "hissing", whereas pink noise is a lower-frequency "rushing" sound.

6\. **Sweep starting filter frequency:** \[Hz]

7\. **Sweep ending filter frequency:** \[Hz]The above two parameters set the starting and ending frequencies for the low-pass filter to sweep the sweep portion of Oxygene surf. A low-pass filter allows frequencies below a certain value to pass, while frequencies above that value are attenuated, or reduced in volume.

8\. **Sweep duration:** \[seconds]This sets how slow or fast the sweep portion of Oxygene surf takes.

9\. **Post-sweep silence duration:** \[seconds]Duration of the silence after the sweep.

10\. **Crash filter frequency:** \[Hz]The low-pass filter frequency of the crash.

11\. **Crash bass frequency boost:** \[dB]How much to increase the volume of the above filter frequency and below. 0 dB means no boost, 6 dB means double the amplitude of this bass frequency, and so on.

12\. **Post-crash silence duration:** \[seconds]How much silence before the Oxygene surf cycle repeats.

</details>


# Instrument Sound Generators

## Fire and Explosion sounds

Emulates a Korg MS-10 synthesizer patch.

{% file src="/files/3mVhZX9t79xCs4hx8mpL" %}
Download link
{% endfile %}

{% file src="/files/hCT3j2HYRrg7RnjlpFFV" %}
Fire and explosions audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Emulates a Korg MS-10 synthesizer patch.

Parameters:

1. **Audio type:** \[0=fire 1=explosion, default=1]
2. **Sound duration:** \[0.1 to 60 seconds, default=3]
3. **Attack time:** \[0 to 500 milliseconds, default=50]
4. **Explosion decay time:** \[0 to 500 milliseconds, default=500]
5. **Decay down to this level:** \[1 to 100 %, default=30]
6. **Cutoff frequency:** \[100 to 10000 Hz, default=3800]
7. **Filter quality:** \[Q: 1 to 20, default=10]
8. **Bass boost frequency:** \[10 to 1000 Hz, default=300]
9. **Bass boost:** \[0 to 60 dB, default=30]
10. **Clipping amount:** \[0 to 99 %, default=55]

</details>

## KLSTRBAS

KLSTRBAS (for "cluster bass") generates dense sounds by combining several waveforms with a fixed frequency ratio between them.

{% file src="/files/Fq10vjlVbtDyiXXq59kQ" %}
Download link
{% endfile %}

{% file src="/files/pQkXW8ycwZmN287hKisW" %}
Cluster bass audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: Steven Jones.

KLSTRBAS (for "cluster bass") generates dense sounds by combining several waveforms with a fixed frequency ratio between them. Early Roland drum machines created cymbal sound in part by combining multiple square waves with non-integral frequency ratios. The combined signal was then high-pass filtered to produce a very dense cluster of high frequency harmonics. The genesis of KLSTRBAS was a failed attempt to create cymbal sounds using this technique.

Parameters:

1. **MIDI key:** \[0 - 127, default 45]
2. **Decay:** \[0 - 30 whole seconds, default 2]
3. **Fractional Decay:** \[0 - 99 hundredths of a second, default 0] - synth kick drum sounds can be produced by setting Decay time to zero and fractional decay to a low value.
4. **Density:** \[1 - 6, default 4] - Sets the number of component waveforms, defined as four times the density value. Higher densities produce a deeper flange effect but can also cause the sound to go out of tune.
5. **Detune:** \[0 - 99, default 0] {these two parameters affect the relative
6. **Flange:** \[0 - 4, default 2] frequencies of the component waveforms}
7. **Wave table:** \[0=sine 1=tri 2=sqr 3=saw (default}] - type of component waveform. These are not band limited so [aliasing](http://en.wikipedia.org/wiki/Aliasing) may result if either MIDI key or generated frequencies are too high.

*Technical note:* The frequency of each component is determined by the MIDI key number and the detune and flange parameters. Specifically the nth component has a frequency of:\
p \* (1 + d/100 + g)^n where:\
p is the fundamental frequency determined by the key number,\
d is the detune amount 0 <= d <= 99, and\
g is derived by the flange parameter (g = 1/(10^(4-f)) for flange value f)

</details>

## Pluck (Hz)

Pluck generates a synthesized pluck tone with abrupt or gradual fade-out.

{% file src="/files/PvKJhK592raWJ214zLDL" %}
Download link
{% endfile %}

{% file src="/files/ANj0zxwZ8MnFwPbamjSC" %}
Pluck (Hz) audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky) and Steve Daulton.

Pluck generates a synthesized pluck tone with abrupt or gradual fade-out. The sound is the same as the [Pluck effect](https://manual.audacityteam.org/o/man/pluck.html) that is shipped with Audacity, except that the pitch of the note is determined by entering a frequency in Hz (cycles per second) rather than a MIDI note.

Parameters:

1. **Pluck frequency (Hz):** \[10 to 10000, default 261.626] The default frequency is equivalent to MIDI note 60.
2. **Fade-out type** \[abrupt or gradual, default "abrupt"] Determines how rapidly the pluck sound decays.
3. **Duration \[seconds]:** Specifies the length of the pluck sound. The default is 1.0 second.

A table showing the relationship between note names, MIDI note numbers, and frequency (A440 standard tuning) is available [HERE](http://subsynth.sourceforge.net/midinote2freq.html).

</details>

## Risset Bell

Simulates a realistic bell tone based on the pioneering work of Jean Claude Risset.

{% file src="/files/0u9mLqAdP0Td8Xv9ZeqC" %}
Download link
{% endfile %}

{% file src="/files/0iq4dN0kZuIN8VTj7B4c" %}
Risset bell audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: Steven Jones.

Simulates a realistic bell tone based on the pioneering work of Jean Claude Risset. This plugin is an adaptation of a demonstration lisp file by Pedro Jose Morales contained in the standard Nyquist distribution.

Parameters:

1. **MIDI key:** \[0 - 127, default 72]
2. **Decay:** \[0 - 30 seconds, default 10]
3. **Fractional Decay:** \[0 - 99 hundredths of a second, default 0]

</details>


# Sequence Generators

## Rndtone

Generates random sine waves.

{% file src="/files/Q8QS34xs3K7JXQv5RTIO" %}
Download link
{% endfile %}

{% file src="/files/tf3nLoO01JAZYfFpV20P" %}

<details>

<summary>Details</summary>

Author: Steven Jones.

Generates random sine waves. The generated tones have random frequencies, attack and decay times.

Parameters:

1. **Duration:** \[1 - 30 seconds, default 20]
2. **Density:** \[1 - 100 generated tones, default 60]
3. **Floor:** \[20 - 1000 Hz, default 300] - Lowest frequency of tones
4. **Ceiling:** \[20 - 1000 Hz, default 600] - Highest frequency of tones

</details>

## SQ1 Generator Sequencer

Algorithmic generator sequencer number 1.

{% file src="/files/GNR08Td3krVZArl27XmA" %}
Download link
{% endfile %}

{% file src="/files/RPFZCe1eufymbj1nSygv" %}
SQ1 Generator Sequencer
{% endfile %}

<details>

<summary>Details</summary>

Author: Steven Jones.

Algorithmic generator sequencer number 1. Note also the [Audio Selection Sequencer 2](https://wiki.audacityteam.org/wiki/Nyquist_Effect_Plugins#Audio_Selection_Sequencer_2) on the [Effect Plugins page](https://wiki.audacityteam.org/wiki/Nyquist_Effect_Plugins) which sequences *pre-existing* audio samples. The sq1 sequencer generates complex sequences of tones by using the sum of three square-wave low frequency oscillators to frequency-modulate two oscillators. The oscillators output one of four waves (sine, tri, square and saw) and may be frequency adjusted relative to each other. The wave tables are not band-limited so [aliasing](http://en.wikipedia.org/wiki/Aliasing) will result for sufficiently high frequencies. There is also an overall three-stage amplitude envelope.

Parameters:

1. **Center:** \[0 - 10000 Hz, default 440] - the unmodulated carrier frequency
2. **Detune:** \[0.25 - 4.00, default 1.01] - the frequency of oscillator 2 relative to oscillator 1
3. **Wave:** \[0=sine, 1=tri (default), 2=square, 3=saw]. Wave shape for both oscillators
4. **Attack:** \[0 - 10 seconds, default 1]
5. **Sustain:** \[0 - 10 seconds, default 1]
6. **Decay:** \[0 - 10 seconds, default 1]
7. **f1:** Frequency of LFO 1
8. **a1:** Amplitude of LFO 1 - LFO amplitudes are calibrated in Hz indicating the corresponding frequency shift in the audio oscillators.
9. **f2:** Frequency of LFO 2
10. **a2:** Amplitude of LFO 2
11. **f3:** Frequency of LFO 3
12. **a3:** Amplitude of LFO 3

Note that the three LFOs are interchangeable.

</details>


# Generator Utilities

## Nyquist Generate Prompt

Nyquist Generate Prompt makes it easy for Nyquist developers to test their code for "Generate" plugins in one step.

{% file src="/files/543QjaxCR4IpmlGXWoT5" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Authors: Steve Daulton, Edgar Franke, Steven Jones and [David R.Sky](https://audionyq.com/david_r_sky)

Nyquist Generate Prompt makes it easy for Nyquist developers to test their code for "Generate" plugins in one step, unlike the Nyquist Prompt built into Audacity under the Effect menu, which requires several steps including pre-loading audio to test. Simply type your Nyquist generate code into the edit fields, then Left Click, TAB or SHIFT + TAB from one edit line to the next or previous line.

For example:

```
 (setq mysound (noise 10))
 (lp mysound (pwl 0 5000 10 100 10))
```

The first line generates 10 seconds of white noise and assigns it to the variable *"mysound"*.\
The second line applies a low-pass filter sweeping down from 5 kHz to 100 Hz over a period of 10 seconds to *"mysound"*.

</details>

## Tuning fork

A software tuning fork, with a table giving C notes and their equivalent MIDI note numbers near the top of the screen.

{% file src="/files/vCYCn9xTTs5KXlPVpDRc" %}
Download link
{% endfile %}

{% file src="/files/O6H54QpodkBhfP4a4poB" %}
Tuning fork audio sample
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A software tuning fork, with a table giving C notes and their equivalent MIDI note numbers near the top of the screen.

**Parameters:**

1. **Tone duration:** \[0 - 300 seconds, default = 120]
2. **Constant or fade out:** \[0=constant volume or 1=fade out, default = constant]
3. **MIDI or frequency:** \[0=MIDI 1=frequency, default = MIDI] - choose whether to generate tone with reference to a MIDI note number or a frequency. **Note:** Middle C = MIDI note 60, A above Middle C (440 Hz) = MIDI note 69.
4. **MIDI note:** \[16 - 127, default = 69] - You can use non-integer values here (such as 60.75)
5. **Frequency:** \[20 - 20000 Hz, default = 440]

</details>


# Effect Plugins


# Amplify, Mix and Pan Effects

## Amplify Left or Right Channel

Amplify or attenuate a single audio channel (Left or Right) from a stereo track

{% file src="/files/E8Jn44I1KTjyFRcN9OKQ" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

If you have a stereo track and want to amplify or attenuate one channel only without using the mouse, this plugin will do it.

Parameters:

1. **Channel** 0=left channel, 1=right channel (default 0).
2. **Volume** \[dB]: amplify or attenuate the channel (default 0 dB, no change in volume).

</details>

### **Bass to Center**

Frequency-selective filter to crossfeed (mix) bass frequencies to center (mono). Requires stereo tracks

{% file src="/files/OXWorjhZDcYN7L2KbtgJ" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: Jvo Studer.

Frequency-selective filter to crossfeed (mix) bass frequencies to center (mono). Requires stereo tracks.

Simulates the "Elliptic EQ" filter found on vinyl mastering consoles by means of a first order high-pass filter in the side-channel (L-R difference). This is useful to bring the bass drum (or beat in electronic music) to the center. If bass frequencies are partially out of phase there will be some bass loss which can be compensated for with the Bass Boost shelf filter (typically +0.5 dB to +2 dB will be sufficient).

Parameters:

1. **Crossover Frequency:** \[10 - 500 Hz, default = 150]
2. **Bass Feed Proportion:** \[20 - 100 %, default 95]
3. **Bass Boost:** \[0 - 6 dB, default 0.5]

</details>

### Center Pan Remover

Removes center-panned content in stereo tracks by inverting and making mono

{% file src="/files/nPO2YFXyGzcoEEqx7IoY" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Removes center-panned content in stereo tracks by inverting and making mono. Can be used to mitigate vocals in music tracks if the vocals are panned to center. Optionally you can choose a band of frequencies to invert, rather than the whole channel. This may be less destructive of the content panned away from center. The resulting audio retains two channels, but sounds mono because both channels are panned to center.

Parameters:

1. **Invert band or channel:** \[0="band", 1="channel", default = channel]
2. **Remove frequencies above...:** \[20 - 20000 Hz, default 500]
3. **Remove frequencies below\...:** \[20 - 20000 Hz, default 2000]

</details>

### Channel Mixer

A multi-purpose tool that can perform almost any type of channel mixing task on an unsplit stereo track.

{% file src="/files/D5bgzp6RTI3BerIQ3EBc" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton.

A multi-purpose tool that can perform almost any type of channel mixing task on an unsplit stereo track.

Typical uses include:

* Copying one channel of a stereo track to the other channel
* Converting a stereo track into 2 channel mono
* Stereo "widening" (or narrowing)
* Swapping left and right channels of a stereo track
* Vocal Removal
* [Mid-Side](http://en.wikipedia.org/wiki/Microphone_practice#M.2FS_technique:_Mid.2FSide_stereophony) decoding.

The plugin has 15 presets for the above and similar tasks. If the presets are not used, custom values for the mix of original left and right channel in the left and right outputs can be entered in the parameters as listed below. All values are percentages with a possible range of -100% to +100% and all default to zero value.

<-- LEFT CHANNEL OUTPUT -->

1. **from original Left channel (%):**
2. **from original Right channel (%):**\
   <-- RIGHT CHANNEL OUTPUT -->
3. **from original Left channel (%):**
4. **from original Right channel (%):**

This [Zip archive](https://wiki.audacityteam.org/w/images/3/3d/Channel-mixer.zip) download also includes a comprehensive 'FAQ' help file.

**List of Presets:**

1. Mono (Average): Creates identical left and right with 50% from the Left channel and 50% from the Right channel.
2. Mono (Both Left): Makes both channels the same as the original Left channel.
3. Mono (Both Right): Makes both channels the same as the original Right channel.
4. Extra Narrow: Almost mono but retains a little stereo separation.
5. Narrow Stereo: Reduces the stereo width (requires that the original track is true stereo).
6. Wide Stereo: Expands the stereo width (requires that the original track is true stereo).
7. Extra Wide: Same as 'Wide Stereo' but more extreme.
8. Centre to Left: Moves sounds from the middle of the stereo stage to the Left.
9. Centre to Right: Moves sounds from the middle of the stereo stage to the Right.
10. Swap Left/Right: What it says on the tin.
11. Vocal Remover (L/R invert): Removes sound from the center of the stereo mix and inverts the right channel.
12. Vocal Remover (mono): Removes sound from the center of the stereo mix.
13. Invert Left: Inverts the Left channel.
14. Invert Right: Inverts the Right channel.
15. Mid-Side Decode: A simple Mid-Side decoder.

</details>

### Cross Fade In

Cross Fade In applies a "curved" fade that is different from the linear Fade in that will result in equal RMS volume throughout the faded section when used in conjunction with the **Cross Fade Out** effect to perform a crossfade.

{% file src="/files/N0h2CGtifBREte9Rmzck" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: \[multiple contributions]

Despite the name this effect does not perform an automatic "crossfade" between two tracks or adjoining audio. Instead Cross Fade In applies a "curved" fade that is different from the linear Fade in. The curve used is one that will result in equal RMS (average) volume throughout the faded section when used in conjunction with the "Cross Fade Out" effect, to perform a crossfade.

</details>

### Cross Fade Out

**Cross Fade Out** applies a "curved" fade that is different from the linear Fade Out. The curve used is one that will result in equal RMS (average) volume throughout the faded section when used in conjunction with the **Cross Fade In** effect, to perform a crossfade.

{% file src="/files/SPRvzb1UA0auAYDCtyE1" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

**Cross Fade Out** applies a "curved" fade that is different from the linear Fade Out. The curve used is one that will result in equal RMS (average) volume throughout the faded section when used in conjunction with the **Cross Fade In** effect, to perform a crossfade.

</details>

### Fade In and Out

Define the length of fade-in and fade-out selections without using a mouse or cursor keys.

{% file src="/files/2JX9JKPeyrC9iyWqmHlC" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Define the length of fade-in and fade-out selections without using a mouse or cursor keys. Note Audacity has a Selection Toolbar providing a screen-reader friendly display of selection start time and duration which you could use for similar purpose.

Parameters:

1. **Fade in time:** \[seconds, maximum 30]
2. **Fade out time:** \[seconds, maximum 30]

</details>

### Panning

This plugin will statically pan your stereo audio anywhere between left and right channels.

{% file src="/files/orVp6iIGbGl5ATtGk4Wu" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Authors: [David R.Sky](https://audionyq.com/david_r_sky), Dominic Mazzoni

Audacity lets you pan with the keyboard instead of the mouse, but if you prefer the pan to modify the waveform immediately, this plugin will statically pan your stereo audio anywhere between left and right channels. There is only one parameter:

1. **Pan position:** \[0=left, 1=right, default is 0.5 (center-panned)]

</details>

### Panning (LFO)

Panning is controlled by a low frequency oscillator

{% file src="/files/6umxhFqkf2Okyafz6QwD" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Panning is controlled by a low frequency oscillator. Only works on unsplit stereo tracks. Pan the audio to center before use for best results.

Parameters:

1. **LFO frequency:** \[Hz, 0.02 - 20, default 0.1]
2. **LFO waveform:** \[sine, triangle, saw, inverted saw, pulse]
3. **Pulse waveform duty cycle:** \[percent, default 50]
4. **LFO starting phase:** \[degrees, -180 - +180, default 0]
5. **Leftmost pan position:** \[percent, default 5] - 0%=left channel, 50%=center, 100%=right channel
6. **Rightmost pan position:** \[percent, default 95] - 0%=left channel, 50%=center, 100%=right channel

</details>

### Panning (random)

Randomly pans stereo audio from one side of the stereo field to the other

{% file src="/files/JQTf1YYBa7hvJrKLWyde" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Randomly pans stereo audio from one side of the stereo field to the other - just like someone is playing around with the panning knob. Requires an unsplit stereo track.

Parameters:

1. **Maximum random panning speed:** \[Hz, 0.01 - 10.00, default 0.2] - how fast the random panning changes occur
2. **Maximum stereo width:** \[percent, 0 - 100, default 100] - how far away from center the signal is panned. 0% gives no panning, 100% results in the signal being randomly panned between hard left and hard right pan positions.

</details>

### Pseudo-Stereo

Creates an artificial stereo effect that can be useful for giving some "depth" to mono recordings.

{% file src="/files/J4PuTllwSrQK0G3huKd5" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

A stereo spatializer effect. Creates an artificial stereo effect that can be useful for giving some "depth" to mono recordings. Mono tracks must be converted to a 2 channel track before using the effect. To do so, click above the Mute and Solo buttons in the Track Control Panel, choose Edit > Duplicate then click on the name of the upper track and select "Make Stereo Track" from the dropdown menu.

Parameters:

1. **Select source channel:** \[Left (upper) or Right (lower)]
2. **Delay factor (%):** \[0 to 100, default 30] Higher values will produce a wider stereo effect but may sound echoey.
3. **Effect mix (%):** \[0 to 100, default 80] 0% = Dry (original signal with no effect), 100% = Wet (effect and no original signal). Higher settings will produce a more pronounced stereo effect but may leave a "hole" in the center of the stereo field. Lower values produce a more subtle effect with the original signal centered mid-stage.

</details>

### Ramp Panning

Evenly pan your stereo audio, starting at one point in the stereo field and ending at another.

{% file src="/files/D9QpQc6MvChWwYtLgquK" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Evenly pan your stereo audio, starting at one point in the stereo field and ending at another. -10 corresponds to 100% left, 0 to center and +10 to 100% right.

Parameters:

1. **Start position:** from \[where -10 - +10, default -10]
2. **End position:** from \[where -10 - +10, default +10]

</details>

### Repair Channel

For repairing damage to one channel of a stereo track by overwriting the damaged region with audio from the other channel

{% file src="/files/gu3weCHnPMeiQMrqGfO5" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

For repairing damage to one channel of a stereo track by overwriting the damaged region with audio from the other channel. Select the damaged audio and allow additional space for cross-fading, then apply the effect.

The plugin includes an option for *Stereo Simulation* which will often make repairs to stereo recordings less noticeable. For tracks that have little or no stereo channel separation and for synthesized tones, best results will probably be achieved with Stereo Simulation disabled.

Parameters:

1. **Which Channel to Repair:** \[Left Channel or Right Channel] The upper channel of a stereo pair is the Left channel.
2. **Stereo Simulation:** \[Enabled or Disabled]
3. **Cross-fade Time:** \[0% to 50%] 0% will cut directly from one channel to the other without fading. At 50% the fades will occupy the entire selection. For the default 20% fade, the selection should be at least 40% longer than the actual damage to be repaired.

</details>

### Stereo Butterfly (static)

The original Stereo Butterfly plugin which can be spread wide (1, full stereo), closed (0, sounding mono), or somewhere in-between

{% file src="/files/L7AvbB4EBQcRawHayEVD" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

The original Stereo Butterfly plugin, the name coming from a butterfly's wings, which can be spread wide (1, full stereo), closed (0, sounding mono), or somewhere in-between. Stereo Butterfly can even mirror the left and right channels (-1... the butterfly's flipped!). And also anywhere between the extremes from -1 to 1.

Parameters:

1. **Stereo width** \[width, between -1.0 and +1.0]

</details>

### Stereo Butterfly (LFO)

Second in the Stereo Butterfly series. It takes stereo audio and makes it sound like the left and right channels are switching back and forth with each other.

{% file src="/files/pbGsWCTX9d2ieZRE5GRs" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Second in the Stereo Butterfly series. It takes stereo audio and makes it sound like the left and right channels are switching back and forth with each other. You can define the LFO (low frequency oscillator) rate. As in Stereo Butterfly (static), -1 is stereo channels fully flipped with each other, 0 sounds like mono, and 1 is full regular stereo. The difference here is that you can define two widths, so defining how you want the stereo to be manipulated over time. For instance, from -1 to +1 means Stereo Butterfly flips the left and right channels with each other at the frequency you set. If you set the two numbers at 0 and +1, the stereo audio will change between mono-sounding and regular stereo. Set at -1 and 0, the effect will be of fully flipped stereo changing to mono-sounding. Any other numbers you choose between -1 and +1 will give intermediate effects.

Parameters:

1. **LFO frequency:** \[between 0.01 and 20 Hz]
2. **Width1:** Stereo width from \[range from -1.00 to +1.00]
3. **Width2:** to Stereo width \[range from -1.00 to +1.00]

</details>

### Stereo Butterfly (ramp)

Third in the series of Stereo Butterfly plugins. As with the previous two, 0 setting sounds like mono, +1 is regular stereo, -1 is left and right channels flipped with each other.

{% file src="/files/580NB2PUU6ob7P0zp9eQ" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Third in the series of Stereo Butterfly plugins. As with the previous two, 0 setting sounds like mono, +1 is regular stereo, -1 is left and right channels flipped with each other.

Select which value to start at and which value to finish at. The default is from 0 to 1, which creates the effect of your stereo audio starting out sounding mono, then gradually widening to full stereo as the selection progresses. Start and finish values may lie anywhere between -1 and +1.

Parameters:

1. **Spread stereo from...** \[range from -1.00 to +1.00]
2. **to:** \[range from -1.00 to +1.00]

</details>

### Stereo Widener

Gives the illusion of widening stereo audio. The effect produces different results depending on whether you are listening to the audio through speakers or headphones, and the distance stereo speakers are apart.

{% file src="/files/EFKNrL1GanympcD8PLtH" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Gives the illusion of widening stereo audio. The effect produces different results depending on whether you are listening to the audio through speakers or headphones, and the distance stereo speakers are apart. The widener works by inverting both left and right channels of stereo audio, then panning those inverted signals somewhere between the center pan position and the opposite channel.

Parameters:

1. **Inverted signal volume:** \[-48 dB - -6 dB, default -18 dB]
2. **Pan position:** \[0 (center) to -100 (opposite channel), default 0]
3. **Time offset:** \[0 - 20 ms, default 0] - applying an offset can enhance the illusion.

</details>


# Delay and Reverb

A delay effect is similar to an echo, in that the sound is repeated (after a brief time delay) one or more times after the original sound.

### Bouncing Ball Delay

A delay plugin where, like a bouncing ball, the bounces get faster and faster.

{% file src="/files/0g5MPMczGiGpRkLMVTbu" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A delay plugin where, like a bouncing ball, the bounces get faster and faster. You can set time that the bounces increase in speed with each delay, the number of bounces, and how much in dB the sound decreases with each bounce.

Parameters:

1. **Decay amount** \[dB]: how much quieter each bounce is.
2. **Delay time** \[seconds]:
3. **Number of bounces** \[times]:

**Note:** The latest available delay plugin in Audacity includes bouncing ball delay and pitch shifting. but not panning.

</details>

### Bouncing Ball Delay with Panning

Combines the [Bouncing Ball Delay](#bouncing-ball-delay) with a panning effect.

{% file src="/files/628PUOktbe613FPr4RPy" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Combines the Bouncing Ball Delay with a panning effect. A delay effect in which the echo get faster, like a bouncing ball. Each echo is panned further from center by the designated amount.

This plugin has bugs and may produce unpredictable results with some settings, but is basically functional.

Parameters:

1. **Decay amount** \[dB]:
2. **Delay time** \[seconds]:
3. **Number of bounces** \[times]:
4. **Pan spread movement** \[move]: - defines the extent to which each bounce will be increasingly far from center

**Note:** The latest available delay plugin in Audacity includes bouncing ball delay and pitch shifting, but not panning.

</details>

### Bouncing Ball Delay with Tone Shift

Combines the [Bouncing Ball Delay](#bouncing-ball-delay) with Tone Shift plugins.

{% file src="/files/P6Yoj6LdOhlDl5B8J0pN" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Combines the Bouncing Ball Delay and Delay with Tone Shift plugins. A delay effect in which the echoes get faster, like a bouncing ball. Each echo is shifted in pitch by the designated amount in semitones plus cents (hundredths of a semitone).

Parameters:

1. **Decay amount** \[dB]:
2. **Delay time** \[seconds]:
3. **Number of bounces** \[times]:
4. **Tone shift (whole)** \[semitones]:
5. **Tone shift (cents)** \[cents]:

**Notes:**

1. The value for the decay amount (in dB) for an increasing pitch can be left at the default 0. However, with decreasing pitch, the lengths of the delays increase over time, overlapping with each other. In this case, clipping can occur if the decay value is left at 0.
2. **Note:** The latest available delay plugin in Audacity includes bouncing ball delay and pitch shifting.

</details>

### Reverse Bouncing Ball Delay

The fastest bounces come first, gradually slowing down - reverse of the [Bouncing Ball Delay](#bouncing-ball-delay) effect.

{% file src="/files/SvoiUwTtf5eeK5DrzaEI" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

The fastest bounces come first, gradually slowing down - reverse of the bouncing ball delay effect. Includes normalisation. **Note:** The latest available delay plugin 3 in [Audacity](https://web.audacityteam.org/download/) includes reverse bouncing ball delay without normalisation, and also includes pitch shifting.

Parameters:

1. **Decay amount:** \[0.00 - 5.00 dB, default 0.50]
2. **Delay time:** \[0.01 - 1.00 seconds, default 0.05]
3. **Number of bounces:** \[1 - 100, default 15]

</details>

### Reverse Bouncing Ball Delay with Tone Shift

The fastest bounces come first - reverse of the [Bouncing Ball Delay](#bouncing-ball-delay), and each bounce is tone shifted.

{% file src="/files/fHDx7H6uwKMQEPdOOZ7j" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

The fastest bounces come first - reverse of the bouncing ball delay, and each bounce is tone shifted.\
**Note:** The latest available delay plugin in Audacity includes reverse bouncing ball delay and pitch shifting.

Parameters:

1. **Decay amount:** \[0.00 - 5.00 dB, default 0.05]
2. **Delay time:** \[0.01 - 1.00 seconds, default 0.02]
3. **Number of bounces:** \[1 - 100, default 15]
4. **Tone shift (whole):** \[-24 - +24 semitones, default -1]
5. **Tone shift (cents):** \[-100 - +100, default 0]

</details>

### Chimes delay

Adds random delay to your audio, and randomly changes the pitch of each delay if you specify a note list.

{% file src="/files/pKuhCO9Nq4GxEI9YRj1H" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

Based on chimesdelay.ny by [David R.Sky](https://audionyq.com/david_r_sky)

Adds random delay to your audio, and randomly changes the pitch of each delay if you specify a note list (which is where the name 'Chimes Delay' comes from).

Each number in the note list indicates how many semitones your audio should be pitch shifted (along with matching tempo shift). For example, 0 indicates no pitch shift, 12 indicates a rise of 12 semitones (one octave), -5 indicates drop of 5 semitones (like going from C down to G below that C note).

**Example:** If the audio you have loaded into Audacity is C3, the above note list would randomly produce the following major-sounding notes:

C1 C2 G2 C3 E3 G3 C4 D4 G4

If you delete this note list, a list of notes will be generated between a lower and upper number. The default values of these two numbers are -12 semitones (decrease of 1 octave) and +24 semitones (increase of 2 octaves) respectively.

If your audio is stereo, each random delay with random volume and pitch change will also be randomly panned anywhere between left and right. (It is best that your audio is first panned to center before applying Chimes Delay.)

**Tips:**

* Adding a bit of regular delay and/or other effects before applying Chimes Delay results in a richer sound.
* If you want a particular note (from the note list) to be repeated more often, you can enter it more than once in the list.
* If you simply want your audio randomly delayed with no multiple pitch changes, either enter just one number into the note list, or enter the same number into the minimum and maximum notes fields.
* It is possible that total length of your resulting audio will be maximum delay time \*plus\* the duration of your original audio. This may be still longer if the final delay(s) is/are decreased in pitch (resulting in a reduced tempo).

Warning: If your original audio is non-musical, Chimes Delay will not make it musical!

\
Parameters:

1. **Chimes note list:** \[default list: -24 -12 -5 0 4 7 12 14 19]
2. **Minimum note:** \[semitones from -12 to +48]
3. **Maximum note:** \[semitones from -12 to +48]
4. **Maximum delay time:** \[seconds from 0.5 to 120] - the maximum delay of the random delays
5. **Minimum volume:** \[percentage] - the minimum random volume that each random delay can have. If you want no random amplitude changes, set this field to 100 percent.
6. **Number of chime delays:** \[from 1 to 100] - how many delays within the maximum delay time.

Acknowledgement due to Steven Jones whose "Harmonic Noise" generator plugin is the source for Nyquist code to handle a string-input note list (David Sky's original version only).

</details>

### Delay BPM with Panning

Applies a delay effect based on a specified tempo (beats per minute), with optional panning and filtering of the delayed sound.

{% file src="/files/GEggqcAzcEoVZSV7TP4o" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: Felipe Zanabria\
(based on code by Steve Daulton)

Applies a delay effect based on a specified tempo (beats per minute), with optional panning and filtering of the delayed sound. Requires a stereo track.

Parameters:

1. **Decay:** \[0 - 24 dB, default -6dB] - how much quieter each subsequent delay is.
2. **Tempo:** \[1 - 500 bpm, default 120 bpm] - Specifies the tempo for the delay.
3. **Note values:** \[Choice: "Half note" to "Sixty-fourth note", default "Eighth note"] - Acts as a tempo multiplier. The default "Eighth note" produces echoes at "double tempo", whereas "Sixteenth Note" would produce echoes at 4x the tempo setting.
4. **Number of echoes":** \[1 - 100, default 5]
5. **Pan spread":** \[-1 to +1, default 0] - the amount of side to side panning of the echoes. When positive, the echo is initially panned to the right. When negative, the echo is initially panned to the left. Subsequent echoes pan side to side. When zero, the echo is mono at the center of the stereo mix.
6. **Optional filters:** \[Choice: None, High pass, Low pass, Band pass. Default: None]
7. **Filter frequency:** \[10 - 10000 Hz, default 1000 Hz] - The filter frequency (if enabled).
8. **Filter width (bandpass only):** \[0 - 10000 Hz, default 1500 Hz] - If the optional "Band Pass" filter is selected, the "Filter frequency" is the center frequency of the filter, and this control sets the width (in Hz).
9. **Wet level:** \[-24 - 0 dB, default 0 dB] - Reduces the level of each echo.

Note that this effect does not extend the selected audio. If you require space for echoes after the end of the track, the selection must be made long enough to accommodate the final echoes.

</details>

### Delay with High-Pass Filter

Applies a high-pass filter to a delay so that with each subsequent delay, the filter's cut-off frequency is increased.

{% file src="/files/01Bl8eOx5bFOE1MAWJt2" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Applies a high-pass filter to a delay so that with each subsequent delay, the filter's cut-off frequency is increased. A high-pass filter attenuates sound below a given cut off frequency, therefore when this plugin is applied, each delay sounds increasingly thin and lacking bass. Applied to a voice, it makes each delay sounds like it's increasingly coming from a telephone.

Parameters:

1. **Decay amount:** \[0 - 24 dB, default zero] - how much quieter each subsequent delay is
2. **Delay time:** \[0 - 5 seconds, default 0.5]
3. **Number of echoes:** \[1 - 30, default 10]
4. **Start cut-off frequency:** \[100 - 5000, default 1000] - the high-pass cut-off frequency at the start of the delay.
5. **Cut-off increase:** \[octaves, 0.1 - 5.0, default 0.5] - how much to increase the filter cut-off point with each delay.

</details>

### Delay with Low-Pass Filter

Applies a low-pass filter to a delay so that with each subsequent delay, the filter's cut-off frequency is reduced.

{% file src="/files/U66NjFGXLxNPv5YAUsNf" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Applies a low-pass filter to a delay so that with each subsequent delay, the filter's cut-off frequency is reduced. A low-pass filter attenuates sound above a given cut off frequency, therefore when this plugin is applied, each delay sounds to have increasing bass. To the author, this has the psychoacoustic effect of each delay sounding further and further away.

Based on an effect heard in a popular Cher tune in the late 1990s or later.

Parameters:

1. **Decay amount:** \[0 - 24 dB, default zero] - how much quieter each subsequent delay is
2. **Delay time:** \[0 - 5 seconds, default 0.5]
3. **Number of echoes:** \[1 - 30, default 10]
4. **Start cut-off frequency:** \[100 - 20000, default 1000] - the low-pass cut-off frequency at the start of the delay.
5. **Cut-off reduction:** \[octaves, 0.1 - 5.0, default 0.5] - how much to reduce the filter cut-off point with each delay.
6. **Normalization level:** \[0 - 1.0, default 0.95]

</details>

### Delay with Pitch Change

A delay plugin except, each delay is pitch shifted.

{% file src="/files/KeiGv1TDBWiai4weqUIn" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A delay plugin except, each delay is pitch shifted. Note that pitch changes are accompanied by a corresponding change in duration of each delay.

Parameters:

1. **Decay amount:** \[0 - 24 dB, default 0]
2. **Delay time:** \[0 - 5 seconds, default 0.5]
3. **Number of echoes:** \[1 - 30, default 10]
4. **Pitch change factor:** \[1.001 - 3.0, default 1.1]
5. **Pitch: increase or decrease:** \[default = increase] - whether each delay is increased or decreased in pitch
6. **Normalization level:** \[0.0 - 1.0, default 0.95]

</details>

### Delay with Stereo Flip

This is a stereo delay effect: with each delay, the stereo channels are flipped from left to right and vice versa.

{% file src="/files/k7Mvk5oT7jn6X3Hd5Azn" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

This is a stereo delay effect: with each delay, the stereo channels are flipped from left to right and vice versa. Inspired by a sound effect heard in the opening track of Mike Oldfield's "Songs From Distant Earth."

Parameters:

1. **Decay amount:** \[0 - 24 dB]
2. **Delay time:** \[0 - 5 seconds]
3. **number of delays:** \[1 - 100]
4. **Normalization level:** \[0 - 1, default 0.95]

</details>

### Delay with Tone Shift

Similar to pitchshift.ny except you can define in semitones how much each delay is to be pitch shifted.

{% file src="/files/ab9sL2AWfi6gKfRa6iYf" %}
Download link
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Similar to pitchshift.ny except you can define in semitones how much each delay is to be pitch shifted. A shift of 1 semitone means each delay is increased in pitch by 1 semitone, a shift of -1 means a decrease of 1 semitone. Includes whole semitones plus semitone cents (hundredths of a semitone).

Both plugins are best applied to relatively short duration audio, or few number of delays for longer audio. Otherwise Audacity will be working a long time. Same thing seems to happen if there is already pitch shifting within the audio.

</details>


# Distortion Effects

### Harmonic Enhancer

Adds high frequency harmonics to brighten very dull recordings that don't respond to [Equalization](https://manual.audacityteam.org/o/man/equalization.html).

{% file src="/files/fMtTa5cvcRCI2Qxc8Y6J" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Jvo Studer

Adds high frequency harmonics to brighten very dull recordings that don't respond to [Equalization](https://manual.audacityteam.org/o/man/equalization.html). On already good recordings, you can add a little extra "sparkle" or "air". The harmonics are generated by soft-clipping the high frequency band as in a diode limiter, then recombining this signal with the original.

Parameters:

1. **Enhancer Crossover Frequency:** \[2000 to 4500 Hz - default=3200] - lower this for very dull sources, or increase it to add only very slight or subtle high frequency harmonics.
2. **Enhancer Drive:** \[-10 to 10 dB - default = 0] - increase this to generate more harmonics and vice versa.
3. **Harmonic Generator Mode:** \[Even order,Odd order - default = Even] - generates even harmonics or odd harmonics. Even harmonics tend to be less harsh.
4. **Enhancer Noise Gate Threshold:** \[-40 -16 dB - default = -28] - increase this to prevent adding un-necessary noise in quieter recordings.
5. **Enhancer Mix Level:** \[-26 to +6 dB - default = -10] - how much of the generated harmonics are mixed into the original audio.
6. **Output:** \[Mix (Normal),Effect Only,Effect Level - default = Mix] - the two "effect" modes let you see and hear the generated harmonics on their own. Use "Effect Level" specifically to test if the Enhancer Drive level is set correctly. Edit > Undo and run Harmonic Enhancer in Mix (Normal) mode to apply the effect.

</details>

### Tape Saturation Limiter

A tape saturation simulation effect.

{% file src="/files/eJXndBMeCDzNXyVfLp1L" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Jvo Studer

A tape saturation simulation effect. When used as intended this plugin enhances the apparent loudness of an audio track, adding just a little controlled distortion, similar to the effect of recording on a tape-based recorder with a "hot" signal. It is based on a soft clipping limiter but also "shapes" the high frequency response. The effect is not calibrated for precise modelling of a real tape recorder, but nevertheless should be capable of producing a similar tonal character.

1. **Saturation threshold:** \[-6 to -1 dB. Default = -3 dB]. The level at which the soft clipping begins.
2. **Limiting ratio:** \[1 (soft) to 4 (hard). Default 2]. The "hardness" of the clipping. High values will tend to create a more harsh sound.
3. **High freq. saturation crossover:** \[2000 to 9000 Hz. Default = 4500 Hz)] The crossover frequency where high frequency signals are limited earlier than low frequency signals.
4. **High freq. saturation reduction:** \[-8 to -1 dB. Default = -5 dB] Sets by what amount the limiting of high frequency signals exceeds that of low frequency signals. The more negative this setting, the more that high frequencies will be shaped.
5. **Auto make-up gain:** \[(choice) Off or On. Default = Off] Applies amplification after processing to make up for the lowering of the peak level produced by the effect.

</details>

{% hint style="info" %}
It is recommended to [Normalize](https://manual.audacityteam.org/o/man/normalize.html) the audio track to 0 dB before applying this effect so that the Saturation threshold can be conveniently set to a predictable level.
{% endhint %}


# Dynamics Processing

### Broadcast Limiter II

Gives you the possibility to overdrive an audio track without introducing ugly digital distortion noise.

{% file src="/files/mzvwDM8YNfE0BbE73bdz" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Edgar-rft

Gives you the possibility to overdrive an audio track without introducing ugly digital distortion noise. The Limiter cuts all peaks above the given threshold, rounds the edges to reduce ugly distortion, while simultaneously amplifying the whole track to the maximum limit. This is a "soft clipping" effect.

Parameters:

1. **Threshold:** sets the 'cutting edge' in a linear volume number from 0.0 to 1.0

The minimum threshold is -90dB, so you can set the threshold slider to 0.0 and listen to 1-bit of a 16-bit recording if you want. The plugin has no memory limits, it can process audio tracks of several hours in length without problems.

</details>

### Broadcast Limiter III

Similar to Broadcast Limiter II with an added Exciter

{% file src="/files/AoByj5O8QwWElg2rRcie" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Edgar-rft

Is in principle a similar "soft clipping" effect as [Broadcast Limiter II](#broadcast-limiter-ii), but adds an Exciter to control or intensify the high-range distortion. This function is often desired by musicians to make e.g. electric guitars or drum sets sound more aggressive.

Parameters:

1. **Exciter:** controls the high-range distortion in linear numbers from 1 to 10
2. **Threshold:** sets the 'cutting edge' in a linear volume number from 0.0 to 1.0

The plugin has no memory limits, it can process audio tracks of several hours in length without problems.\\

</details>

### Hyperexp

The Hyperexp effect is a type of compression.

{% file src="/files/zkJl7UDvwI2StBp2taqs" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steven Jones.

The Hyperexp effect is a type of compression. High amplitude sections of approximately unity are relatively unchanged. Low amplitude sections are greatly amplified. The effect is a partial nullification of the amplitude envelope. There is one parameter, which is to choose to normalize or not, the default choice being "yes".

</details>

### Level Speech

This effect is designed to mitigate problems in speech recordings where there are very large variations in the loudness / amplitude of the recorded voice or voices.

{% file src="/files/zJauV5P5TM7i5DOE85eF" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

This effect is designed to mitigate problems in speech recordings where there are very large variations in the loudness / amplitude of the recorded voice or voices. A typical situation might be a conference recording where one person's voice is much louder than the other people present.

Technically, it is a special kind of "dynamic range compression" effect, to "level" out variations in amplitude (reduce dynamic range), particularly for speech recordings. Usage of the effect is greatly simplified compared to most *traditional* compressor effect, by combining control of all of the effect parameters into a single "Leveling Amount" control.

Parameters:

1. **Leveling Amount (%):** (0 to 100% default 50%) Higher values produce a stronger effect.

</details>

### Limiter (Audacity <3.6)

Use the *Limiter* effect to pass signals below a specified input level unaffected or gently reduced, while preventing the peaks of stronger signals from exceeding this threshold. Mastering engineers often use limiting combined with make-up gain to increase the perceived loudness of an audio recording during the audio mastering process.

This limiter effect provides two basic types of effect; "limiting" and "clipping". The "limiting" effect is a special kind of [dynamic compression](https://manual.audacityteam.org/man/compressor.html) that responds very rapidly to peaks in the waveform. The "clipping" effect is a kind of [distortion](http://en.wikipedia.org/wiki/Distortion_%28music%29) that changes the shape of the waves by "clipping" off the high and low peaks.

{% file src="/files/7sniGK4f9McojFNCMSBr" %}

<details>

<summary>Details</summary>

![](/files/WVSUBFFcsXBavL35w1kk)

Author: Steve Daulton

Usage:

### Type

Soft Limit (default) progressively reduces the [gain](https://manual.audacityteam.org/man/glossary.html#gain) as the amplitude of the waveform approaches the ["Limit to (dB)"](https://manual.audacityteam.org/man/limiter.html#limit_to) threshold and prevents the waveform from exceeding that level.

Hard Limit makes no change to the audio until the peaks reach the "Limit to (dB)" threshold. Where the input level (after applying optional [input gain](https://manual.audacityteam.org/man/limiter.html#Input_Gain)) exceeds the threshold, an equal amount of negative gain is applied so that the peaks never exceed the threshold.

Hard Clipping is the simplest method for reducing peaks. It just chops off the peaks at the "Limit to" threshold. Note that [clipping](https://manual.audacityteam.org/man/glossary.html#clipping) causes distortion. Hard clipping may be useful for purposefully introducing distortion on high peaks, for example to add high harmonics to percussive sounds. Excessive use of hard clipping creates a harsh distortion that is usually unpleasant. For heavier use of distortion the "Soft Clipping" option may be preferable. Hard clipping may also be useful for producing synthetic signals for scientific purposes.

Soft Clipping works in much the same way as "Hard Clipping", but is less fierce in that it "squashes" the peaks rather than cutting them off flat. Soft clipping starts to reduce the peaks a little below the threshold level and progressively increases its effect as the input level increases such that the threshold is never exceeded. When applied heavily, the effect is similar to a "Fuzz Box" effect.

The difference between "Hard" and "Soft" clipping is that "Hard" clipping cuts off the peaks flat, whereas "Soft" clipping rounds the corners where the waveform has been clipped, resulting in a softer sounding distortion.

### Input Gain

Amplifies the audio before applying the limiter.

As the limiter acts on audio peaks that exceed the [Limit to (dB)](https://manual.audacityteam.org/man/limiter.html#limit_to) threshold, it will clearly have little or no effect on audio tracks in which all of the audio is below the threshold level. In such cases, the audio should be amplified before limiting so that the limiter can work properly. Amplification could be applied using Audacity's [Amplify](https://manual.audacityteam.org/man/amplify.html) effect, or more conveniently using the "Input Gain" controls.

For mono tracks, only the "mono/Left" gain control has any affect. For stereo tracks the left and right channel gains may be adjusted independently of each other.

### Limit to (dB)

Limits the amplitude (after optional amplifying) to this level.

Whichever [type](https://manual.audacityteam.org/man/limiter.html#type) is selected, the limiter prevents the waveform from exceeding this level. (Note that [makeup gain](https://manual.audacityteam.org/man/limiter.html#mugain), if used, is applied to the waveform *after* it has been limited.)

### Hold

This applies only to the "Hard Limiter" and "Soft Limiter" settings. It has no effect when using either of the "Clip" settings.

In order to catch even the most sudden peak, the limiter "looks ahead" to see when the next peak is coming, and begins to reduce the gain just a little in advance of the peak. The gain level is then held at the reduced level for a short while before being released back to the normal level. Looking ahead and holding the gain level allows the gain to adjust more smoothly and reduces the amount of distortion. The shorter the "Hold" duration, the faster the limiter responds to changes in input level. It is generally desirable for the limiter to respond very rapidly, but responding *too* rapidly will produce distortion, especial when processing low frequency sounds such as a double bass.

Normally this control can be left at the default (10 ms) setting.

### Apply makeup gain

Amplifies the output (post limiter) close to 0 dB (usually just a little below 0 dB). This is useful when using the limiter to maximize loudness.

Basically, a limiter reduces the gain (negative amplification) when the audio exceeds the "threshold" ("Limit to") level. The "Hold" time is how long (in milliseconds) the gain remains at the reduced level before returning back to normal. Usually you would want the gain to return back to normal pretty quickly after the peak has passed because you normally only want to limit the peaks and then return back to normal as quickly as possible. However, there is a problem if the limiter responds too quickly, and this is most noticeable when processing bass instruments.

If there is a very low note, say below 100 Hz, then the time from one peak to the next may be longer than the "hold" time. Thus the gain will start to reduce as the peak level rises, then will start to "release" (return to normal gain) between one peak and the next. This rapid "fluttering" of the gain level distorts the waveform, which is usually undesirable. The solution to the problem is simple - just hold the gain at the reduced level for a little while so that the limiter is responding to the overall shape of the note and not the individual waveform peaks.

</details>

### Limiter (legacy)

A "lookahead" dynamic range limiter to compress peaks that extend beyond the set threshold value.

{% file src="/files/6s0vCPcIVCcMNl8d6GUJ" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton.

A "lookahead" dynamic range limiter to compress peaks that extend beyond the set threshold value. This is not a "wave shaper", it is a very fast compressor and is able to limit the maximum peaks with minimal harmonic distortion.

This limiter is an ideal choice for peak limiting live music recordings due to the exceptionally low harmonic distortion. For best results the audio should be normalized to 0 dB before applying this effect.

Parameters:

1. **Limit to (dB):** (-10 dB to 0 dB) Sets the maximum peak level. As peaks in the original audio approach this level the gain is reduced so as to prevent the peaks exceeding the set level.
2. **Hold (ms):** (1 to 50 ms Default = 10 ms) Holds the gain at the reduced level after a peak is detected so as to prevent the gain from "riding the waveform" which would cause harmonic distortion.
3. **Make-up Gain (0=No, 1=Yes):** (Default = 1) When enabled (set to 1) the output is amplified by an amount equal to the "Limit" level. If the input audio has a peak level of 0 dB, the peak output level will also be 0 dB. When disabled the peaks are limited only.

Shorter *Hold* times allow the peaks to be tracked more accurately and the limiter will respond faster to the dynamics. If there are high levels of very low bass it will be necessary to increase the Hold time to avoid distortion. The default 10 ms hold time is sufficient for frequencies down to 100 Hz without distortion. To cleanly limit high amplitude, very low frequency bass (down to 50 Hz) the Hold should be increased to 20 ms. Setting the hold to 50 ms is sufficient right down to 20 Hz but the delay before the gain level "recovers" is likely to be too slow for most material.

**Additional notes:**

* **Threshold level:** The **Limit to (dB)** control has a range of -10 dB to 0 dB. The effect is not designed to work beyond this range. When set to 0 dB there will be no change to the audio (though any over 0 dB audio will be clipped). If set below -10 dB the *knee* will be so soft that all of the audio will be compressed, not just the peaks.
* **Stereo Tracks:** As is normal for this type of effect, the left/right channels of a stereo track are processed independently.
* **Lookahead:** The limiter looks ahead for peaks and will begin to change the gain just before the peak occurs. This ensures that all peaks, no matter how fast they occur, will be caught. The lookahead time is roughly a quarter of the hold time.
* **Knee:** The "hardness" of the knee depends on the threshold (Limit To) level. When the threshold is close to zero a hard knee is used but as the threshold is lowered the knee becomes softer so as to provide a smooth transition in gain level even with a very fast attack time. A typical threshold level of around -3 dB will have a relatively "soft knee" so as to avoid unnecessary distortion. That is, the amount of compression (compression ratio) progressively increases as the input gets louder. At the "Limit to" level the compression ratio is infinite (brick wall) which ensures that peaks will not exceed the limit.
* **Creative use:** The limiter can be used on its own, or can be used to limit peaks after running a compressor that does not use lookahead (such as the SC4 LADSPA compressor). This can produce "crisper" compression than using a lookahead compressor such as the standard Audacity compressor or Chris's dynamics compressor.
* **Over 0 dB input:** The input waveform should not exceed 0 dB. Over 0 dB input signals are treated as *illegal* and will be hard clipped to 0 dB before processing with the limiter. If necessary, the Amplify or Normalize effects should be run before applying this limiter to ensure that the input does not exceed 0 dB.

</details>

### Limiter (2)

The same as [Limiter](#limiter) except that the make up gain control is a multi-choice selection rather than a slider.

{% file src="/files/9sSDKVKEtUdgSiOLsqk8" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton.

The same as [Limiter](#limiter) except that the make up gain control is a multi-choice selection rather than a slider.

Parameters:

1. **Limit to (dB):** (-10 dB to 0 dB)
2. **Hold (ms):** (1 ms to 50 ms Default = 10 ms)
3. **Apply Make-up Gain:** \[No, Yes (default)]

</details>

### Noise Gate

Noise Gates may be used to cut the level of noise between sections of a recording.

{% file src="/files/DQvNmP5x7UdnrlOOqkO0" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton.

Noise Gates may be used to cut the level of noise between sections of a recording. While this is essentially a very simple effect, this Noise Gate has a number of features and settings that allow it to be both effective and unobtrusive and well suited to most types of audio.

Parameters:

1. **Select Function:** \[Apply the Noise Gate effect | Test the noise level | View one of the Help screens].
2. **Stereo Linking:** \[Link Stereo Tracks *(gate audio when both channels fall below the gate threshold)*| Don't Link Stereo *(gate channels independently)*]
3. **Apply Low-Cut filter:** \[No *(Do not apply filter)* | 10Hz 6dB/octave | 20Hz 6dB/octave] *Removes sub-sonic frequencies including DC offset.*
4. **Gate frequencies above:** \[0 kHz to 10 kHz] *Applies the gate only to frequencies above the set level which may be useful for reducing tape hiss, but will also introduce some 'phase shift'. Setting this below 0.1 kHz will switch this feature off.*
5. **Level reduction:** \[-100 dB to 0 dB] *How much the gated sections are reduced in volume. Values below -96 dB 'shut' the gate to produce absolute silence.*
6. **Gate threshold:** \[-96 dB to -6 dB] *When the audio level drops below this threshold the gate will 'close' and the output level will be reduced. When the audio level rises above this threshold the gate will 'open' and the output will return to the same level as the input.*
7. **Attack/Decay:** \[10 to 1000 milliseconds] *How quickly the gate opens and closes. At the minimum (10 ms) the gate will fully open and close almost instantly as the audio level crosses the threshold. At the maximum (1000 ms), the gate will begin to slowly open (fade-in) 1 second before the sound level exceeds the Threshold, and will gradually close (fade-out) after the sound level drops below the Threshold over a period of 1 second.*

For more detailed information and usage tips, read the help file included in this [ZIP package](https://wiki.audacityteam.org/w/images/a/a6/NoiseGate.zip), or the help screens included in the plugin.

</details>

{% hint style="info" %}
This effect requires the entire audio selection to be loaded into RAM. If there is insufficient available memory, the plugin and Audacity will crash. The maximum length that can be processed is dependent on the sample rate, length of audio selection, operating system, and available RAM. Please test carefully before using this effect on long (> 45 minutes) tracks to verify the limits on your computer.
{% endhint %}

### Pop Mute

The effect is like an "upside-down" [Noise Gate](#noise-gate). Whereas a [Noise Gate](#noise-gate) attenuates sounds that are below a specified threshold level, Pop Mute attenuates sounds that are above a specified threshold level.

{% file src="/files/TOe1nXlJqDfzwYsMv0pf" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

The effect is like an "upside-down" [Noise Gate](#noise-gate). Whereas a [Noise Gate](#noise-gate) attenuates sounds that are below a specified threshold level, Pop Mute attenuates sounds that are above a specified threshold level. The effect can be used to heavily attenuate loud sounds. It may be useful for rescuing recordings that suffer from loud clicks or pops.

Sounds (such as 'pops') that have a peak level above the 'Threshold' level will be lowered to a 'residual' level set by the 'Mute Level'. Be aware that ALL sounds above the threshold will be affected. Take care to avoid selecting loud sounds that should not be muted.

The effect 'looks ahead' for peaks so that it can begin to lower the level of the sound smoothly a short time before the peak occurs. This is set by the 'Look ahead' time value. After the peak has passed, the level will smoothly return to normal over a period set by the 'Release time' setting.

To attenuate brief clicks, time values of around 5 ms are likely to work well. For larger pops, values of 10 ms or more may sound better. For reverberant sounds such as hand claps, the 'Release time' may be increased so as to catch some of the reverberation.

Parameters:

1. **View Help:** \[No | Yes] (default "No") View the built-in help screen.
2. **Threshold:** \[-24 dB to 0 dB] (default -6 dB) This is the level above which sounds are acted on (reduced in level)
3. **Mute Level:** \[-100 dB to 0 dB] (default -24 dB) How much to reduce the peak level by.
4. **Look ahead:** \[1 to 100 milliseconds] (default 10 millisecond) How far to look ahead for the next "pop" or "crackle".
5. **Release time:** \[1 to 1000 milliseconds] (default 10 millisecond) How rapidly to "release" the effect and return to normal volume after the pop has passed.

</details>

### Text Envelope

Provides an alternative to the "Envelope Tool" that is accessible for visually impaired and other users that do not use pointing devices

{% file src="/files/gx2DizsVLvBmprTmAaTY" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton.

Provides an alternative to the "Envelope Tool" that is accessible for visually impaired and other users that do not use pointing devices.\
This effect provides a means to shape the volume level of a track or selection by fading from one control point level to the next. Control points are defined by a pair of numbers, the first of which sets the time position of the control point and the second defines the amplification level. Initial and final amplification settings may also be defined.\
Help screens are available in the 'Select Function' control of this effect.

Parameters:

1. **Select function:** \[choices: Apply Effect, View Quick Help, View Examples, View Tips. Default = "Apply Effect"]
2. **Time Units:** \[choices: milliseconds, seconds, minutes, percent. Default = seconds]
3. **Amplification Units:** \[choices: dB or Percent. Default = dB]
4. **Initial Amplification** \[Numeric input. Default = none]
5. **Final Amplification** \[Numeric input. Default = none]
6. **Intermediate Control Points as pairs of time and amplification** \[Pairs of numbers. Default = none]

Note: Decimal values must use a dot as the decimal separator.

</details>


# Filters and EQ

### Band-Stop Filter

A band-rejection filter that passes most frequencies unaltered, but stops those in a specific range.

{% file src="/files/RqFhEXFgRvWpc6H9H8VF" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

A band-rejection filter that passes most frequencies unaltered, but stops those in a specific range.

Parameters:

**Center Frequency**: 100.0 to 10000.0 \[Hz]. Set the 'Center Frequency' slider, or type in a value for the center of the frequency band to block.

**Stop-Band Width**: 0.250 to 4.000 \[Octaves]. Set the Stop-Band Width to determine how wide the cut frequency band will be. Smaller numbers will produce a narrower 'notch' and larger numbers will cut a broader band of frequencies.

This filter uses steep high-pass and low-pass filters to achieve the band-stop effect. The filters iterate to improve the band-stop efficiency for narrow band width and can thereby perform close to total blocking down to almost 1/4 octave.

For even narrower notches a *notch filter* should be used.

</details>

### Chebyshev Type I Filter

Type I Chebyshev filters can provide a steeper [roll-off](http://en.wikipedia.org/wiki/Roll-off) than [Butterworth filters](http://en.wikipedia.org/wiki/Butterworth_filter) but at the expense of more [ripple](http://en.wikipedia.org/wiki/Ripple_\(filters\)#Frequency-domain_ripple) in the [passband](http://en.wikipedia.org/wiki/Passband).

{% file src="/files/d2tR4R6Hc70Yfi8i8gNW" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Kai Fisher

A [Chebyshev filter](http://en.wikipedia.org/wiki/Chebyshev_filter) with options for high-pass or low-pass operation.

Type I Chebyshev filters can provide a steeper [roll-off](http://en.wikipedia.org/wiki/Roll-off) than [Butterworth filters](http://en.wikipedia.org/wiki/Butterworth_filter) but at the expense of more [ripple](http://en.wikipedia.org/wiki/Ripple_\(filters\)#Frequency-domain_ripple) in the [passband](http://en.wikipedia.org/wiki/Passband). The plugin provides unity gain (except for ripple) in the passband. This plugin is capable of providing an exceptionally steep cut-off transition by selecting a "high order".

Parameters:

1. **Filter Type:** \[choice: Lowpass / Highpass] (default Lowpass)
2. **Order:** \[choice 2 to 30 in steps of 2] (default 6) The higher the "order" number, the steeper the cut-off transition from the passband to [stop band](http://en.wikipedia.org/wiki/Stopband).
3. **Cut-off Frequency:** \[1 to 48000 Hz] (default 1000 Hz). The actual filter frequency is limited to half of the track sample rate (the [Nyquist frequency](http://en.wikipedia.org/wiki/Nyquist_frequency)). For example, if the track sample rate is 44100 Hz, then setting the Cut-off frequency to any value greater than 22050 will produce the same result as setting the frequency to 22050 Hz.
4. **Ripple:** \[0.0 to 3.0 dB] (default 0.05) Lower values will produce less ripple in the passband at the expense of a less steep cut-off. Higher values will produce a steeper cut-off but with more ripple in the passband. The difference in ripple and cut-off slope is likely to be most noticeable with low order filters and may be noticed as a slight boost or ringing in the passband just before the cut-off frequency.

When Ripple is set to zero, the passband response is essentially flat and the filter has the characteristics of a Butterworth filter.

The high-pass and low-pass filters may be used one after the other to produce a "flat topped" [band-pass](http://en.wikipedia.org/wiki/Band-pass_filter) effect, in which the lower cut-off is provided by the high-pass filter and the upper cut-off provided by the low pass filter. The passband is the frequency band that passes between these two cut-off frequencies.

</details>

### Classic EQ

An Equalizer (EQ) that can modify more than one band at a time.

{% file src="/files/WUzXJdoyyDwI1LS2yBpr" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Authors: Josu Etxeberria and David R.Sky.

An Equalizer (EQ) that can modify more than one band at a time. You have 15 bands to choose from and can manipulate all of of them independently by moving their sliders.

</details>

### Comb Filter

The name 'comb' filter comes from how it acts on the audio spectrum it's applied to: it looks like a comb with the teeth pointing up.

{% file src="/files/bbpqqXaqezgs2ljCqSbB" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

The name 'comb' filter comes from how it acts on the audio spectrum it's applied to: it looks like a comb with the teeth pointing up. For example, if you set the comb frequency at 1000 Hz, the comb filter emphasizes 1000 Hz as well as 2000, 3000, 4000 Hz and succeeding frequencies. Produces an 'airy' effect, which is more pronounced the higher the comb decay value is set, and resonance is increasingly produced as well.

A comb filter can be produced using flanger-like settings on a delay effect, but this filter does not use a delay to get the result, so it does sound somewhat different.

Parameters:

1. **Comb frequency:** \[Hz, 20 - 5000, default 440]
2. **Comb decay:** \[0 - 0.1, default 0.025]
3. **Normalization level:** \[0.0 - 1.0, default 0.95]

</details>

### Customizable EQ

Customizable single-band equalizer.

{% file src="/files/7fOZiUlPJXjgDn7Du0jh" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Parameters:

1. **Center frequency:** \[Hz, 20 - 20000, default 440]
2. **Band width in octaves** \[octaves, 0.1 - 5.0, default 1.0]
3. **Gain:** \[dB, -48.0 - +48.0, default 0.0]
4. **Apply normalization?** \[Default = "no"]
5. **Normalization level:** \[0.0 - 1.0, default 0.95]

</details>

### Desk EQ

This equalizer is modelled on the EQ section of the Allen & Heath GL series mixing desk.

{% file src="/files/bZpteQqCnvkTo3Nd7XkO" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

This EQ is modelled on the EQ section of the Allen & Heath(TM) GL series mixing desk.

It is a 4-band EQ (equaliser) with two semi-parametric mids and provides independent control of four frequency bands plus a low frequency roll-off switch (HPF). Allen & Heath (along with Soundcraft and Neve) are well known for their distinctive "[British EQ](http://en.wikipedia.org/wiki/British_EQ)". The two "mid" filters are bell shaped peak/dip filters which affect frequencies around a center point which can be swept from 500 Hz to 15 kHz, and 35 Hz to 1 kHz respectively. The width of the band is selected to provide effective control for both creative and corrective equalisation.

Parameters:

1. **100 Hz HPF:** (+/- 15 dB) attenuates frequencies below 100 Hz by 12 dB per octave. It may be used to reduce low frequency noise such as microphone popping, stage noise and tape transport rumble.
2. **HF Gain:** sets the gain of the high frequency shelf filter which boosts or cuts high frequencies. Positive values will tend to make the sound "brighter". Negative values will tend to make the sound less bright.
3. **High-Mid Frequency:** (500 Hz to 15 kHz) sets the center frequency of the high-mid band filter.
4. **High-Mid Gain:** (+/- 15 dB) sets the gain of the high-mid band filter.
5. **Low-Mid Frequency:** (35 Hz to 1 kHz) sets the center frequency of the low-mid band filter.
6. **Low-Mid Gain:** (+/- 15 dB) sets the gain of the low-mid band filter.
7. **LF Gain:** (+/- 15 dB) sets the gain of the low frequency shelf filter. Positive values will tend to give the sound more bass and negative values will reduce the bass.

</details>

### High Pass Filter with Q

A high pass filter with Q, or resonance.

{% file src="/files/pDz9gI3tyC5tpOae0N42" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A high pass filter with Q, or resonance. A high pass filter attenuates frequencies below a given cut-off point. The higher Q is, the more the cut-off frequency will resonate (produce a tone). Applied to white noise, both this filter and the low pass filter with Q can be used to produce wind-like sounds at a constant frequency. See the [high pass filter (LFO)](#undefined) and low pass filter (LFO) for ability to modulate a fixed resonance cut-off frequency.

Parameters:

1. **Cut-off frequency:** \[20 - 10000 Hz, default 1000]
2. **Filter Q (resonance):** \[0 - 5, default 1]

</details>

### High Pass Filter (LFO)

A high pass filter with a low frequency oscillator (LFO).

{% file src="/files/BC43F31KbfYfTWR0DSAz" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A high pass filter with a low frequency oscillator (LFO). A high pass filter attenuates frequencies below a given cut-off point. The LFO in this plugin modulates the cut-off frequency up and down, like on an electronic synthesizer.

Parameters:

1. **LFO frequency:** \[0 - 20 Hz, default 0.2] - defines the speed of the oscillation, higher is faster
2. **Lower cut-off frequency:** \[20 - 20000 Hz, default 160]
3. **Upper cut-off frequency:** \[20 - 20000 Hz, default 2560]
4. **LFO starting phase:** \[-180 to + 180 degrees, default 0]

</details>

### High Pass Filter (LFO) - Alternative version

{% file src="/files/dhH9yszpD6oW4nhYKBmm" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Parameters:

1. **Center cut-off frequency:** \[20 to 20000 Hz, default 640]
2. **LFO depth (radius):** \[0.0 to 10.0, default 1] - how far (in octaves) from center f the filter sweeps.
3. **LFO frequency:** \[0.0 to 20.0, default 0.2]
4. **LFO starting phase:** \[-180 to + 180 degrees, default 0]

</details>

### Hum Remover

A filter for removing the sound of [mains hum](https://en.wikipedia.org/wiki/Mains_hum) from recordings.

{% file src="/files/NFvVwhDSahY6gE8qrEmL" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

A filter for removing the sound of [mains hum](https://en.wikipedia.org/wiki/Mains_hum) from recordings.

The frequency of mains electricity is 60 Hz in the US, 50 Hz in Europe. This can create electrical interference in recordings with many [harmonics](https://en.wikipedia.org/wiki/Harmonic). To remove the hum, this effect applies a series of notch filters based on the frequencies of mains electricity and the harmonics, which have frequencies that are at exact multiples of that frequency.

To minimize loss of audio data, the number of harmonics may be adjusted so that only as many notches as required to eliminate the audible hum are applied. There are often more odd harmonics than even harmonics, so this effect allows the number of odd and even harmonic filters to be set independently.

Unless the amount of hum is very bad, high level audio will often mask the hum, making removal unnecessary, but during quiet parts of the recording the hum may be unpleasantly obtrusive. This effect therefore has a threshold level control so that only quiet sounds (where the hum will be most noticeable) are filtered.

Parameters:

1. **Select Region:** \[Europe (50Hz) or USA (60Hz), default 50Hz] - Sets the fundamental hum frequency.
2. **Number of odd Harmonics:** \[0 to 200, default 1] - The first harmonic is 50 or 60 Hz depending on the region selected.
3. **Number of even Harmonics:** \[0 to 200, default 0] - The number of even harmonics to filter.
4. **Hum Threshold Level (0 to 100%):** \[0 to 100, default 10] - The signal level, as a percentage of 'full scale' below which the filters are applied.

</details>

{% hint style="info" %}
The [Plot Spectrum](https://manual.audacityteam.org/man/analyze_menu.html#spectrum) effect can often provide a useful guide as to which frequencies need to be removed.

First, select 50 or 60 Hz with the first control as appropriate, then set the other controls to maximum. Preview the effect frequently while reducing one control at a time to find the ***minimum*** settings required to remove the hum.
{% endhint %}

### Low Pass Filter (LFO)

A low pass filter with a low frequency oscillator (LFO).

{% file src="/files/ft1eeIb6qzPuYkPTi6Ui" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A low pass filter with a low frequency oscillator (LFO). A low pass filter attenuates frequencies above a given cut-off point. The LFO in this plugin modulates the cut-off frequency up and down, like on an electronic synthesizer.

Parameters:

1. **LFO frequency:** \[0 - 20 Hz, default 0.2] - defines the speed of the oscillation, higher is faster
2. **Lower cut-off frequency:** \[20 - 20000 Hz, default 160]
3. **Upper cut-off frequency:** \[20 - 20000 Hz, default 2560]
4. **LFO starting phase:** \[-180 to + 180 degrees, default 0]

</details>

### Low Pass Filter (LFO) - Alternative version

{% file src="/files/k8enLUGdjGY18ibTR0Lu" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Parameters:

1. **Center cut-off frequency:** \[20 20000 Hz, default 640]
2. **LFO depth (radius):** \[0.0 to 10.0, default 1] - how far (in octaves) from center f the filter sweeps.
3. **LFO frequency:** \[0.0 to 20.0, default 0.2]
4. **LFO starting phase:** \[-180 to + 180 degrees, default 0]

</details>

### Low Pass Filter with Q

A low pass filter with Q, or resonance.

{% file src="/files/97VYwJKWzDbIr8ofTwVu" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A low pass filter with Q, or resonance. A low pass filter attenuates frequencies above a given cut-off point. The higher Q is, the more the cut-off frequency will resonate (produce a tone). Applied to white noise, both this filter and the high pass filter with Q can be used to produce wind-like sounds at a constant frequency. See the [low pass filter (LFO)](#low-pass-filter-lfo) and [high pass filter (LFO)](#high-pass-filter-lfo) for ability to modulate a fixed resonance cut-off frequency.

1. **Cut-off frequency:** \[20 - 10000 Hz, default 1000]
2. **Filter q (resonance):** \[0 - 5, default 1]

</details>

### Multiband EQ

A multiband equalizer.

{% file src="/files/G0VB2JglwEcQbhTLl7XN" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Select total number of bands (T, from 2 to 30), band number (1 to 30, depending on how many total bands T you chose), and apply gain (-24 to +24 db). Determines width of band depending on total band number T you chose.

</details>

### Mutron

Loosely based on the Mutron stomp box from the late 70's. Basically it is a filter controlled by an envelope follower.

{% file src="/files/hJ6WHqXvW8mYlywub38v" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steven Jones.

Loosely based on the Mutron stomp box from the late 70's. Basically it is a filter controlled by an envelope follower.

Parameters:

1. **Center/Cut-off:** \[0 - 10000 Hz, default 100] - sets the static filter frequency
2. **Depth:** \[-10000 - +10000 Hz, default 5000] - sets the negative or positive filter modulation depth
3. **Band Width:** \[50 - 400 Hz, default 100] - controls the resonance, lower values being more resonant
4. **Mode:** \[0="Low" 1="High" 2="Notch" 3="Band" (default)] - sets the filter mode: 0 = "Low pass", 1 = High pass, 2 = Band Reject (cut a notch at the filter frequency), 3 = Band Pass

</details>

### Notch Filter

A notch filter cuts out a "notch" in the spectrum of your audio.

{% file src="/files/EsJ3ZX4feo2suq84mgqg" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Authors: Steve Daulton and Bill Wharrie.

Like its name suggests, a notch filter cuts out a "notch" in the spectrum of your audio. The default frequency (60 Hz) can remove much of the hum that recordings can acquire from 60 Hz mains supply (as used in North and Central America and much of South America). You can set Frequency to 50 Hz to counteract mains hum in other countries. See [chart of mains frequencies by country](http://en.wikipedia.org/wiki/Mains_power_around_the_world#Table_of_mains_voltages_and_frequencies).

Filter frequencies above 10000 Hz may be entered by typing the value but are only valid up to half of the sample rate of the audio being processed. Q values outside of the slider range can be entered by typing the values but must be greater than 0.01.

Parameters:

1. **Frequency:** \[0 - 10000 Hz, default 60 Hz]
2. **Q:** \[0.1 - 20.00, default 1.00] - determines the width of the notch. Below 1 creates a wider notch, above 1 creates a narrower notch.

</details>

### Parametric EQ

A parametric equalizer is a variable equalizer effect which provides control of three parameters: amplitude, center frequency and bandwidth.

{% file src="/files/zpWhtHOYBxCNoab6N0XF" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton and Bill Wharrie

A parametric equalizer is a variable equalizer effect which provides control of three parameters: amplitude, center frequency and bandwidth. This plugin provides control of one frequency band that can be "tuned" to a user defined center frequency. The width of the affected frequency band may be adjusted with the "Width" control and the defined frequency band may be boosted or attenuated according to the "Gain" control.

Parameters:

1. **Frequency (Hz):** \[10 to 10000 Hz, default 1000 Hz] - sets the center frequency of the filter
2. **Width:** \[0 to 10, default 5] - determines the width of the affected frequency band. Greater width settings affect a broader range of frequencies. Smaller width affects a narrower band of frequencies. Numerically the width setting is approximately the half gain width in half octaves, thus the default setting of 5 has a half gain width of approximately 2.5 octaves.
3. **Gain (dB):** \[-15 to +15 dB, default 0 dB (no effect)] - how much the filter center frequency is boosted or attenuated.

</details>

### Random Low Pass Filter

Like someone is playing around with the cut-off frequency knob of your low pass filter.

{% file src="/files/UR8FzhQbLTkhMUnjSc9o" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Like someone is playing around with the cut-off frequency knob of your low pass filter. Because of the way the random signal is generated, the lower the maximum speed is, the higher the depth factor must be to produce a similar depth of filtering changes. If you generate white noise then apply this effect, you can to some extent simulate constant pitch wind noise.

Parameters:

1. **Max filter sweep speed:** \[0.01 - 10.0 Hz, default 0.2] - maximum speed of the random filter cut-off changes
2. **Filter depth factor:** \[1 - 300, default 20] - how extreme the random filter cut-off changes are
3. **Maximum cut-off frequency:** \[20 - 5000 H, default 2000] - the filter's maximum cut-off frequency

</details>

### Resonant Filter

A filter with low pass, high pass and band pass options with a "resonance" control.

{% file src="/files/hvRUqQ7X9A17wiF0eYHr" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

A filter with low pass, high pass and band pass options with a "resonance" control.

Audio filters are commonly designed to have a smooth frequency response that is essentially flat in the pass band then rolls off to a lower level in the stop band, but in some cases it is desirable to use a filter that has a peak and accentuates frequencies close to the defined filter frequency. Such filters are commonly used in sound synthesis to cause "ringing" at specified frequencies. This tends to be most effective with sounds that have complex frequency content, such as noise.

Parameters:

1. **Filter frequency:** \[1 to 20000 Hz] (default: 1000 Hz) - The corner frequency of the filter. The frequency must be below the Nyquist Frequency (half the sample rate) or an error message will be displayed.
2. **Resonance (Q):** \[0.1 to 100] (default: 10) - The amount of resonance. Higher values will produce a more pronounced and narrower peak at the corner frequency. Lower values will produce a less prominant peak with values below 0.7 showing no peak at all.
3. **Filter type:** \[choice: Low Pass, High Pass, Band Pass] (default: Low Pass) - Low pass allows frequencies below the corner frequency to pass through the filter and reduces frequencies above the corner. High Pass allows frequencies above the corner to pass and reduces frequencies below the corner. Band Pass reduces frequencies that are below the corner and reduces frequencies that are above the corner, allowing only a band of frequencies around the corner frequency to pass.
4. **Output Gain:** \[-60 to 0 dB] (default -12 dB) - Because the resonance accentuates frequencies around the corner frequency it is often necessary to reduce the output level of this effect. Lower (more negative) values reduce the level more.

</details>

### Shelf Filter

A shelf filter with options for high shelf, low shelf or mid-band.

{% file src="/files/c3u4Cw3awENXErs8CZxr" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

A shelf filter with options for high shelf, low shelf or mid-band.

Low-shelf filter passes all frequencies, but increases or reduces frequencies below the shelf frequency by specified amount. High-shelf filter passes all frequencies, but increases or reduces frequencies above the shelf frequency by specified amount. Mid-band shelf filter passes all frequencies, but increases or reduces frequencies between the low and high cut-off frequencies by specified amount.

Parameters:

1. **Filter type:** \[low-shelf / high-shelf / mid-band] - specifies which type of filter
2. **Low frequency cut-off:** \[1 to 10000 Hz] - The corner frequency for the low shelf filter, or the lower corner frequency for the mid-band filter.
3. **High frequency cut-off:** \[0.1 to 20 kHz] - The corner frequency for the high shelf filter, or the upper corner frequency for the mid-band filter. The high frequency cut-off must be less than half the track sample rate.
4. **Filter gain:** \[+/- 30 dB] - how much to boost or cut the filtered audio. Positive values boot and negative values reduce the level.

</details>

### Ten Band EQ

An Equalizer (EQ) that can modify one band at a time.

{% file src="/files/eylhdq9un3ULG5Hyid48" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

An Equalizer (EQ) that can modify one band at a time. Select the **band number** (1 to 10) and **gain** (-24 to +24 dB).

</details>

### Vocal reduction and isolation

{% hint style="danger" %}
Warning: This effect can cause data loss on macOS. See [#5864](https://github.com/audacity/audacity/issues/5864) for details.
{% endhint %}

This is the vocal reduction and isolation effect that was included in Audacity prior version 3.5.&#x20;

{% file src="/files/YJVCOnLicS8qtZuReLSb" %}
Download plugin
{% endfile %}

<details>

<summary>Details</summary>

***Vocal Reduction and Isolation*** attempts to remove or isolate center-panned audio from a stereo track. Vocals are sometimes (but not always) recorded in this way. The simplest and quickest removal method subtracts one channel from the other, but the result will be (dual) mono. This method is available at "Remove Center Classic: (Mono)" under Action. All other "Remove" options in this effect preserve the stereo image.

The **Isolate** options all return (dual) mono output. The narrowness of the center slice can be adjusted with the "Strength" slider. Center isolation is not possible using the classic subtraction method.

The **Analyze** option displays the amount of correlation between the stereo channels and the degree of likelihood that center removal or isolation will work effectively.

**WARNING:** Note carefully that when you apply an effect to a **time-stretched clip** the changed speed of the clip will be automatically **rendered**.

* If you apply an effect to a selection within a time-stretched clip then Audacity will **split the original clip** so that the selection can be rendered as part of applying the effect.

### Action

#### Bandwidth Limited Actions <a href="#bandwidth_limited_actions" id="bandwidth_limited_actions"></a>

WARNING: The Low Cut and High Cut sliders affect these actions.

* **Remove Vocals: to mono:** (default). If the audio is center-panned, removes the vocal range defined by the Low Cut and High Cut sliders, and returns it as a dual-channel mono track. Audio is said to be "*center-panned*" if it is common to both left and right channels. *Cancellation* of center panned audio is achieved by the well known "invert and mix" method.

NOTE: This option is usually much quicker than the other actions because the processing is much simpler.

* This setting is identical to the **"Vocal Remover** > Remove frequency band" effect in previous versions of Audacity.
* The Strength slider is **not** used when "Remove Vocals: to mono:" is selected.
* **Remove Vocals:** If the audio is center-panned, removes the vocal range defined by the Low Cut and High Cut sliders, and returns it as a stereo track.
* **Isolate Vocals:** If the audio is center-panned, extracts the slider-defined vocal range and returns it as a (dual) mono track.
* **Isolate Vocals and Invert:** If the audio is center-panned, extracts the slider-defined vocal range and returns it as an inverted (dual) mono track.

HINT: **Inverting** a waveform is the action of flipping the audio samples upside-down, reversing their polarity. The positive samples (above the horizontal zero line in the Audacity Waveform) are moved below the zero line (so becoming negative), and negative samples are made positive.

* This option is equivalent to applying the **Isolate Vocals** option and then inverting.
* The "and Invert" options may be useful when processing using duplicated tracks. See the examples below.

#### Full Spectrum Actions <a href="#full_spectrum_actions" id="full_spectrum_actions"></a>

WARNING: The Low Cut and High Cut sliders have no effect with these actions.

* **Remove Center: to mono:** Removes all audio (the whole frequency spectrum) that is common to both left and right channels and returns a (dual) mono track. *Cancellation* of center panned audio is achieved by the well known "invert and mix" method.

NOTE: This option is usually much quicker than the other actions because the processing is much simpler.

* This setting is identical to the "**Vocal Remover** > entire spectrum" effect in previous versions of Audacity.
* ***None*** of the sliders are used when "Remove Center: to mono" is selected.
* **Remove Center:** Removes all audio (the whole frequency spectrum) that is common to both left and right channels and returns a true stereo track.
* **Isolate Center:** If the audio is center-panned, extracts the whole frequency spectrum and returns it as a (dual) mono track.
* **Isolate Center and Invert:** If the audio is center-panned, extracts the whole frequency spectrum from and returns it as an inverted (dual) mono track.

INFO: This option is equivalent to applying the **Isolate Center** option and then inverting.

#### Analysis Action <a href="#analysis_action" id="analysis_action"></a>

* **Analyze:** Tells you how great the chances are of a successful vocal reduction or isolation. It returns also the average Pan position for the selected audio. See below for an in-depth explanation.

NOTE: This option only analyzes the audio. The selected audio is not modified by the effect.

### Strength

The shape of the center is not a thin band but rather like a tent with a pole in the middle. This means that there will always audio from other pan positions included. The **Strength** slider modifies the shape of the center. Higher values increase the degree of reduction or isolation. Zero is off (no reduction or isolation). This slider has no effect with the "Remove Center Classic: (Mono)" choice.

#### Remove

* **Less than 1.0:** Produces a notch with a ***V*** shape like a ship's keel, but also with a sharp point. Use this setting to preserve some amount of the center.
* **1.0 - the default:** Produces a notch with a ***V*** shape. The power distribution is preserved. This is the ideal setting for most cases.
* **Greater than 1.0:** Produces a notch with a ***U*** shape. This removes some audio adjacent to the center, as well as the center. Note that this will not remove stereo reverberation since it is distributed over the entire pan width.

#### Isolate

* **Less than 1.0:** Produces a peak like a ***U*** shape upside down, similar to an arch. Only extreme left and right are eliminated.
* **1.0 - the default:** Produces a peak like a **''V**'' shape upside down. The power distribution is preserved. You might want a higher value when a lot of side audio leaks in. This is also the recommended setting when working with two tracks (options with **...and Invert**).
* **Greater than 1.0:** Produces a peak with an ***A*** shape like the Eiffel Tower (with a sharp point). This will attenuate most of the side energy but might produce artifacts or musical noise. Normalize the audio after using Isolate with a high strength setting.

### Low Cut for Vocals <a href="#low_cut_for_vocals" id="low_cut_for_vocals"></a>

All actions with **Vocals** in the name use this value. The frequencies below will either not be removed or not be included in the isolated audio. It is useful to exclude bass and kick drum. The default value of 120 Hz is good for most lead vocals, or even low male voices. You can enter a higher value around 170 Hz for female voices and about 230 Hz for those of children. NOTE: This control only affects "Actions" that contain the word **Vocals** in their name.

### High Cut for Vocals <a href="#high_cut_for_vocals" id="high_cut_for_vocals"></a>

All actions with **Vocals** in the name use this value. The frequencies above will either not be removed or not be included in the isolated audio. It is useful to exclude high sounds like bells, cymbals or Hi-hat. Note that human sounds like **S** or **Z** can also be very high in frequency - 5000 to 8000 Hz, so listen carefully to the preview. NOTE: This control only affects "Actions" that contain the word **Vocals** in their name.

### Interpreting the analysis results <a href="#interpreting_the_analysis_results" id="interpreting_the_analysis_results"></a>

It is recommended to analyze the audio prior to actual processing of the effect. Analysis is very fast compared to the time needed for processing.

The two important values are:

* **Pan Position:** This gives the average pan position for the whole selected audio. The value of the track pan slider is not included in this calculation.
* **Correlation:** This is a measure for the similarity of the two channels. Values of +/-100 mean that the channels are exactly the same, even if one is inverted. A value of 0 means no relationship. It is fruitless to attempt removal or isolation in these cases. The ideal value is normally around +50. Values below 0 are rare and indicate that the stereo width is more than 100%. Inverting one channel makes the correlation positive.

NOTE Sometimes the lead vocals are not exactly in the middle. In this case, select a short portion of audio where only the voice is audible and no other instrument. Choose **Analyze**.

1. The correlation should be fairly high (around 100) which would indicate that there is indeed only the voice.
2. Copy the value for the Pan Position. Double-click in the Pan slider to open the adjustment dialog then paste in the value with reversed sign (that is, put a minus sign in front of a positive value and a positive sign in front of a negative value).
3. Mix and render the track. The voice will now be exactly centered and you can remove or isolate it.
4. Do not forget to readjust the selection.

### Limitations

* The input must be a true stereo track and not mere (dual) mono.
* Stereo Reverberation will not be fully removed because it is independently distributed over the whole stereo image.
* Naturally the plug-in does not know what kind of audio is in the center. All is removed or isolated equally, whether vocals, bass or solo instruments.
* This effect is quite slow, except for the *"Remove Center Classic: (Mono)"* and *"Analyze"* actions.

WARNING: The whole processing is done in memory. Long selections (over half an hour) might therefore cause Audacity to crash.

### Examples

This effect can be used in a variety of ways:

* Creating a Karaoke version from an original song\
  Choose **Remove Vocals** if you want to keep some bass and drum beat.
* Creating an acapella version from an original song\
  Choose **Isolate Vocals** with a high Strength value. The result will probably still have some music in it. It is therefore better suited for a remix with a different accompaniment. Pure vocal versions have to be post-processed with other tools. &#x20;
* Alternative to "Auto Duck" with podcasts\
  Duplicate the track and choose **Isolate Center and Invert** on the second track. Record your voice. Silence the second track where you do not speak and the original music should be heard. On the same track, make fades at the boundaries (where the speech starts or stops).  &#x20;
* Removing excessive stereo reverb from a vocal or instrument track.\
  Use **Isolate** to make a single vocal or instrument track "dry" again.  &#x20;
* Removing random system noise from a two channel recording of a mono source.\
  use **Isolate** to remove random noise produced by the audio interface, the cables or the computer itself.
* Removing single words or phrases\
  You can remove offending content from a song or movie dialog by selecting it and choosing **Remove Vocals**. Mask it with other sounds, if necessary.
* Amplifying dialogs in a movie.\
  Duplicate the track, isolate the vocals and adjust the gain.
* Converting stereo files into 3.1, 5.1 and other multi-channel formats.\
  Duplicate the track and choose "Isolate Center and Invert" on the second track. Render all to a new track. Delete the first track, invert the second track and split the third track. Rearrange the tracks accordingly. Thus you end up with "Front Left", "Center" and "Front Right" eventually.
* Extracting instrument solos\
  Isolate the center if the solo is there, otherwise remove the center, split to mono and delete the superfluous track.
* Blending between original, karaoke version and vocals only\
  Duplicate the track and choose **Isolate Vocals and Invert** on the second track. Choose the envelope tool or fade effects to gradually change from one mode to the other. Silencing the first track results in the vocals being isolated. Silencing the second track produces the original audio. Playing both tracks together removes the vocals.
* Correcting the pan position\
  Analyze the whole track and copy the value for the pan position. Paste the value into the pan dialog and reverse the sign, that is, set a minus sign in front of positive values and vice versa.
* Measuring similarity between two mono tracks\
  Make the two tracks stereo and choose **Analyze**. The correlation value is the measure for the similarity in percent.
* Applying a brick wall filter to mono tracks\
  Duplicate a mono track, make it stereo and choose **Isolate Vocals** for band pass and **Remove Vocals** for band stop filtering. Adjust the frequencies accordingly.

</details>


# Modulation Effects

### Dual Tape Decks

Simulates two tape decks playing identical tapes, but out of synchronization with each other.

{% file src="/files/4tyLMlpKnlKPSRfZEJ03" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Simulates two tape decks playing identical tapes, but out of synchronization with each other. Written to produce an effect I heard in the late 1970s: I recorded then played identical audio on two mono tape decks. There was an amazing "whooshing" effect as one tape deck "caught up" with and passed what the other tape deck was playing. This plugin allows the "whooshing" to go back and forth. Different effects are made using mono-sounding vs. "true" stereo audio.

The plugin can produce some interesting stereo effects, though note that due to the greater "cross-talk" of speakers, listening in speakers and headphones will sound different. Stereo flanger-like effects can be made by (for example) applying dualtapedecks.ny to audio, applying Stereo Butterfly (static) with a spread value of zero (sounds mono after applying), then applying dualtapedecks.ny a second time with the same settings as the first time. This plugin will work on mono audio as well, but the only effect will be rising and falling changes in pitch and tempo.

Parameters:

1. **LFO frequency:** \[Hz, 0.001 to 25.000]
2. **Starting phase:** \[degrees, -180 to +180, default 0]
3. **Phase difference:** \[degrees, 0 to 360, default 180]
4. **Depth:** \[0.001 to 2.000] - The larger depth is, the more pronounced the pitch and tempo shift become until there is a noticeable warble.

</details>

### Flanger (linear)

Unlike a regular flanger (which cycles up and down repeatedly), this plugin creates a single high-frequency flange, and you can set the position of that high-frequency point, anywhere between the start and end of the selection and beyond.

{% file src="/files/xwg8gwMmjFpKYkFXP4p0" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Unlike a regular flanger (which cycles up and down repeatedly), this plugin creates a single high-frequency flange, and you can set the position of that high-frequency point, anywhere between the start and end of the selection and beyond. The plugin works by mixing the original selected audio with a slightly shrunk (shorter) version of itself.

Works on mono and stereo audio.

Parameters:

1. **High frequency flange position:** \[percent, - 100 to + 200, default 0] - the position in the signal where the high frequency portion of the flange is heard. If set to 0%, the high frequency will be at the start of the selection; at 50% in the exact middle; at 100%, at the end. If you set this value below 0% or above 100%, you won't hear the highest flange frequency peak but will hear a falling or rising flange effect, as if the peak lay outside the start or end of the selection.
2. **Time decrease:** \[milliseconds, - 0.1 to 200, default 5.0] - how much the length of the original selection is decreased.
3. **Wet level:** \[percent, 1 to 99, default 50] - the 'wet' signal is the shortened signal, and the wet level is how much (in percent) to mix with the dry (unaltered) audio.
4. **Wet: inverted or positive:** \[0=inverted, 1=positive, default positive]

</details>

### Isochronic modulator

A variable tremolo plugin customized with controls for length and fade in/out speed of each pulse.

{% file src="/files/NYN42F6qrtjxDYvU3SCr" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

A variable tremolo plugin customized with controls for length and fade in/out speed of each pulse. The modulation frequency (speed) and depth transform gradually from the initial settings to the final settings. A modified square wave is used as the modulation waveform.

The effect is typically applied to a single tone to create [isochronic tones](http://en.wikipedia.org/wiki/Isochronic_tones). The author supplies the plugin only as a demonstration of audio processing without endorsing or claiming any relevance to the theory or practice of [brainwave entrainment](http://en.wikipedia.org/wiki/Brainwave_entrainment).

Parameters:

1. **Pulse Width:** \[percent, 0 - 100, default 40] - How long each pulse will be "on". Higher values will make the sound "on" for longer. 50% gives a "square pulse" where the sound will be on for half the time.
2. **Fade Time:** \[percent, 0 - 100, default 15] - adjusts the fade in and fade out speed of the pulse. Higher values produce a more gradual fade in and out of the pulses. At 100% the fade in/out times will be half of the pulse width. At 0% there will be no fade.
3. **Initial Modulation Frequency:** \[Hz, 1 - 20, default 7.0]
4. **Final Modulation Frequency:** \[Hz, 1 - 20, default 2.0]
5. **Initial Modulation Depth:** \[percent, 0 - 100, default 100]
6. **Final Modulation Depth:** \[percent, 0 - 100, default 100]

</details>

### Random Amplitude Modulation

Similar to [Random Panning](/nyquist-plugins/effect-plugins/amplify-mix-and-pan-effects#panning-random), this time playing around with the volume knob.

{% file src="/files/HhiW02qj5AR5gURIZCCN" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Similar to Random Panning, this time playing around with the volume knob. Because of the way the random signal is generated, the lower the maximum speed is, the higher the depth factor must be to produce a similar depth of amplitude changes.

Parameters:

1. **Max amp sweep speed:** \[0.01 - 20.0 Hz, default 0.5] - maximum speed of the random amplitude changes
2. **Amp sweep depth factor:** \[1 - 300, default 80] - how extreme the random amplitude changes are

</details>

### Random Pitch Modulation

Randomly modulates the pitch of your audio.

{% file src="/files/pvvdOZZ4x3c64yb5NllD" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Randomly modulates the pitch of your audio. As with other randomly-controlled effects, the the lower the maximum speed is, the higher the depth factor must be to produce a similar depth of random changes. This effect works on mono and stereo audio. In stereo, each channel has different random pitch modulation applied. "Max pitch mod depth" can be explained thus: at higher warping depth settings, pitch mod depth should be made higher, otherwise there will be momentary periods without pitch changes. With lower warping depth settings this does not happen, and the effect can be re-applied repeatedly to give further random pitch changes.

Parameters:

1. **Warping depth:** \[0.001 - 2.000, default 0.100] - controls the number of pitch changes that occur
2. **Max sweep speed:** \[0.01 - 20.0 Hz, default 0.50] - maximum speed of the random pitch changes, higher values increase "warbling" effect
3. **Sweep depth factor:** \[1 - 300, default 80] - how far
4. **Max pitch mod depth:** \[0.01 - 3.00, default 0.50]

</details>

### Ring Modulator

A ring modulator is a tremolo effect, but instead of using an LFO to amplitude modulate audio, an audio signal is used.

{% file src="/files/pFKxk06Sl1DO9lvEhcNe" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A ring modulator is a tremolo effect, but instead of using an LFO to amplitude modulate audio, an audio signal is used. The result is a combination of the sum of and the difference between the two input signal frequencies e.g., two sine waves of 440 Hz and 660 Hz produce a result of 220 Hz (difference) and 1100 Hz (sum).

This plugin also allows use of triangle, sawtooth and pulse waveforms, so the results are the sums and differences between the harmonics of the modulating signal and harmonics of the signal being modulated.

Parameters:

1. **Modulation frequency:** \[Hz, 20 to 5000, default 500]
2. **Amount:** \[percent, 0 to 100, default 100]
3. **Waveform:** \[0=sine, 1=triangle, 2=sawtooth, 3=pulse, default sine]
4. **Pulse bias:** \[percent, -100 to +100, default 0] - if the pulse waveform is selected, bias is the pulse width. The default 0 gives a "square" wave. Lower values give a narrower positive signal, higher values a wider positive signal.

</details>

### Variable Tremolo

This plugin produces a "Tremolo" effect in which the frequency and depth of the tremolo varies from an initial setting to a final setting.

{% file src="/files/657sscfI5D2hLRW9upqq" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

This plugin produces a "Tremolo" effect in which the frequency and depth of the tremolo varies from an initial setting to a final setting. The effect makes the loudness "wobble" and you can set the speed of the wobble and the amount that it wobbles for both the start of the selection and the end of the selection.

Parameters:

1. **Tremolo Shape:** \[sine,triangle,sawtooth,inverse sawtooth,square. default = "sine"]
   1. Sine: The volume rises and falls smoothly up and down.
   2. Triangle: The volume alternates between rising at a constant rate and falling at a constant rate.
   3. Sawtooth: The volume rises abruptly but falls gradually.
   4. Inverse Sawtooth: The volume rises gradually but falls abruptly.
   5. Square: The volume jumps abruptly between higher and lower levels.
2. **Starting Phase:** \[0 to 360 degrees, default = 90] - This sets the starting point for the tremolo cycle. At 90 degrees the tremolo starts at the higher level. At 0 degrees the tremolo starts at the lower level.
3. **Initial Tremolo Frequency:** \[1 to 20 Hz - default = 4] - The speed of the tremolo effect at the start of the selection.
4. **Final Tremolo Frequency:** \[1 to 20 Hz - default = 12] - The speed of the tremolo effect at the end of the selection.
5. **Initial Tremolo Amount:** \[0 to 100 % - default = 40] - How much the initial volume varies as a percentage of the original level.
6. **Final Tremolo Amount:** \[0 to 100 % - default = 40] - How much the final volume varies as a percentage of the original level.

</details>

### Vibrato

This effect applies vibrato (a regular pulsating change of pitch) to the selected audio.

{% file src="/files/kUNoF5BH4SQ1fXMlVzcy" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

This effect applies vibrato (a regular pulsating change of pitch) to the selected audio. The speed at which the sound pulsates can be varied over time by selecting an initial speed and a final speed. The vibrato speed will smoothly transition from the initial speed to the final speed. For a constant speed vibrato, set the Initial and Final speed settings to the same value.

The depth of the vibrato (amount of pitch variance) can varied over time by setting initial, mid point and final depth values. The vibrato depth begins at the initial value and smoothly transitions to the mid-point value, then to the final value. The time at which the mid-point depth is achieved can be adjusted. When "Mid point position" is set to 50%, the mid-point depth is reached half way through the selection. Smaller "Mid point position" values shift the mid-point earlier, so that the transition in depth from "Initial" to "Mid point" occurs more quickly, and the transition from "Mid point" to "Final" occurs more slowly. Similarly, larger values shift the mid-point later.

The maximum vibrato depth (100%) is equivalent to a pitch deviation of +/- 1 whole tones. At 50%, the deviation is +/- 1 semitone.

Parameters:

1. **Initial speed:** \[0 to 10, default 1] The initial vibrato speed (wobbles per second).
2. **Final speed:** \[0 to 10, default 5] The vibrato speed at the end of the selection.
3. **Initial depth:** \[0 to 100%, default 10%] The amount of pitch variance at the start of the selection.
4. **Mid point depth:** \[0 to 100%, default 100%] The amount of pitch variance at the mid-point.
5. **Final depth:** \[0 to 100%, default 0%] The amount of pitch variance at the end of the selection.
6. **Mid point position:** \[0 to 100%, default 30%] How far through the selection that the mid-point depth is reached.

</details>

{% hint style="info" %}
This plugin is intended for use on short selections. Due to cumulative rounding errors, the sound quality will gradually deteriorate on long selections, so it is recommended to apply the effect to selections that are less than 1 minute.
{% endhint %}


# Sequencer Effects

### Audio Selection Sequencer 2

You can turn any short piece of imported, recorded or generated audio into a (repeated) sequence of notes based on chosen tempo, beats per sequence and semitone values. Any sound can be used.

{% file src="/files/3tE5Hw14vnuC2OG0AOXn" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Developed from the previous sequencers 1a and 1b (these can't be recommended due to the interface being too tall, and distortion problems). You can turn any short piece of imported, recorded or generated audio into a (repeated) sequence of notes based on chosen tempo, beats per sequence and semitone values. Any sound can be used (a guitar pluck or bell sound, cat meow, someone saying "hello", in fact - any sound). Comes with an 8-note default sequence already programmed in. Can also pan stereo audio, and transpose successive sequences. To generate a rest, use r, n, (), or a blank svp input line.

Parameters:

1. **Tempo:** \[beats per minute (default 210), beats per sequence (default 8), starting offset (beats) (default 0)]
2. **Pan stereo selection:** \[0 = no 1=yes (default)]
3. **Timing randomization:** \[0 - 100 plus or minus percent, default 0]
4. **Number of repeated randomized sequences:** \[0 - 8, default 0]
5. **Overall transpose value:** \[(default 0), then for successive measures (default 0 0 5 5 0 0 -5 -5)]
6. **Sequences to generate:** \[1 - 96, default 4]
7. **1st Semitone, volume, pan value\[s]:** \[default (0 1 0) (4 .5 .2) (7 .5 .8) (2 1 .5)]
8. **2nd SVP value\[s]:** \[default (12 .5 .8) (7 .5 .2) (4 1 1) r]
9. **3rd, 4th. 5th and 6th SVP value\[s]:** \[filled in by user]

</details>

{% file src="/files/Mhynb67aubR8Q8A8fCAq" %}
Download example audio file
{% endfile %}

{% file src="/files/M0wSP755iueoIRtVwFr8" %}
Download example audio file
{% endfile %}

{% file src="/files/a0vXDH4lFGawXTCcFBKx" %}
Download example audio file
{% endfile %}


# Time, Pitch and Tempo

### Change Speed by Semitones

Similar to the [Change Speed](https://manual.audacityteam.org/man/change_speed.html) effect, this effect changes the speed of the selected audio, thus changing both the tempo and pitch.

{% file src="/files/uOURFEjjzaxRsd4wJuMn" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

Similar to the [Change Speed](https://manual.audacityteam.org/man/change_speed.html) effect, this effect changes the speed of the selected audio, thus changing both the tempo and pitch. Possible uses include slowing down music to aid transcription, where the amount of pitch change is known.

Parameters:

1. **Semitones change:** \[-24 to +24 semitones]

</details>

### Extract Audio

Extracts audio from a selected area without using a mouse or cursor keys.

{% file src="/files/GI64nizm8HNhnRs13DsD" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Extracts audio from a selected area without using a mouse or cursor keys. Audacity has a Selection Toolbar providing a screen-reader friendly display of selection start time and duration which you could use for similar purpose, this plugin provides a solution. It also has an easy option to extract a percentage of the selected audio. For example, selecting 50% "start percent" and 100% "end percent" will leave you with only the last half of your selection.

Parameters:

1. **Time or percent?**
2. **Start time:** \[seconds, maximum 600]
3. **End time:** \[seconds, maximum 600]
4. **Start percent:**
5. **End percent:**

</details>

### Insert Silence

This effect inserts silence at the start of the audio selection.

{% file src="/files/m9Wk2uoicaZ8mBM5cdOr" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

This effect inserts silence at the start of the audio selection. The length of inserted silence is equal to the length of the selection. This effect may be useful in situations where it is necessary to insert a lot of silences because Audacity (2.0.1 and later) allow keyboard shortcuts to be set for effects (see: <https://manual.audacityteam.org/o/man/keyboard_preferences.html#change>)

This effect has no controls.

</details>

### Regular Interval Audio Splitter

Splits audio into desired number of segments by inserting silences of specified duration (up to 10.0 seconds).

{% file src="/files/c7RsJkoVKBJCPNTgu9MD" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

Previously called "Audio chunker". Splits audio into desired number of segments by inserting silences of specified duration (up to 10.0 seconds). You can also specify fade-in and fade-out lengths for each segment. By setting number of segments to ' 1 ' you can use audio splitter to apply a specified fade-in and fade-out to a single length of audio in one action.

Parameters:

1. **Number of audio segments:** \[1 to 120, default 10]
2. **Silence duration between segments \[seconds]:** \[0.01 to 10, default 1]
3. **Fade-in/fade-out length \[milliseconds; 0 = no fade]:** \[0 to 500, default 20]

</details>

### Sliding Speed Change

A speed change effect in which the initial and final speed may be set independently.

{% file src="/files/cLLcgMkZPBxcUafIfIRT" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

A speed change effect in which the initial and final speed may be set independently. Like Audacity's [Change Speed](https://manual.audacityteam.org/man/change_speed.html) effect, this effect changes both the tempo and pitch of the audio.

**Accessibility:** This effect may be useful as an accessible alternative to Audacity's [Time Tracks](https://manual.audacityteam.org/man/time_tracks.html).

Parameters:

1. **Initial speed (0.1 to 10 x):** \[0.1 to 10, default 1.0] Sets the initial speed.
2. **Final speed (0.1 to 10 x):** \[0.1 to 10, default 1.0] Sets the final speed.

The speed controls set the initial and final speed as a multiple of the original speed. A setting of 1.0 means 1x the original speed, in other words, unchanged. 2x speed is double speed. 0.5x speed is half speed. The speed changes linearly between the 'Initial' and 'Final' settings.

</details>

### Tempo Change

{% hint style="warning" %}
**Caution:** This plugin only works as intended on a sample rate of 44100Hz
{% endhint %}

This plugin allows you to change tempo making it faster or slower

{% file src="/files/kE3Oi6OGR95WXasd5UlN" %}
Download Plugin
{% endfile %}

{% file src="/files/sOazmieLhONYtKV8Rryv" %}
Download example audio file
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

For those who are confused by Audacity's "Change Speed" effect where to make the tempo twice as slow you apply a -50% change and to make it twice as fast apply a 100% change, try this plugin. Its default settings multiply the tempo by 0.5, making the tempo twice as slow (dividing by 2.0 has the same effect). To make the tempo twice as fast, simply multiply by 2.0 (or divide by 0.5). The default setting (the opposite of Audacity's "Change Speed" default) might be handy for example to return tapes dubbed at 2x speed to normal speed.

Parameters:

1. **Tempo change factor:** \[0.1 to 8.0, default 0.5]
2. **Multiply or divide:** \[0=multiply (default), 1=divide] - multiplies or divides by the tempo change number.

</details>

### Time Shifter

A plugin for performing the same task as the Time Shift Tool in Audacity, without using a mouse.

{% file src="/files/9aPLofV3vYqurEDtFy01" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: [David R.Sky](https://audionyq.com/david_r_sky)

A plugin for performing the same task as the Time Shift Tool in Audacity, without using a mouse. The effect works thus: if the shift value is positive, silence is inserted before the selection. If the shift value is negative, audio is removed from the start of the selection. If your selected track is mono, set the value in the left/mono edit field, if your track is stereo, set the values in both the left/mono and right channel shift value fields. Setting slightly different values in both fields when you have a stereo track can be used for special effect.

Note that positive shifts can lead to the audio being truncated at the right edge when shifting a stereo track. To avoid this, split the stereo track using the Track Drop-down Menu, select each track in turn and apply the shift you want using the Mono/left channel shift field. If the audio starts after time zero and is preceded by empty space, convert the empty space to silence with Project > Quick Mix in legacy Audacity up to and including version 1.3.13. In current Audacity, select the track, press J, then press SHIFT + HOME, then Generate > Silence. This prevents truncation of the audio providing there is sufficient silence at the start of the track.

Parameters:

1. **Mono/left channel shift:** \[-1000 - +1000, default 0]
2. **Right channel shift:** \[-1000 - +1000, default 0]
3. **\[0=milliseconds 1=seconds]** (default is milliseconds)

</details>

### Trim / Extend

This plugin can trim audio from the start and/or end of a track (or track selection), or pad the start and/or end with silence, or any combination of the two.

{% file src="/files/4K2gZAwkOcNarB1au163" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

This plugin can trim audio from the start and/or end of a track (or track selection), or pad the start and/or end with silence, or any combination of the two. The effect can be used in a [Macro](https://manual.audacityteam.org/man/macros.html) for batch processing.

Parameters:

1. **Time units:** \[samples, milliseconds, seconds (default), minutes] This selection sets the time units for the following two controls.
2. **Trim / Extend start by:** \[-100 to +100, default 0] How much audio to trim (delete) from the start of the track selection, or how much silence to add to the start of the selection. Move the slider to the left or type a negative value to remove audio. Move the slider to the right or type a positive value to add silence.
3. **Trim / Extend end by:** \[-100 to +100, default 0] How much audio to trim (delete) from the end of the track selection, or how much silence to add to the end of the selection. Move the slider to the left or type a negative value to remove audio. Move the slider to the right or type a positive value to add silence.
4. **Error message control:** \[Show errors (default) / Hide errors] In the event of an error, a message will normally be shown to indicate what the error is. For example, if you attempt to delete a longer duration than the selection, an error message will indicate that the operation cannot be done. However, when using this effect in a Macro for batch processing, the error message will cause the Macro to stop until the error message is acknowledged. That behavior may not be wanted, so "Hide errors" may be selected to suppress error messages. When "Hide errors" is enabled, if an error is encountered, the plugin will silently skip the current track and continue with any remaining tracks.

</details>

### Trim Silence

This plugin is for trimming excess silence from the start and/or end of tracks or audio clips.

{% file src="/files/MB3JlA5wd04vf7z3ONBT" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

This plugin is for trimming excess silence from the start and/or end of tracks or audio clips. The effect can be used in a [Macro](https://manual.audacityteam.org/man/macros.html) for batch processing.

Parameters:

1. **Silence Threshold (dB):** \[-100 to 0, default -48] Audio below this level at the start or end of the track may be trimmed.
2. **Silence to leave at start (0 to 30 seconds):** \[0 to 30 seconds, default 0] When trimming silence from the start of a track or audio clip, the silence will not be trimmed shorter than this length. Note that if the silence at the start of the track is already shorter than this length, it will not be trimmed and will not be extended.
3. **Silence to leave at end (0 to 30 seconds):** \[0 to 30 seconds, default 0] When trimming silence from the end of a track or audio clip, the silence will not be trimmed shorter than this length. Note that if the silence at the end of the track is already shorter than this length, it will not be trimmed and will not be extended.
4. **Preview** is not available for this effect.
5. This plugin requires the audio to be loaded into RAM. To avoid running out of RAM (which would cause Audacity to freeze or crash), the plugin limits the maximum size of the selected audio to 1 GB (about 47 minutes for a stereo track at 44.1 kHz). Additional information is provided in the plugin code comments.

</details>

{% hint style="info" %}
**Preview** is not available for this effect.

This plugin requires the audio to be loaded into RAM. To avoid running out of RAM (which would cause Audacity to freeze or crash), the plugin limits the maximum size of the selected audio to 1 GB (about 47 minutes for a stereo track at 44.1 kHz). Additional information is provided in the plugin code comments.

Note that this effect only acts on the start and/or end of the track or audio clip within the current selection. If the selection includes multiple audio clips, trimming starts from the beginning of the first audio clip that is within the selection, and from the end of the last audio clip that is within the selection.
{% endhint %}

### Turntable Warping MS

Simulates unplugging and plugging in a turntable while it's powered, and related effects such as speeding it up before unplugging it

{% file src="/files/F8FR2E42dUKIlXSfV0vt" %}
Download Plugin
{% endfile %}

<details>

<summary>Details</summary>

Authors: [David R.Sky](https://audionyq.com/david_r_sky), Roger B. Dannenberg

Simulates unplugging and plugging in a turntable while it's powered, and related effects such as speeding it up before unplugging it. Improved over the previous turntablewarp.ny - this version lets you warp both mono and stereo audio. The default settings simulate unplugging a turntable - the audio starts to slow down halfway through the selection area, and drops to 40% of original volume by the end.

**Parameters:**

1. **Initial step:** \[-36 - +36 semitones, default 0] - the resulting pitch change at the start of the selection, defined as number of semitones above or below the original pitch (1 step = 1 semitone, so 12 steps = 1 octave.)
2. **Initial amplitude:** \[0 - 100 percent, default 100] - the resulting volume at the start of the selection, related to the original amplitude (so 100% = no change).
3. **Change time:** \[0 - 100 percent, default 50] - the point in time in the selection (set internally to the original pitch and volume) at which the warping values change to reach and move away from this point. What this means is that depending on your start and end step and amplitude values, you can design warps that slow down then speed up; speed up then slow down; speed up to a particular pitch then remain there; slowly speed up then quickly speed up.
4. **End step:** \[-36 - +36 semitones, default -12] - the resulting pitch change at the end of the audio. compared to the original pitch.
5. **End amplitude:** \[0 - 100 percent, default 40] - the resulting volume at the end of the selection, compared to the original volume.

</details>


# Analysis plugins

## Plugin Suites

### Vamp Plugin Pack

A plugin collection for various Vamp Analyzers. The plugins included are all open source software developed and published by various different authors and institutions:

* BBC
* Carl Bussey
* Chris Cannam
* Jamie Bullock
* Marsyas Plugins
* Matthias Mauch
* Paul Brossier
* Queen Mary, University of London
* Simon Dixon and Chris Cannam
* University of Alicante

Download page:

{% embed url="<https://www.vamp-plugins.org/pack.html>" %}

## Individual Analyzers

### ACX Check

This analyzer was developed as an aid for audiobook producers. It displays a number of useful statistics about the selected audio, and compares them to the specifications published by [ACX](https://www.acx.com/help/acx-audio-submission-requirements/201456300) (an Amazon.com subsidiary).

{% file src="/files/kyOu7TaKbseCgFyXYjwv" %}
Download
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

Based on a plugin by Will McCown.

**Displayed Results**

* **Peak leve**l\
  Maximum peak level in the selection
* **RMS level**\
  The RMS level of the selected audio.
* **Noise floo**r\
  The RMS level of the quietest 500 milliseconds in the selection
* **Warnings**: *(These are only displayed when applicable.)*
  * Warning: ACX require 44100 Hz sample rate.
  * Warning: ACX require running time no longer than 120 minutes
  * Noise floor: -inf dB Warning (too low - Dead silence sounds unnatural.)\
    ACX require constant, low level "room tone" rather than an unnaturally silent background noise level.

**Limitations**

* This tool is intended only as an aid in achieving ACX acceptance. Even straight passes from this tool is NO guarantee of ACX acceptance.
* The Noise Floor measurement is taken from the quietest half second of audio found in the selection. If one part of the selection is quieter than the rest, you will get a false value.
* Minimum selection length is 1/2 second.
* Maximum selection length is about 2.14 billion samples (13.5 hours at a sample rate of 44100 Hz)

Also beware that some noise sources are worse than others, and noise such as the 1000 Hz whine that often happens in USB audio interfaces may result in an ACX rejection even though it is below the -60 dBFS noise floor requirement.

</details>

### MAAT GON

A Goniometer, also known as XY-Oscilloscope or Phase Scope.

**Note:** Requires registration. This Analyzer can be found in the Effects category.

{% embed url="<https://www.maat.digital/gon/>" %}
Download
{% endembed %}

<details>

<summary>Details</summary>

©2020 MAAT Incorporated, All rights reserved.

Information from the vendor:

*This “phase scope” plug–in quickly conveys global trends and troubles, with a visual out–of–phase warning built in. Plus, an optional autogain feature insures that you’ll see an understandable display with a very wide range of input amplitudes.*

*Usable metering is essential for any engineer, and GŌN’s options are equally practical, with a notable absence of controls. Unlike an oscilloscope which takes up room on your producer’s desk or meter bridge, GŌN’s lack of any knobs or switches means its straightforward user interface contains only a single button, the preference’s gear icon at upper right. Control over gain, focus, “phosphor” color, drawing style and persistence are all there in the preferences, and everything can be saved as a personal preset.*

*All of GŌN’s functionality is wrapped in an information-rich yet visually unobtrusive user interface that occupies only a small slice of screen real estate. Likewise, the plugin is very "light weight" demanding an absolute minimum of CPU resources so it won´t slow down your host. As a bonus to everyone in the audio community, we’re giving you this free and rather useful plug-in. Thanks for visiting, and we hope to see more of you in the future!*

\\

</details>

### Peak Finder rft

Either places a single label at the first instance of a peak volume, or multiple labels at all the instances of that peak.

{% file src="/files/BI5BIFA1uIefc7Ze4PdO" %}
Download
{% endfile %}

<details>

<summary>Details</summary>

Author: Edgar-rft.

**Parameters**

1. **Place labels at:** \[Choice: first peak only, all equally loud peaks (default)] The default setting will create labels for all peaks at the maximum absolute amplitude. "Absolute" amplitude disregards whether the value is positive or negative, so peaks may be up or down.
2. **Minimum Distance: \[samples]:** \[1 to 1000, (default 100)] The minimum distance between labels (in samples). If audio is clipped there may be many samples in succession at the maximum amplitude. This setting avoids labeling every successive sample by setting a minimum distance between labels.

**Limitations**

* This effect can be very slow on long selections.
* If the audio is clipped and "Place labels at: all equally loud peaks" is selected, there may be an extremely large number of labels created. The "Minimum Distance" setting is useful to reduce the number of labels.
* Peaks that appear to be at the maximum amplitude will not be labeled unless they are **exactly** at the maximum amplitude.

</details>

### Pitch Detect

This plugin attempts to detect and display the musical pitch and frequency of the selected note. In most cases the default settings will work best. The other options are provided to handle special cases such as analyzing synthetic signals that are outside of the usual musical range.

{% file src="/files/kc47hlO6eC62BQAOj8S2" %}
Download
{% endfile %}

<details>

<summary>Details</summary>

Author: Steve Daulton

By default, the plugin detects the pitch by analyzing the first 0.2 seconds of the selection. In most cases this should work well. If required the analyzed section can be set to the first part of the selection ranging from the first 10th of a second (0.1 seconds) up to one second.

**Parameters**

1. **Frequency range:** \[Choice: 20-1000 Hz, 100-2000 Hz, 1 kHz-10 kHz. Default 100-2000 Hz] In most cases the default should be used as most musical pitches are in the range 100 to 2000 Hz.
2. **Analyse first (seconds):** \[0.1 to 1. Default 0.2] At the default setting the first 0.2 seconds of the selection will be analyzed.

**Limitations**

This plugin is intended to detect single notes - you may get strange results if you try to analyze chords.

Extremely high frequencies may not be detected very accurately, especially if the sample rate is not very high. The plugin will often detect very high frequencies better if the sample rate is 96000 Hz rather than 44100 Hz.

The plugin should usually be able to detect pitches of single notes to within a few percent of the actual frequency. Don't expect the frequency in Hz to be exact..

**Advanced usage tips**

* For detecting very low frequencies (less than a few hundred Hz) the plugin should be set to the low frequency range (20 to 1000 Hz).
* For detecting very high frequencies (several kHz) the plugin should be set to the high frequency range (1 kHz to 10 kHz).
* For measuring synthesized tones and other electronic signals, the most accurate measure of frequency in Audacity is to use "Plot Spectrum" and set the "Size" setting to a high value.

</details>

## Other sources

Additional Vamp Plugins can be found on <https://www.vamp-plugins.org/download.html>


# Loudness compliance checks

Mastering loudness for various streaming services

Various streaming platforms and other institutions expect content to have a certain range for peaks, RMS, LUFS, noise floor or a combination of the aforementioned. These plugins provide the relevant checks for the platforms in question.

<table><thead><tr><th data-type="files"></th><th>Service</th></tr></thead><tbody><tr><td><a href="/files/kyOu7TaKbseCgFyXYjwv">/files/kyOu7TaKbseCgFyXYjwv</a></td><td>ACX, Audible</td></tr><tr><td><a href="/files/IlgyUWIbrIWi2hVRTKuA">/files/IlgyUWIbrIWi2hVRTKuA</a></td><td>Amazon Music, Alexa</td></tr><tr><td><a href="/files/75tO4S7IDXTppAgRDpQ1">/files/75tO4S7IDXTppAgRDpQ1</a></td><td>Apple Music</td></tr><tr><td><a href="/files/CrHLRA0qigfjVHs7exwt">/files/CrHLRA0qigfjVHs7exwt</a></td><td>Club Play</td></tr><tr><td><a href="/files/9G4001Jr911ue2balPSJ">/files/9G4001Jr911ue2balPSJ</a></td><td>Deezer</td></tr><tr><td><a href="/files/XhiN0QxI8YEkYAu2tub0">/files/XhiN0QxI8YEkYAu2tub0</a></td><td>Netflix</td></tr><tr><td><a href="/files/3MWBPZd4vdykxxRYTicb">/files/3MWBPZd4vdykxxRYTicb</a></td><td>(Podcasts)</td></tr><tr><td><a href="/files/gec6OGfrWI4926lFcM0H">/files/gec6OGfrWI4926lFcM0H</a></td><td>Sony related</td></tr><tr><td><a href="/files/8yQQSH2tCqD7ipm91LuR">/files/8yQQSH2tCqD7ipm91LuR</a></td><td>Soundcloud</td></tr><tr><td><a href="/files/1BXPgAf7GbAsXPh8Rj3K">/files/1BXPgAf7GbAsXPh8Rj3K</a></td><td>Spotify</td></tr><tr><td><a href="/files/RPsrLxq6OUOUufcWqdG1">/files/RPsrLxq6OUOUufcWqdG1</a></td><td>Spotify</td></tr><tr><td><a href="/files/tPCAWxBxgYg4EFd5izPf">/files/tPCAWxBxgYg4EFd5izPf</a></td><td>Tidal</td></tr><tr><td><a href="/files/x1diHim7fd2K79ELQ0GZ">/files/x1diHim7fd2K79ELQ0GZ</a></td><td>YouTube</td></tr></tbody></table>

<details>

<summary>Details</summary>

Authors: Will McCown, Steve Daulton, Philip Collier

Original ACX plugin by Will McCown. Modifications for services other than ACX by Philip Collier.

**Displayed Results**

* **Peak leve**l\
  Maximum peak level in the selection
* **RMS level**\
  The RMS level of the selected audio.
* **Noise floo**r\
  The RMS level of the quietest 500 milliseconds in the selection
* **Warnings**: *(These are only displayed when applicable.)*

**Limitations**

* These tools provide useful guidance, but they do not guarantee that the services in question will reject or modify the uploaded sounds anyway. This particularly goes for ACX, which has additional quality standards not measured by this tool.
* The Noise Floor measurement is taken from the quietest half second of audio found in the selection. If one part of the selection is quieter than the rest, you will get a false value. Also note that ACX requires a very quiet noise floor to be present.
* Minimum selection length is 1/2 second.
* Maximum selection length is about 2.14 billion samples (13.5 hours at a sample rate of 44100 Hz)

Also beware that some noise sources are worse than others, and noise such as the 1000 Hz whine found in some USB audio interfaces may result in an ACX rejection even though it is below the -60 dBFS noise floor requirement.

</details>


# Adding plugins to this site

If you'd like to contribute first make a gitbook account and then go to <https://www.audacityteam.org/gitbook-plugins> to get access to the Plugin space. From there, editing [works the same as described in the user guides section](https://support.audacityteam.org/community/contributing/tutorials).

Alternatively, you can also make a pull request to the [plugins branch on audacity support](https://github.com/audacity/audacity-support/tree/plugins) on Github.

## Requirements for Plugins

* Plugins must work in the current version of Audacity.&#x20;
* Paid plugins are not allowed at this point.&#x20;

## Requirements for Entries

Generally, a plugin entry should look like this:&#x20;

*###################################################*

## *Name of Plugin*

*A short description of what the plugin is good for.*

{% embed url="<https://example.org>" %}
*Download page*
{% endembed %}

<details>

<summary><em>Details</em></summary>

*Additional info, such as developer name, license and copyright info, a short "how to use" section or link to the documentation page, or a screenshot of the plugin - preferably of it working withing Audacity.*

\[screenshot, if applicable]

</details>

*#####################################################*

{% hint style="info" %}
**Note:** When editing through pull requests on Github, note that Gitbook uses additional formatting tags than available in standard-markdown, so your preview might not match what'll be shown to users eventually.&#x20;
{% endhint %}


# Developing your own plugins and scripts

## Plugins

Audacity supports the following formats:

* **Nyquist** (Lisp or SAL)\
  Audacity's built-in scripting format. Allows for easy generation of UI elements and already is tuned to Audacity's needs. Note that this plugin format is not supported as realtime effects.\
  Documentation: [Creating your own Nyquist Plugins](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins)&#x20;
* **VST3** (C++)\
  The industry standard for plugins. Widely supported across Audacity, Musescore and most DAWs. \
  Documentation: <https://steinbergmedia.github.io/vst3_doc/vstsdk/index.html>&#x20;
* **LV2** (C, C++, other C-compatible languages)\
  The Linux plugin standard. Widely supported across open source software.\
  Documentation: <https://lv2plug.in/book/>
* **Vamp** (C++, Python)\
  An easy-to-develop-for framework for audio analyzers.\
  Documentation: <https://www.vamp-plugins.org/develop.html>

Additionally, LADSPA, VST2.4 and Audio Units are supported. LADSPA and VST2.4 are the predecessor to LV2 and VST3, respectively, and thus fairly outdated. Audio Units are only available on macOS.&#x20;

Further, Audacity has modules, which allow extending Audacity beyond just editing audio. It is somewhat experimental and not yet documented.

## Scripts

Audacity supports the following scripting formats:&#x20;

* **mod-script-pipe** (Python, Perl) \
  A module that exposes a named pipe to which commands can be sent. \
  Documentation: <https://manual.audacityteam.org/man/scripting.html>
* **Macros**\
  You can use Audacity's macros feature to chain effects and actions together. This can be exported as a file.\
  Documentation: <https://manual.audacityteam.org/man/macros.html>

If you have found a macro or script which you find universally applicable, you can share it in the scripts section.


# Creating your own Nyquist Plugins


# Plugin Reference

This page offers a detailed look at the structure and syntax of Nyquist Plugins. It is intended for people who wish to write their own plugins.

* If you are looking for extra Nyquist plugins to use, see Nyquist Plugins.
* If you are especially interested in Nyquist in Audacity, we highly recommend subscribing to our [Audacity forum](https://forum.audacityteam.org/), which has a section [specifically for matters relating to Nyquist](https://forum.audacityteam.org/viewforum.php?f=39).

## Overview

Nyquist is a superset of the XLISP programming language, (a dialect of LISP and supports both a LISP syntax and an alternative syntax called SAL. A general introduction to Nyquist is given on the main Nyquist page.

The Audacity Nyquist Interface is implemented in the following files in the Audacity source code:

* audacity/src/effects/nyquist/Nyquist.cpp
* audacity/lib-src/libnyquist/nyx.c

Nyquist is in many ways a separate program from Audacity (and is also available as a [standalone programming language](https://www.cs.cmu.edu/~music/nyquist/)). Nyquist is embedded in Audacity as a software [library](https://en.wikipedia.org/wiki/Library_\(computing\)) that may be called from the main Audacity application to provide additional functionality, most notably as "plugins".

When a Nyquist plugin is selected from one of Audacity's menus, Audacity locates the plugin script (the ".NY" file), starts a Nyquist session and passes the Nyquist code to be interpreted by the Nyquist library. Nyquist then attempts to run the program. The result of running the Nyquist script is returned to Audacity.

## Nyquist Plugin Header <a href="#nyquist_plug_in_header" id="nyquist_plug_in_header"></a>

{% hint style="info" %}
As in most other computer languages, Nyquist supports code comments. Any line beginning with a semi-colon (;) is entirely ignored by Nyquist. Comments may also be placed at the end of a line of code by beginning the comment with a semi-colon. Nyquist ignores everything from the semi-colon to the end of the line.

In Audacity, special comments are used in Nyquist plugins to pass information to Audacity. As with other code comments, these are ignored entirely by Nyquist, but provide instructions to tell Audacity how to create the plugin.
{% endhint %}

### Plugin Header Example <a href="#plug_in_header_example" id="plug_in_header_example"></a>

In this example (derived from the [High-Pass Filter](https://manual.audacityteam.org/man/high_pass_filter.html) effect), the first four lines make up the essential headers that are required in all Nyquist plugins.

* `;nyquist plug-in`\
  This header tells Audacity that this file is a Nyquist plugin.
* `;version 4`\
  This header specifies that this is a "4th generation" plugin.
* `;type process`\
  This header defines the plugin as a "process" (*Effect*) type.
* `;name "High-Pass Filter"`\
  This header tells Audacity the name of the plugin.

```lisp
;nyquist plug-in
;version 4
;type process
;name "High-Pass Filter"
;preview linear
;manpage "High-Pass_Filter"
;debugbutton disabled
;action "Performing High-Pass Filter..."
;author "Dominic Mazzoni"
;release 3.0.2
;copyright "Released under terms of the GNU General Public License version 2 or later."

;control frequency "Frequency (Hz)" float-text "" 1000 0 nil
```

The other headers enable various options and properties, including the plugin's controls.

{% hint style="info" %}
Full descriptions of all plugin headers are provide on the [Nyquist Plugin Headers](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/headers-reference) page.
{% endhint %}

## Nyquist Plugin Widgets <a href="#nyquist_plug_in_widgets" id="nyquist_plug_in_widgets"></a>

Nyquist plugins support a range of "widgets", which are control elements for a graphical user interface (GUI). These elements are unique to Nyquist in Audacity.

The GUI is created by Audacity when a plugin contains one or more widget header commands.

As with other plugin headers, they begin with a semicolon (**;**) and are ignored by Nyquist, except that the variable name of the widget is initialized with a value and made available to Nyquist. This means that Nyquist can access the value that has been set in the widget as the value of the variable specified in the widget header.

{% hint style="info" %}
Note: The "Text widget" is an exception to the above at it is for display purposes only and does not set a value.
{% endhint %}

Each widget begins with "**;control**", and is followed by a number of parameters, one of which defines the *type* of widget. There are currently nine widget types, though not all of them are available for old versions of Audacity.

When a plugin is launched, Audacity searches the plugin **.NY** file for valid headers. Every ";control" line that is found gets parsed by Audacity into several tokens, where each token is separated by spaces. If the tokens match one of the defined patterns, then Audacity adds the widget to the GUI, otherwise they are ignored.

### Syntax for widgets

| ;control | var-name | text-left |    widget-type   | text-right | initial-value |     minimum     |     maximum     |
| :------: | :------: | :-------: | :--------------: | :--------: | :-----------: | :-------------: | :-------------: |
| ;control | *symbol* |  *string* |      **int**     |  *string*  |   *integer*   |    *integer*    |    *integer*    |
| ;control | *symbol* |  *string* | **float** (real) |  *string*  |    *float*    |     *float*     |     *float*     |
| ;control | *symbol* |  *string* |   **int-text**   |  *string*  |   *integer*   | *integer / NIL* | *integer / NIL* |
| ;control | *symbol* |  *string* |  **float-text**  |  *string*  |    *float*    |  *float / NIL*  |  *float / NIL*  |
| ;control | *symbol* |  *string* |    **string**    |  *string*  |    *string*   |        -        |        -        |
| ;control | *symbol* |  *string* |    **choice**    |  *string*  |   *integer*   |        -        |        -        |
| ;control | *symbol* |  *string* |     **time**     |  *string*  |    *float*    |  *float / NIL*  |  *float / NIL*  |
| ;control | *symbol* |  *string* |     **file**     |  *string*  |    *string*   |     *string*    |     *string*    |
| ;control |     -    |     -     |     **text**     |  *string*  |       -       |        -        |        -        |

{% hint style="info" %}
Note: "real" (deprecated) is an alternative name for "float" and is provided as legacy support for old plugins. It should not be used in new code.
{% endhint %}

*Italic* words in the table denote data types. Because tokens are separated by whitepace, strings containing whitespace must be written within quotation marks.

![This image displays all nine widget types in Audacity 2.3.1 on Windows 10](/files/f7oG2c9j0JIjSyVtSGko)

{% hint style="info" %}
Note: Older versions of Audacity may not support all of these controls, which may lead to an "unbound symbol" error. Plugin users are encouraged to use the current version of Audacity, to ensure that they can benefit from all of the latest features.
{% endhint %}

The following code may be run in the [Nyquist Prompt](https://manual.audacityteam.org/man/nyquist_prompt.html) of Audacity 2.3.1 or later, and produces the GUI shown above:

```lisp
;version 4
;name "Plugin Widgets"

;control filename "File Button widget" file "" "" "" "open"
;control number-sw "Slider widget" float "(float)" 50 0 100
;control integer-sw "Slider widget" int "(integer)" 50 0 100
;control number-nt "Numeric Text widget" float-text "(float)" 50 0 100
;control integer-nt "Numeric Text widget" int-text "(integer)" 50 0 100
;control string-var "String widget" string "text right" "default string"
;control text "Text widget [string]"
;control duration "Time widget" time "text right" 30 nil nil

(format nil
        "File Selected: ~s~%~
        Floating point slider: ~s~%~
        Integer slider: ~s~%~
        Floating point text: ~s~%~
        Integer text: ~s~%~
        String: ~s~%~
        (Text widget does not return a value)~%~
        Duration: ~s (seconds)"
        filename
        number-sw
        integer-sw
        number-nt
        integer-nt
        string-var
        duration)
```

The detailed syntax for each widget type is described on the Nyquist Plugins Widgets page.

## Tracks and Selections <a href="#tracks_and_selections" id="tracks_and_selections"></a>

Audacity passes information about the current Audacity session to the Nyquist interpreter, along with the Nyquist code. Typically, when the code runs, it acts on data that has been passed from Audacity, which often includes the selected audio data, and returns data back to Audacity. Here we shall look at the ways that audio data is passed from Audacity to Nyquist, and from Nyquist back to Audacity.

### Passing Selected Audio to Nyquist <a href="#passing_selected_audio_to_nyquist" id="passing_selected_audio_to_nyquist"></a>

For process and analyze type plugins, Nyquist runs the plugin code on each selected track in turn. The audio data is passed from Audacity to Nyquist as a variable called **\*TRACK\*** (the asterisks are part of the name).

* For mono tracks, the value of \*TRACK\* is a "sound" (which is a Nyquist [data type](https://en.wikipedia.org/wiki/Data_type)).
* For stereo tracks, the value of \*TRACK\* is an "array". An array is a special kind of ordered list. The array has two elements, both of which are "sounds". The first element holds audio data from the left channel, and the second element hold data from the right channel.

The selected audio is only available to "process" and "analyze" type plugins (including the compound types "tool process" and "tool analyze").

### Time and Durations <a href="#time_and_durations" id="time_and_durations"></a>

The way that time and durations are handled depends on the type of plugin.

For process and analyze type plugins, the start time of the selection is seen as "time = 0", and the length of the selection is seen as one unit of time. The absolute length of the sound in seconds can be computed one of the following ways:

```lisp
;Lisp
 (/ len *sound-srate*)
(get-duration 1)

;SAL
 len / *sound-srate*
get-duration(1)
```

{% hint style="info" %}
NOTE: get-duration answers the question: "If a behavior has a nominal duration of 1, how long will it be after warping it according to the Nyquist environment?" Since many built-in behaviors like OSC and LFO have nominal durations of 1, In process effects, Audacity sets up the environment (including *warp*) to stretch them by the selection's duration. Otherwise, if you wrote (OSC C4), the result would have a duration of one second instead of the duration of the selection.
{% endhint %}

In 'generate' effects, this does not happen, so the length specified by the effect is the length that is produced. For example, if you write (OSC C4 3.5), a generate type effect will produce a tone of duration 3.5 seconds.

For generate type plugins, the length of the selection (if there is a selection) is usually ignored by Nyquist. However, if for some reason the length of the selection needs to be known, then \*SELECTION\* **START** and **END** properties may be used (version 4 plugins or later).

When generating sounds with a 'generate' type plugin, durations in Nyquist represent seconds. For example, to generate a 2.5 second sine tone, you could write:

```lisp
;type generate
(osc 60 2.5)
```

but if the same code is used in a 'process' type plugin, the generated tone will be 2.5 x the duration of the track selection:

```lisp
;type process
(osc 60 2.5)
```

If a duration in seconds is required in a 'process' type plugin, this may be done using the [ABS-ENV](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index583) command:

```lisp
;type process
(abs-env (osc 60 2.5))
```

The above examples may be run in the [Nyquist Prompt](https://manual.audacityteam.org/man/nyquist_prompt.html).

## Global Variables and Reserved Variable Names <a href="#global_variables_and_reserved_variable_names" id="global_variables_and_reserved_variable_names"></a>

In addition to the standard global variables defined in the [Nyquist Reference Manual](http://www.cs.cmu.edu/~rbd/doc/nyquist/part9.html), Nyquist in Audacity also has global variables that relate specifically to Audacity. Listed here are a few common standard Nyquist globals, and global variables that are relevant to Nyquist in Audacity.

* [**\*CONTROL-SRATE\***](http://www.cs.cmu.edu/~rbd/doc/nyquist/part9.html#index844) : \[float] The sample frequency of the control signals (such as those created by [piecewise approximations](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index389). By default 1/20 of the sample rate of the track.
* **\*DECIMAL-SEPARATOR\*** : \[char] A comma character (#\\') or dot character (#\\.) depending on the language selected in [Audacity's Preferences](https://manual.audacityteam.org/man/interface_preferences.html).
* **\*FILE-SEPARATOR\*** : \[char] The character that separates directories in a path, e.g. "/" (#\\/) for Unix, ":" (#\\:) for Mac, and "\\" (#\\\\) for Win32.
* **LEN** : \[int] The number of samples contained in the selected Audacity sound.
* **\*LOCALE\*** : \[list] This is variable name is reserved for [translation strings](https://github.com/audacity/audacity-support/blob/plugins/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/broken-reference/README.md).
* **\*PREVIEWP\*** : \[bool] True when previewing an effect, otherwise false.
* **\*RUNTIME-PATH\*** : \[string] Path to Nyquist .lsp files.
* **\*PROJECT\*** : A variable with a list of properties relating to the current Audacity project.
* **S** (obsolete) : \[sound or array of two sounds] Prior to version 4 plugins, in process and analyze type plugins this was the Audacity sound \[the selected part of the Audacity audio track]. In generate type plugins "S" is the [Adagio notation](http://www.cs.cmu.edu/~rbd/doc/nyquist/part11.html) for a *quarter note* (float value 0.25).
* [**S**](http://www.cs.cmu.edu/~rbd/doc/nyquist/part2.html#index53) : [Adagio notation](http://www.cs.cmu.edu/~rbd/doc/nyquist/part11.html). \[float] A *quarter note* (float value 0.25).
* **\*SCRATCH\*** : \[any] a symbol whose value and property list are preserved from one effect invocation to the next.
* **\*SELECTION\*** : A variable with a list of properties relating to the current selection.
* [**\*SOUND-SRATE\***](http://www.cs.cmu.edu/~rbd/doc/nyquist/part9.html#index868) : \[float] The sample frequency of the selected track audio.
* **\*SYSTEM-DIR\*** : A variable with a list of properties relating to the file system.
* **\*SYSTEM-TIME\*** : A variable with a list of properties relating to the system time/date.
* **\*TRACK\*** : \[sound or array of sounds] The Audacity sound \[the selected part of the Audacity audio track]. The \*TRACK\* variable also has a list of "properties" that pass additional information to Nyquist.
* [**\*WARP\***](http://www.cs.cmu.edu/~rbd/doc/nyquist/part4.html#index144) : information that communicates start-time and duration to Nyquist functions. In Audacity, the start-time is always considered to be zero (regardless of the actual start time of the selection) and the duration indicates the duration of the selection. \*warp\* should not normally be accessed directly.

Other global variables provided by Nyquist can be found in the [Nyquist manual index](http://www.cs.cmu.edu/~rbd/doc/nyquist/indx.html).

## Global Property Lists <a href="#global_property_lists" id="global_property_lists"></a>

Property lists are defined for the global variables \*AUDACITY\*, \*PROJECT\*, \*SELECTION\*, \*SYSTEM-DIR\*, \*SYSTEM-TIME\*, and \*TRACK\*.

For examples using property lists, see the [Nyquist Property List Tutorial](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/tutorials/property-list-tutorial).

### \*AUDACITY\*

This property list was added in Audacity version 2.1.0

**Value:** Unbound (not defined).

* **LANGUAGE** : \[string] The country code for the language set in [Audacity Preferences](http://manual.audacityteam.org/man/interface_preferences.html#display).\
  Example - when Audacity's locale setting is for English, `(print (get '*audacity* 'language))`will print `en`.
* **VERSION** : \[integer list] A list in the form (Audacity\_version Audacity\_release Audacity\_revision)\
  Example: Print the full Audacity version for Audacity 2.1.3\
  `(let ((version-list (get '*audacity*' version)))`\
  `(format nil "Audacity version ~a.~a.~a" (first version-list)(second version-list)(third version-list)))`\
  Prints: Audacity version 2.1.3

### \*PROJECT\*

**Value:** Unbound (not defined).

* **LABELTRACKS** : \[integer] The number of label tracks in the project.
* **MIDITRACKS** : \[integer] The number of note tracks in the project.
* **NAME** : \[string] The name of the current project. A project that has not been named (not yet saved) returns an empty string.
* **PREVIEW-DURATION** : \[float] The [Effects Preview Length](https://manual.audacityteam.org/man/playback_preferences.html) set in Audacity preferences.
* **PROJECTS** : \[integer] The number of open projects.
* **RATE** : \[integer] The project rate in the project.
* **TIMETRACKS** : \[integer] The number of time tracks in the project.
* **TRACKS** : \[integer] The number of tracks in the project.
* **WAVETRACKS** : \[integer] The number of audio tracks in the project.

### \*SELECTION\*

**Value:** Unbound (not defined).

* **BANDWIDTH** : \[float] The bandwidth of the frequency selection in octaves (Spectrogram or Spectrogram (log f) track view).
* **CENTER-HZ** : \[float] The centre frequency selection in Hz (Spectrogram or Spectrogram (log f) track view).
* **CHANNELS** : \[integer] The number of selected audio channels.
* **END** : \[float] The end of the selection in seconds.
* **HIGH-HZ** : \[float] The high frequency selection Hz (Spectrogram or Spectrogram (log f) track view).
* **LOW-HZ** : \[float] The low frequency selection Hz (Spectrogram or Spectrogram (log f) track view).
* **RMS** : \[float or array] For mono tracks, the [RMS](https://manual.audacityteam.org/man/glossary.html#rms) amplitude (linear scale). For stereo tracks, an array containing the RMS for each channel.
* **PEAK** : \[float or array] For mono tracks, the absolute peak level (linear scale). For stereo tracks, an array containing the absolute peak level for each channel. Returns 'NIL' if peak level is infinite or [NaN](https://en.wikipedia.org/wiki/NaN).
* **PEAK-LEVEL** : \[float] The absolute peak level (linear scale). Returns 'NIL' if peak level is infinite or NaN.
* **START** : \[float] The start of the selection in seconds.
* **TRACKS** : \[integer list] A list of track numbers of selected audio tracks.

### \*SYSTEM-DIR\* <a href="#system_dir" id="system_dir"></a>

**Value:** Unbound (not defined).

* **BASE** : \[string] The Audacity installation directory.
* **DATA** : \[string] The Audacity data directory. This is where the audacity.cfg, pluginregistry.cfg and EQCurves.xml files are located.
* **DOCUMENTS** \[string] The system default documents directory.
* **HELP** : \[string] The installation directory for the Audacity Manual (note that the Manual may not exist).
* **HOME** : \[string] The current user's "[home](https://en.wikipedia.org/wiki/Home_directory)" directory.
* **PLUG-IN** : \[string list] The Nyquist plugin search path. This includes the directories where Audacity looks for Nyquist plugins, and other Nyquist related files. Not all directories are currently used and some are for legacy support only.
* **SYS-TEMP** : \[string] The system temp directory.
* **TEMP** : \[string] The Audacity temp directory. This is where unsaved project data is temporarily stored.
* **USER-PLUG-IN** : \[string] The default path for user plugins.

### \*SYSTEM-TIME\* <a href="#system_time" id="system_time"></a>

This property list was added in Audacity version 2.1.1.

**Value:** A list in the form '(year, day, hours, minutes, seconds), where each list item is an integer.

**Example:** 5 minutes past 2pm January 1st 2022 would be the list: `2022, 1, 14, 5, 0`.

{% hint style="info" %}
Note that "day" is a number in the range 1 to 366, counted from the start of the year.
{% endhint %}

This is the time that the Nyquist code is parsed, NOT the time it is executed. It cannot therefore be used for timing events that occur while the code is running. Possible uses for \*SYSTEM-TIME\* could include automatic naming of files written to disk, or for "[seeding](https://en.wikipedia.org/wiki/Random_seed)" random processes.

* **DATE** : \[string] The date formatted according to the current locale. Example: "dd/mm/yy".
* **DAY** : \[integer] Day of the month.
* **DAY-NAME** : \[string] The name of the day (Example: "Monday").
* **ISO-DATE** : \[string] The date represented in the ISO 8601 format "YYYY-MM-DD".
* **ISO-TIME** : \[string] The time represented in the ISO 8601 format "HH:MM:SS".
* **MONTH** : \[integer] The month (as an integer).
* **MONTH-NAME** : \[string] The name of the month (Example: "January").
* **TIME** : \[string] The time formatted according to the current locale. Example: "hh:mm:ss".
* **YEAR** : \[integer] The year (as an integer).

### \*TRACK\*

**Value:** The *sound* from a selected mono audio track, or an array of two sounds from a selected stereo track (see the Nyquist Stereo Track Tutorial).

Properties of \*TRACK\* all relate to the track that is being processed. Currently Nyquist only processes audio tracks. When multiple tracks are selected, Nyquist processes each audio track in turn (top to bottom).

* **CHANNELS** : \[integer] The number of channels in the track (mono = 1, stereo = 2).
* **CLIPS** : \[list or array] For mono tracks, a list of start and end time of each audio clip. For stereo tracks, an array containing a list of clips for each channel.\
  Due to a limitation in Nyquist, the "clips" property can hold a maximum of 1000 start / end times.\
  If an audio channel contains more than 1000 clips, the first 1000 will be listed, and the 1001th item will be NIL.\
  See [AUD-GET-INFO](https://manual.audacityteam.org/man/nyquist_macros.html#AUD-GET-INFO) for an alternative way to get clip times that will work with 1000's of clips.
* **END-TIME** : \[float] The track end time.
* **FORMAT** : \[integer or float] The track sample format. One of (Integer) 16, (Integer) 24, or (float) 32.
* **GAIN** : \[float] The value of the track Gain slider.
* **INDEX** : \[integer] A counter that increments for each track processed. On processing the first track, the value is "1".
* **NAME** : \[string] The name of the track.
* **PAN** : \[float] The value of the track Pan slider.
* **RATE** : \[float] The track sample rate.
* **SPECTRAL-EDIT-ENABLED** : \[bool] Returns 'T' (*true*) if [spectral editing is enabled](https://manual.audacityteam.org/man/spectrograms_preferences.html#Enable_Spectral_Selection), otherwise 'NIL'. Note that this is irrespective of the track view and will return 'T' if the spectral editing option for the track is enabled even if the track is not displaying a spectrogram.
* **START-TIME** : \[float] The track start time (note that this will often be different from the *selection* start time.)
* **TYPE** : \[string] The type of track. One of: "wave", "midi", "label", "time". Currently only "wave" (audio tracks) are processed by Nyquist plugins.
* **VIEW** : \[string or list] The track view. Only applies to audio tracks.\
  \* A single track view returns one of "Waveform", "Spectrogram" or NIL. [Multi-View](https://manual.audacityteam.org/man/multi_view.html) returns a list of strings or NIL.\
  \* Multi-view returns the upper view as the first element, and the lower view as the second (either "Waveform" or "Spectrogram"). Both normal "Waveform" and "Waveform (dB)" return the string "Waveform".\
  \* Prior to Audacity 2.4.x : \[string] One of: "Waveform", "Waveform (dB)", "Spectrogram" or NIL.

The *VIEW* property may change in future versions of Audacity, so is not recommended for public release plugins. During Preview, audio tracks are copied to temporary tracks which are not visible, so the returned "VIEW" value is NIL.

## Return Values <a href="#return_values" id="return_values"></a>

Nyquist supports many *"data types*", including "numbers" (integer or floating-point), "characters" (such as the letter "A", the number "4", or any other [ASCII character](https://en.wikipedia.org/wiki/ASCII)), "strings" (text), "[list](https://en.wikipedia.org/wiki/List_\(abstract_data_type\))" (a list of data), "[array](https://en.wikipedia.org/wiki/Array_data_type)" (special kind of indexed list), and "sounds" (a sound / digital signal).

The result of the last computation within the plugin code will be given back from Nyquist to Audacity. According to the *data type* of the returned value one of the following actions will be invoked in Audacity:

### Mono Sound <a href="#mono_sound" id="mono_sound"></a>

If a "sound" is returned, the sound will be re-inserted into the selected part of the Audacity track, (or a new track for "generate" type plugins). If the returned sound is shorter or longer than the original sound, the selection will be reduced or augmented. If a mono sound is returned to a stereo track, the same mono sound will be inserted into both channels of the stereo track.

### Multi-Channel / Stereo Sound <a href="#multi_channel_stereo_sound" id="multi_channel_stereo_sound"></a>

Nyquist handles multi-channel sounds as an *array* of *sounds*. The first element of the array is the left channel, and the second element is the right channel. Audacity currently supports a maximum of two channels in a track (stereo).

Returning an array of sounds to a mono track is an error.*To return a stereo sound without error, a stereo track must be selected before running the Nyquist code.*

For more information about stereo tracks, see the [Nyquist Stereo Track Tutorial](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/tutorials/stereo-tracks-tutorial).

### String / Text <a href="#string_text" id="string_text"></a>

When the return value is a character or string, a dialog window will appear with the data displayed as text.

### Number

A dialog window will appear with the number displayed as text.

### Labels

If an appropriately formatted list is returned to Audacity, a label track will be created below the audio track(s).

For point labels the format is:

`((`*`number`*` `` ``" `*`string`*`") (`*`number`*` `` ``" `*`string`*`") ... )`

The list to create a label track must contain one or more lists, each of which must have:

* *number* - (an integer or float) is the time in seconds from the beginning of the Audacity selection, where the label will appear.
* "string" - a string to be displayed in the label's text field.

For region labels, each label list must contain two *int-or-float* elements, one for the start and one for the end of the label region.

`((`*`number`*` ```` `*`number`*` `` ``" `*`string`*`") (`*`number`*` ```` `*`number`*` `` ``" `*`string`*`") ... )`

Audacity will always place returned audio or labels relative to the start of the [selection](https://manual.audacityteam.org/man/Audacity_Selection) and not the start of the [Timeline](https://manual.audacityteam.org/man/Timeline).

#### Empty String <a href="#empty_string" id="empty_string"></a>

An empty string may be used as a "null return", which means that the plugin returns nothing, and no error. An example use would be if you wish to process only the first selected track.

```lisp
;; Example: Apply a function "process" to
;; the first selected track only.

(if (= (get '*track* 'index) 1)
    (process *track*)
    "")
```

## Playing sounds with Nyquist <a href="#playing_sounds_with_nyquist" id="playing_sounds_with_nyquist"></a>

When using the [Nyquist Prompt](https://manual.audacityteam.org/man/nyquist_prompt.html) or (most) Nyquist plugins that have a [GUI](https://en.wikipedia.org/wiki/Graphical_user_interface), if the plugin returns a sound, it may be previewed using the `Preview` button. In addition to this, it is also possible to play sounds directly from Nyquist, using the [PLAY](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index626) function. The PLAY function will be executed when the plugin code runs.

{% hint style="info" %}
The PLAY function is described in the [Nyquist manual](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index626). The information here describes aspects that are specific to Nyquist in Audacity.
{% endhint %}

Note that the Nyquist PLAY command does not use Audacity's [audio device settings](http://manual.audacityteam.org/man/devices_preferences.html). Nyquist uses the system default device for playback, and has a default buffer of 100 ms. The buffer setting may be changed with the [SND-SET-LATENCY](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index340) command. The actual latency values are dependent on the computer sound system and may differ from those requested by Nyquist.

To see the list of available devices when Nyquist plays, set \*snd-list-device\* to "true" before the play command, then use `Debug` button to see the output.

`(setf *snd-list-devices* t)`\
`(play *track*)`

To select a specific output device, set \*snd-device\* to the index number of the device you wish to use (not all devices are valid). For example, if ALSA hw(0,0) is device 0, select it with:

`(setf *snd-device* 0)`\
`(setf *snd-list-devices* t)`\
`(play *track*)`

{% hint style="danger" %}
It is not possible to interrupt Nyquist playback. The sound will continue playing until it reaches the end, and other Audacity functions are disabled until Nyquist playback has finished.
{% endhint %}

To limit the amount of audio that will play, the length of the sound must be defined before starting playback. For example, to play the first 1 second of a selection, you could write (LISP syntax):

```lisp
(play (extract-abs 0 1 *track*))
```

Note also that if a plugin uses Nyquist PLAY command, using `Preview`will cause an error on some machines because Audacity may not be able to access the audio device while it is being used by Nyquist. For "own use" plugins, if you have more than one sound card, a possible workaround to enable Preview and Nyquist PLAY simultaneously, is to set the Nyquist playback device to a different device to that which Audacity uses. For public release plugins the `Preview` button should normally be disabled if Nyquist PLAY is used.

## Plugin Translations <a href="#plug_in_translations" id="plug_in_translations"></a>

Nyquist plugins provide two mechanisms for translation into the language specified in Audacity's preferences.

One method is exclusively for plugins that are shipped by default with Audacity and requires compiling Audacity from source, plus several other steps involving [gettext](https://www.gnu.org/software/gettext/). Unfortunately this method is not documented, so only a brief description is provided here.

The other method may be used by plugin developers for their "third party" plugins, but can be used only for returned strings and not for the main plugin interface.

### Translation for shipped effects <a href="#translation_for_shipped_effects" id="translation_for_shipped_effects"></a>

Header comments in translated plugins begin with a dollar "$" character rather than the usual semicolon ";" character. The strings to be translated are then wrapped in a function that has a one character name "\_" (underscore).

**Example:** In the [Adjustable Fade](https://manual.audacityteam.org/man/adjustable_fade.html) effect, the [Name](https://github.com/audacity/audacity-support/blob/plugins/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/broken-reference/README.md) header is changed from:

`;name "Adjustable Fade"`

to:

`$name (_ "Adjustable Fade")`

**;control** lines become **$control**. As with other translated headers, the **$** symbol replaces the normal semicolon. The line is ignored by Nyquist as a *comment*, but is visible to Audacity for translation and for creating a [widget](https://github.com/audacity/audacity-support/blob/plugins/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/broken-reference/README.md).

The options in Multiple-choice widgets may be translated. For example:

`;control var (_ "Translated left text") choice ((_ "Yes") (_ "No")) 0`

{% hint style="danger" %}
The above example is not safe to use. See the "Limitations" section below.
{% endhint %}

**Macros and portability:** To allow portability of settings and macros, choices may include a non-translated form of each choice. The non-translated form is used by Macros but is not normally visible to users.

`;control var (_ "Translated left text") choice (("Label1" (_ "Translated Label 1")) ("Label2" (_ "Translated Label 2"))) 0`

**Other user visible strings:** Other strings that are visible to users are marked for translation using the "underscore" function. An example from the Adjustable Fade plugin:

`(format nil (_ "~aPercentage values cannot be negative.") err)`

### **Limitations**

Control characters like (new line), (tab) are not supported. The workaround is to use Lisp format directives instead:

* **Bad** (does not work correctly):

`(print (_ "Line one.\nLine two."))`

* **Good**:

`(print (format nil (_ "Line one.~%Line two.")))`

Note that translations may contain Unicode characters that are not supported by Nyquist. It is therefore important that any translated strings that need to be *machine readable* (such as Multiple-Choice widget options) ***should*** also have a non-translated form.

`;control var (_ "Translated left text") choice (("Label1" (_ "Translated Label 1")) ("Label2" (_ "Translated Label 2"))) 0`

### Translation for third party effects <a href="#translation_for_third_party_effects" id="translation_for_third_party_effects"></a>

{% hint style="warning" %}
It is not currently possible to provide translations for a third party plugin's main interface, unless the name is the same as a translated Nyquist plugin that is already shipped with Audacity. It is highly recommended to NOT reuse the same name as a shipped plugin for a third party plugin.
{% endhint %}

Translations may be provided for return value messages and debug messages. To do this, the string must be marked for translation by wrapping it in the "underscore" function. The translation must also be provided in a specially formatted list variable **\*locale\***.

The format for the \*locale\* list is: `(LIST (language-list) [(language-list) ...])`

where "language-list" is a list in the form: `(LIST country-code (translations))`

and the "translations" are list in the form: `(LIST (List "string" "translation") [(List "string" "translation")...])`

* The \*locale\* list may contain any number of "language-list" elements, where each language-list is a list of two strings.
* The first element of each "language-list" is the country code (for example "en" or "fr"),
* The second item of each "language-list" is a list of translation pairs.
* A "translation pair" is a list containing the default string (usually in English) and the translated string (in the language specified by the country code).

A working example may be found in the [RMS effect](https://github.com/audacity/audacity/blob/master/plug-ins/rms.ny).

## See Also <a href="#see_also" id="see_also"></a>

* [Nyquist](https://manual.audacityteam.org/man/nyquist.html) in the Audacity manual
* Nyquist [Basics ](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/basics)and [Tutorials](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/tutorials)
* [Nyquist 3.02 Reference Manual](http://www.cs.cmu.edu/~rbd/doc/nyquist/)
* [XLISP 2.0 Manual](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-index.htm)


# Headers Reference

Plugin Headers are specially formatted [code comments](https://en.wikipedia.org/wiki/Comment_\(computer_programming\)) placed at the top of a Nyquist plugin script.

Any line beginning with a semi-colon (";") is entirely ignored by Nyquist, but properly formatted "header" comments provide instructions that tell Audacity how to create the plugin.

## Plugin header format

Plugin headers are written as:

```
;keyword args
```

where *keyword* is the header command, and *args* is a list of values. For most header commands there must be the correct number of arguments.

Important:

* Nyquist plugin headers normally begin with one single semicolon at the beginning of each line.
* Headers must be all lower-case except for quoted text (for example: "*name*") which may include upper-case characters.
* Malformed plugin headers are ignored (treated as normal code comments).
* Audacity 2.3.0 adds a new style of header for plugins that are shipped with Audacity which provides multi-language translation support.

#### Locale Support

Translated headers begin with a dollar character ("$") rather than a semi-colon. The string to be translated is double quoted, and appears between (\_ and ).

{% hint style="info" %}
Multi-language support for a plugin's [GUI](https://en.wikipedia.org/wiki/Graphical_user_interface) is available only to plugins that are shipped with Audacity, as the translations must be compiled into Audacity's language files.

See also: [Plugin Translations.](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/plugin-reference#plug_in_translations)
{% endhint %}

Example:

```
$name (_ "Name of Effect")
```

### Header Syntax

All plugin headers have the syntax: ;keyword *args*, where *args* are the parameters ("arguments") for the header command.

| **Required plugin headers:**               | These headers are required in all Nyquist plugins.                                                                                                                                                                                                                  |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \*\*\*\*                                   |                                                                                                                                                                                                                                                                     |
| [;nyquist plug-in](#nyquist-plug-in)       | Defines the text file as a Nyquist plugin.                                                                                                                                                                                                                          |
| [;name](#name) "*name*"                    | Sets the name of the plugin.                                                                                                                                                                                                                                        |
| [;type](#type) "*type*"                    | Specifies the *type* of plugin.                                                                                                                                                                                                                                     |
| [;version](#version) *version*             | Specifies the Nyquist plugin version.                                                                                                                                                                                                                               |
| **Display Headers:**                       | Display additional information about the plugin. These headers are optional.                                                                                                                                                                                        |
|                                            |                                                                                                                                                                                                                                                                     |
| [;author](#author) "*text*"                | Name of plugin developer. Shown in [the "About" section of Manage](https://manual.audacityteam.org/man/manage_presets.html#About). Also used when effects are [sorted by "Publisher"](https://alphamanual.audacityteam.org/man/Effects_Preferences#effect_options). |
| [;copyright](#copyright) "*text*"          | Copyright / license notice. Shown in [the "About" section of Manage](https://manual.audacityteam.org/man/manage_presets.html#About).                                                                                                                                |
| [;release](#release) *version*             | Version / release number of the plugin. Shown in [the "About" section of Manage](https://manual.audacityteam.org/man/manage_presets.html#About).                                                                                                                    |
|                                            |                                                                                                                                                                                                                                                                     |
| **Functional Headers:**                    | These headers may be used to provide additional functionality.                                                                                                                                                                                                      |
| [;codetype](#codetype) *type*              | Specifies if the Nyquist code uses SAL or LISP syntax.                                                                                                                                                                                                              |
| [;debugbutton](#debugbutton) *option*      | Specifies if the Debug button is visible.                                                                                                                                                                                                                           |
| [;debugflags](#debugflags) *flags*         | Sets the debug message behavior.                                                                                                                                                                                                                                    |
| [;helpfile](#helpfile) *"path to file"*    | Displays a Help button that links to a plugin Help file.                                                                                                                                                                                                            |
| [;manpage](#manpage) "*URL*"               | Displays a Help button that links to the plugin Help page in the [Audacity manual](https://manual.audacityteam.org/).                                                                                                                                               |
| [;maxlen](#maxlen) *integer*               | Sets the maximum number of samples to be processed.                                                                                                                                                                                                                 |
| [;mergeclips](#mergeclips) *integer*       | Specifies the clip merge behavior.                                                                                                                                                                                                                                  |
| [;preview](#preview) *option*              | Specifies the plugin Preview options.                                                                                                                                                                                                                               |
| [;restoresplits](#restoresplits) *integer* | Specifies the clip split behavior.                                                                                                                                                                                                                                  |
|                                            |                                                                                                                                                                                                                                                                     |
| **Obsolete Headers:**                      | These headers are no longer used by current versions of Audacity and are ignored.                                                                                                                                                                                   |
| [;action](#action) "*text*"                | *Ignored*.                                                                                                                                                                                                                                                          |
| [;categories](#categories) "*text*"        | *Ignored*.                                                                                                                                                                                                                                                          |
| [;info](#info) "*text*"                    | *Ignored*.                                                                                                                                                                                                                                                          |
|                                            |                                                                                                                                                                                                                                                                     |
| [Control Headers:](#control-headers)       | These headers define the plugin GUI.                                                                                                                                                                                                                                |
| [;control](#control-headers) *\<args>*     | The parameters (*\<args>*) specify the type of widget and the widget's required arguments. See also: Nyquist Plugins Widgets                                                                                                                                        |

## Required plugin headers

### **nyquist plug-in**

Tells Audacity "this is a Nyquist plugin". This should normally be the first line as it defines the contents of the file.

```
 ;nyquist plug-in
```

### **name**

Name of the plugin as it will appear in the Audacity menu:

```
 ;name "name"
```

Note that for plugins to be used in [Chains](https://manual.audacityteam.org/o/man/chains_for_batch_processing_and_effects_automation.html), the colon character ":" cannot be used (as it is a *special* character in the Chain text file).

If the plugin has an interface, the name should end with three dots so as to indicate that additional user action is required before the plugin is applied. Plugins that act immediately without additional user action should not have dots at the end of the name.

### **type**

Only one ";type" line should be used.

A plugin cannot appear in several Audacity menus at the same time, but it is possible to write several plugins with the same name and different ";type" lines. Each plugin will then appear in the appropriate menu. Using the same name for more than one plugin is not recommended and should generally be avoided.

| Type header    | Features                                      | Typical Role                                                                                                                                                        |
| -------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ;type analyze  | Plugin appears in the Audacity Analyze menu.  | <ul><li>Analyzing selected track audio.</li><li>Durations are relative to the selection length.</li><li>Code iterates through each selected track.</li></ul>        |
| ;type generate | Plugin appears in the Audacity Generate menu. | <ul><li>Generating audio.</li><li>Durations are absolute (1 "unit" of time = 1 second).</li><li>Code runs once only regardless of number of tracks.</li></ul>       |
| ;type process  | Plugin appears in the Audacity Effect menu.   | <ul><li>Processing selected track audio.</li><li>Durations are relative to the selection length.</li><li>Code iterates through each selected track.</li></ul>       |
| ;type tool     | Plugin appears in the Audacity Tools menu.    | <ul><li><a href="https://alphamanual.audacityteam.org/man/Nyquist_Macros">Nyquist Macros</a> / Other.</li><li>Nyquist cannot directly modify the project.</li></ul> |

Tool type plugins are typically [Nyquist Macros](https://alphamanual.audacityteam.org/man/Nyquist_Macros) or plugins that don't fit well in any of the first three roles. They may also be combined with one of the other types:

| Type header         | Features                                                             |
| ------------------- | -------------------------------------------------------------------- |
| ;type tool analyze  | Appears in the Audacity Tools menu and behaves like an Analyze type. |
| ;type tool generate | Appears in the Audacity Tools menu and behaves like a Generate type. |
| ;type tool process  | Appears in the Audacity Tools menu and behaves like a Process type.  |

### **version**

Use only one ";version" line.

All new plugins should use the most recent version number so that all current features are available. The version line is required to allow Audacity to run the plugin correctly and prevents plugins with new features from being loaded in an old Audacity program that is missing required features.

| Version header | Features                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ;version 1     | Slider Widget                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ;version 2     | Text input widget added                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ;version 3     | multiple-Choice widget added                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ;version 4     | <ul><li>Additional global variables to pass additional information from Audacity to Nyquist.</li><li><p>New optional plugin headers:</p><ul><li><a href="#author">;author</a></li><li><a href="#copyright">;copyright</a></li><li><a href="#maxlen">;maxlen</a></li><li><a href="#mergeclips">;mergeclips</a></li><li><a href="#preview">;preview</a></li><li><a href="#release">;release</a></li><li><a href="#restoresplits">;restoresplits</a></li></ul></li></ul> |

## Display headers

### author

Name of the plugin Author. If this line is added, its text will appear in the Audacity Effect Menu when sorted or grouped by "Publisher". The *author name* string must be quoted.

```
 ;author "Name of Plugin Author(s)"
```

### **copyright**

A short statement of the copyright/license terms. For plugins shipped with Audacity, this must be compatible with Audacity's GPL v2 license. The copyright string must be quoted.

Recommended text for GPL v2 license:

;copyright "Released under terms of the GNU General Public License version 2 or later"

Additional copyright details may be included in the plugin code comments, but must not conflict with the terms declared in the copyright header.

```
 ;copyright "copyright text"
```

### **release**

Displays a release version number for the plugin in the [Manage > About](https://manual.audacityteam.org/man/manage_presets.html#About) menu.

Plugins that are shipped with Audacity have a release version number equivalent to the Audacity version at the time that the plugin was last updated.

Plugin authors may choose whichever [versioning scheme](https://en.wikipedia.org/wiki/Software_versioning) they prefer, but should ensure that later versions of the plugin always have a later version number. If the version number has spaces, it must be enclosed in double quotes.

Any one of the following are valid (though there should be only ONE release header in a plugin):

release 1\
release 0.0.1\
release "1.0"\
release "3.5 beta"

### Functional headers

### **codetype**

Declaration of code syntax. May be either lisp or sal (lower case).

* For LISP syntax plugins this is usually omitted, but it should always be included for SAL syntax plugins.
* If the code type is not declared in the [Nyquist Prompt effect](http://manual.audacityteam.org/man/nyquist_prompt.html), Audacity attempts to deduce the correct syntax from the code.
* The code type can only be Lisp syntax or SAL. It cannot be a mix of both.

```
 ;codetype type
```

### **debugbutton**

Show or hide the Debug button. The default is to show the button, but for plugins that are shipped with Audacity, or other plugins that are believed to be bug free, the Debug button may be hidden by setting this to "false" or "disabled"

```
 ;debugbutton false
```

or

```
 ;debugbutton disabled
```

### **debugflags**

| debugflags header      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ;debugflags trace      | <p>Sets <a href="http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-287.htm"><em>tracenable</em></a> (LISP) or <em>sal-traceback</em> (SAL) and displays debug window if there is anything to show.</p><p>This may be useful when showing debug info is integral to what the plugin does, or when debugging a script.</p>                                                                                                                                                                       |
| ;debugflags notrace    | <p>Disables <em>tracenable</em> (LISP) / <em>sal-traceback</em> (SAL). This prevents the debug window from opening on error, unless the Debug button has been pressed.</p><p>If the Debug button has not been pressed and there is an error, the error message will be sent to Audacity's <a href="https://manual.audacityteam.org/man/help_menu_diagnostics.html#show_log">log</a>. Note that disabling <em>tracenable</em> limits the debug output to only the error message with little or no additional debugging information.</p> |
| ;debugflags compiler   | <p>Set <em>sal-compiler-debug</em> to 'true'.</p><p>Output from the SAL compiler is printed to the debug output. This may be viewed in the Debug window if enabled (for example, by clicking the Debug button), otherwise in the <a href="https://manual.audacityteam.org/man/help_menu_diagnostics.html#show_log">Audacity log</a>.</p>                                                                                                                                                                                               |
| ;debugflags nocompiler | <p>Set <em>sal-compiler-debug</em> to 'false'.</p><p>Disables compiler messages from SAL. Only debug and error messages are printed to the debug output.</p>                                                                                                                                                                                                                                                                                                                                                                           |

These flags may be used in conjunction with the [debugbutton](#debugbutton) header to provide a variety of behaviors.

* **debugbutton true, debugflags trace**: Debug window opens if debug button pressed or if Nyquist printed to the debug window.
* **debugbutton false, debugflags trace**: Debug button disabled, but debug window opens if Nyquist printed to the debug window.
* **debugbutton true, debugflags notrace**: Debug window opens only when Debug button is pressed. If Debug button has NOT been pressed, any error messages that arise are routed to the [Audacity log](https://manual.audacityteam.org/man/help_menu_diagnostics.html#show_log).
* **debugflags compiler, debugflags trace**: (When using SAL syntax) The Debug window always opens to display the output from the SAL compiler.
* **debugflags compiler, debugflags notrace**: (When using SAL syntax) The Debug window only opens to display the output from the SAL compiler if Debug button is clicked, otherwise it is printed to the Audacity log.
* **debugflags nocompiler, debugflags trace**: (When using SAL syntax) The Debug window always opens to display debug and/or error messages. Output from the SAL compiler is suppressed.

### **helpfile**

A [Help button](http://manual.audacityteam.org/man/help_button.html) may be added to the plugin [GUI](https://en.wikipedia.org/wiki/Graphical_user_interface) by giving the relative path and name of a help file. As the button can only be created if the plugin has a GUI, this header should not be used in plugins that do not have a GUI.

```
 ;helpfile path to file
```

The file path is relative to the plugin search path. Normally the help file would be placed in the same location as the plugin when it is installed. To support HTML files with images and/or media, the help file and its resources may be in a folder, and the folder included in the file path. For example, if the help file is called "my\_effect.html" and it includes images, then the html file and images may be placed in a folder called "my\_effect\_help", and the helpfile header would be:

```
 ;helpfile "my_effect_help/my_effect.html"
```

{% hint style="info" %}
If the help file is not found, the ? button will not appear.
{% endhint %}

### **manpage**

This is primarily intended for use by plugins that are shipped with Audacity. It is similar to the [helpfile](#helpfile) header, except that it looks for the help file in the search path for Audacity's manual. As with "*;helpfile*" it should only be used in plugins that have a GUI. For more information, see [Location of Manual](http://manual.audacityteam.org/man/interface_preferences.html)

```
 ;manpage URL
```

### **maxlen**

Specifies the maximum number of samples to be processed in "process" or "analyze" type plugins. This can help the progress bar if length that will be processed is determined by the plugin rather than by the length of selection. It could also be used as a fail-safe for plugins that are specifically designed for short selections. This example limits the number of samples to 1 million:

```
 ;maxlen 1000000
```

When the MAXLEN header is used, the Nyquist global variable LEN is the maximum of "length of selection in samples" and "value set by MAXLEN".

{% hint style="info" %}
In "process" type effects, this may cause the selected audio to be truncated to the specified number of samples. In such cases it may be best to throw an error if "maxlen" is exceeded, for example:
{% endhint %}

```lisp
;maxlen 1000000

(defun isok ()
  ;; Return true if selection is less than "maxlen".
  (let ((start (get '*selection* 'start))
        (end (get '*selection* 'end)))
    (<= (truncate (* *sound-srate* (- end start))) len)))
```

### **mergeclips**

Allows Nyquist plugins to override Audacity's default "clip merge" behaviour. By default, when effects (including generator effects) are applied across one or more clip boundaries and the returned audio is a different length from the original selection, Audacity will add "split lines" at the ends of the returned audio. In all other cases, the returned audio is "merged" into the current audio.

This option only applies when the plugin is applied across clip boundaries (including across "split lines").

#### Clip Merge Options

* -1 Automatic clip merge behaviour (default)

```
 ;mergeclips -1
```

* 0 Don't merge clips. Effects that are applied across clip boundaries will not be merged into the existing audio (there will be split lines at the ends of the returned audio) whether the returned audio is the same length as the original selection or not.

```
 ;mergeclips 0
```

* 1 Always merge clips. The returned audio will always be merged into the existing audio (no split lines added).

```
 ;mergeclips 1
```

See also "restoresplits".

### **preview**

Provides options for previewing the effect. Multiple preview options may be defined to achieve the desired behaviour.

Preview Options

* enabled (default). Preview is enabled.

```
 ;preview enabled
```

* true Same as "enabled".

```
 ;preview true
```

* disabled Preview is disabled. If Audacity is unable to provide a meaningful preview, then preview should be disabled. This may be required for effects that affect specific time regions within the selection.

```
 ;preview disabled
```

* false Same as "disabled".

```
 ;preview false
```

* linear Provides an optimisation for previewing multiple tracks by mixing the selected tracks before applying the Nyquist code. This optimisation is disabled by default.

```
 ;preview linear
```

* selection When previewing, the Nyquist code is applied to the entire selection (not just the length that will be previewed). Audacity's "Preview" then plays the first few seconds of the processed audio. This may be required for effects that vary over the duration of the selection.

```
 ;preview selection
```

### **restoresplits**

Allows Nyquist plugins to override Audacity's default "split restore" behaviour. By default, when effects (including generator effects) are applied across one or more clip boundaries, Audacity will restore "split lines" at the position of the original clip boundaries.

This option only applies when the plugin is applied across clip boundaries (including across "split lines").

Restore Splits Options

* 1 Splits at clip boundaries are restored (default)

```
 ;restoresplits 1
```

* 0 Splits at clip boundaries are not restored (clips are joined).

```
 ;restoresplits 0
```

Note: Nyquist plugins are not currently able to distinguish between silence and "empty space" within the selection, so gaps between audio clips will be treated as if the empty space is an additional "silent" audio clip.

See also "mergeclips".

## Obsolete plugin headers

{% hint style="warning" %}
These headers are obsolete and no longer used by Audacity. They should not be used in new plugins.

They may still be found in some old plugins, but are now treated by Audacity as ordinary "comments" and simply disregarded.
{% endhint %}

### **action**

Description shown in progress window.

```
 ;action "text"
```

### **categories**

Specifies an LV2 category for the plugin.

```
 ;categories "text"
```

### **info**

A single line of text to be displayed at the top border of the plugin window. For multiple lines of text, a two-character sequence "\n" may be used within "text" to create a line break.

```
 ;info "text"
```

## Control headers

If the plugin includes at least one properly formed "Control" header, Audacity will launch the plugin with a GUI.

Each valid "Control" header adds a widget to the GUI. If there are no "Control" headers, Audacity will attempt to run the effect without a GUI.

There can be several "control" lines in the plugin header. Add one for each widget to appear in the dialog box. The ;control headers should normally be the final headers as they define variables used by the Nyquist code.

```
 ;control parameters
```


# Widgets Reference

A [Widget](https://en.wikipedia.org/wiki/Widget_\(GUI\)) is an element of a graphical user interface ([GUI](https://en.wikipedia.org/wiki/Graphical_user_interface)), such as a button or slider, which facilitates user interaction. Audacity supplies a number of widget types for Nyquist plugins, which are ultimately derived from the [WxWidgets](https://www.wxwidgets.org/) toolkit. Fortunately, Nyquist plugin developers are largely spared from the complexities of WxWidgets, and can simply select which widgets they need by adding the appropriate "header" to the top of the plugin script.

The layout of a Nyquist plugin GUI is a simple list of widgets, one above the other.

### Slider Widget

<figure><img src="/files/FdNfQpuLs3SGuuJy7IFu" alt=""><figcaption><p>example of a slider</p></figcaption></figure>

Slider widgets are supported in all Audacity Nyquist plugin versions.

```lisp
 ;control variable-name "text-left" variable-type "text-right" initial-value minimum maximum
```

* *variable-name* : \[symbol] A Lisp symbol.
* *text-left* : \[string] Text that will appear to the left of the slider.
* *variable-type* : \[keyword] A "number" type, either int, float or real\*:
  * int : integer \[FIXNUM, an XLISP whole number]
  * float (or real\*) : floating point \[FLONUM, an XLISP number supporting decimal places]
* *text-right* : \[string] Text that will appear to the right of the slider.
* *initial-value* : \[int / float] Variable value \[and slider position] at the first start of the plugin.
* *minimum* : \[int / float] Numeric variable value when the slider is moved to the left border.
* *maximum* : \[int / float] Numeric variable value when the slider is moved to the right border.

The variable value \[the slider position] can be referenced by the variable name in the plugin code.

A text input box to the left of the slider allows the user to type in a value via the keyboard. As of Audacity 2.1.1, input values are validated to only allow input between minimum and maximum values.

* The "real" keyword is deprecated. New plugins should use "float" as the variable type for floating point input.

### Numeric Text Widget

<figure><img src="/files/GA1PRvYh1LnW2MOYesLX" alt=""><figcaption><p>example of numeric text</p></figcaption></figure>

The numeric text widget was introduced in Audacity 2.1.2.

```
 ;control variable-name "text-left" variable-type "text-right" initial-value minimum maximum
```

* *variable-name* : \[symbol] A Lisp symbol.
* *text-left* : \[string] Text that will appear to the left of the text box.
* *variable-type* : \[keyword] A "number" type, either "int-text" or "float-text":
  * int-text : Integer \[FIXNUM, an XLISP whole number]
  * float-text : Floating point \[FLONUM, an XLISP number supporting decimal places]
* *text-right* : \[string] Text that will appear to the right of the text box.
* *initial-value* : \[int / float] Variable value at the first start of the plugin.
* *minimum* : \[int / float / NIL] Numeric minimum variable value that will pass validation.
* *maximum* : \[int / float / NIL] Numeric maximum variable value that will pass validation.

Minimum and maximum may be numeric values or "NIL". The minimum / maximum is *not defined* when set as "NIL" and is limited only by the numeric limit for the number type. The valid range for numbers depends on the computer platform. Typically the limits for integers are -2147483648 to 2147483647. The limits for floating point numbers are *very* large.

Examples of undefined minimum / maximum:

```
 ;control pos "Positive Integer" int-text "text-right" initial-value 0 nil
 ;control neg "Negative Integer" int-text "text-right" initial-value nil 0
 ;control num "Any number" float-text "text-right" initial-value nil nil
```

### String Widget (text input)

<figure><img src="/files/hZn4zzmdiev7fUaMtbVG" alt=""><figcaption><p>example of a text input</p></figcaption></figure>

The text input widget ("string widget") is supported in plugins version 2 or above.

```
 ;control variable-name "text-left" string "text-right" "default-string"
```

* *variable-name* : \[symbol] A Lisp symbol.
* *text-left* : \[string] Text that will appear to the left of the text input field.
* *variable-type* : \[keyword] Declares a "string" input type widget.
* *text-right* : \[string] Text that will appear to the right of the text input field.
* *default-string* : \[string] The string will appear inside the text field.

The text typed in by the user in the text field of the plugin window can be referred as a string variable from within the plugin code. All string characters are valid, though care must be taken with escape characters if the string is to be evaluated.

Examples how to use the text input widget can be found in the source code of the Apropos Plugin.

### Multiple-Choice Widget

<figure><img src="/files/sS7W4bsIAT9MY8jhepHG" alt=""><figcaption><p>example of multiple choice input</p></figcaption></figure>

The multiple choice input widget is supported in plugins version 3 or above.

```
 ;control variable-name "text-left" choice "string-1,string-2,..." initial-value
```

* *variable-name* : \[symbol] A Lisp symbol.
* *text-left* : \[string] Text that will appear to the left of the multiple-choice list.
* *variable-type* : \[keyword] Declares a "Multiple-Choice" type widget.
* *string-1,...* : \[string] For every string an entry in a list to choose from will be produced.
* *initial-value* : the number of the list entry that will be displayed as the default choice at the first start of the plugin.

The list entries *string-1, string-2*, etc. are comma separated and internally represented by integer numbers. The first, top-most list entry *string-1* will be represented by the number 0. The list entry chosen by the user can be determined by the integer value of the variable from within the plugin code.

An example of the 'choice' widget can be found [sample-data-export.ny](https://github.com/audacity/audacity/blob/master/plug-ins/sample-data-export.ny)

### Time Widget

Introduced in Audacity 2.3.0.

<figure><img src="/files/4PnZzuEjzx4rDSRJQ7AO" alt=""><figcaption><p>example of time input</p></figcaption></figure>

```
 ;control variable-name "text-left" time "text-right" initial-value minimum maximum
```

* *variable-name* : \[symbol] A Lisp symbol.
* *text-left* : \[string] Text that will appear to the left of the time control.
* time : \[keyword] A "time" widget.
* *text-right* : \[string] Text that will appear to the right of the time control.
* *initial-value* : \[int / float] Default value. Number (float or integer) in seconds.
* *minimum* : \[number] Minimum numeric value (float or integer) in seconds.
* *maximum* : \[number] Maximum numeric value (float or integer) in seconds.

Minimum and maximum may be numeric values or "NIL". The minimum / maximum is not defined when set as "NIL" and is limited to a range of 0 and the maximum supported by the current widget view.

This widget is to input durations. The value set is converted to seconds and assigned as the value of the widget variable.

Example taken from the Pluck effect:

```
 ;control dur "Duration (60s max)" time "" 1 0.0 60
```

In this example:

* *variable name* is "dur",
* *text-left* is "Duration (60s max)",
* *text-right* is "" (empty string).
* *initial-value* is 1 second.
* *minimum* is 0.0 seconds.
* *maximum* is 60 seconds.

### File-Button Widget

<figure><img src="/files/cabNtJS9fw1UJtFI4rYE" alt=""><figcaption><p>example of file buttons</p></figcaption></figure>

The File Button Widget requires Audacity 2.3.0 or later.

```
 ;control variable-name "text-left" file "button-text" "default-file-path" "wildcard-filters" "flags"
```

* *variable-name* : \[symbol] A Lisp symbol.
* *text-left* : \[string] Text that will appear to the left of the file button widget.
* *variable-type* : \[keyword] Declares a "File-button" type widget.
* *button text* : \[string] Text that appears on the button.
* *default-file-path* : \[string] The default file path.
* *wildcard-filters* : \[string] File types to show in file browser (based on file extensions).
* *flags* : \[string] Option flags, based on [wxWidgets File Dialog *Styles*](https://docs.wxwidgets.org/3.1/classwx_file_dialog.html)).

### Text Widget

<figure><img src="/files/3YM3aAQR0WU8ONBq54ep" alt=""><figcaption><p>example of text</p></figcaption></figure>

The text widget was introduced in Audacity 2.3.0. Although not actually a "control", it shares similar syntax to all other Nyquist plugin widgets:

```
 ;control text "string"
```

This widget adds a line of text (the [*"string"*](https://en.wikipedia.org/wiki/String_\(computer_science\))) to the plugin [GUI](https://en.wikipedia.org/wiki/Graphical_user_interface).

{% hint style="success" %}
**Best practice:** While it may seem convenient to add text to an interface to explain how the plugin should be used, this widget should be used sparingly. Text descriptions should not be used as a substitute for good design. Plugin developers should also be aware that it is not currently possible to provide localization (translations) of text in any widgets in third party plugins.
{% endhint %}


# Basics


# Volume Basics

This page explains how to use Nyquist to change the volume of Audacity tracks in different ways.

{% hint style="info" %}
**Note:** All \[comments] and \[explanations] are written in square brackets, so they cannot be confused with (Lisp code).
{% endhint %}

## LISP vs SAL

SAL is a new alternative syntax to LISP. Although Nyquist is based on the LISP programming language, you can write almost any Nyquist program in SAL. Most people prefer SAL syntax to LISP syntax because SAL is a bit more like popular programming languages that include Java, C, and Python.&#x20;

You can specify which one you're using with the respective [codetype header](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/headers-reference#codetype):

```lisp
;codetype lisp
;codetype sal
```

{% hint style="warning" %}
You can only use one or the other in your script.
{% endhint %}

### Changing the Volume of an Audacity Track <a href="#changing_the_volume_of_an_audacity_track" id="changing_the_volume_of_an_audacity_track"></a>

To change the volume of an Audacity track with Nyquist, the easiest way is to use the Nyquist [**SCALE**](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index371) function:

{% tabs %}
{% tab title="LISP" %}

```lisp
(scale number sound)
```

{% endtab %}

{% tab title="SAL" %}
**scale**(*number*, *sound*)
{% endtab %}
{% endtabs %}

The "scale" function multiplies the amplitude \[volume] of the "sound" by the given "number". A number of 0.5 will make the sound become only half as loud as before, while a number of 2 will make the sound become double as loud as before.

**Example:**&#x20;

{% hint style="info" %}
See [Prompt Basics](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/basics/prompt-basics) for an explanation how the Nyquist prompt works.
{% endhint %}

* To run this example in the Nyquist Prompt, ensure that "Use legacy (version 3) syntax" is **not** selected.
* For more information about the \****track\**** keyword, refer to the [Plugin Reference](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/plugin-reference#track)

**1.** Create an audio track with some audio \[eg a short recording]

**2.** Now click **Tools > Nyquist Prompt**. A window with a text field will appear where you can type in:

{% tabs %}
{% tab title="LISP" %}

```lisp
(scale 0.5 *track*)
```

{% hint style="warning" %}
Important: Do not forget to type the parentheses. The parentheses are part of the Lisp language Nyquist is based on. Without the parentheses the Nyquist Lisp interpreter will not be able to understand your code.&#x20;
{% endhint %}
{% endtab %}

{% tab title="SAL" %}

```clike
return scale(0.5, *track*)
```

{% hint style="warning" %}
Important: Do not forget to type the parens and comma. These are part of the SAL language.
{% endhint %}
{% endtab %}
{% endtabs %}

After clicking "OK" in the "Nyquist Prompt" window the "scale" function will take the Audacity sound and return a "scaled-down" sound with half the volume to Audacity. The result of the last computation of the Nyquist code always gets automatically returned to Audacity.

If you try "scale" with big numbers you will notice that you can return sounds with volumes taller than the Audacity track which will sound very distorted if you play them afterwards in Audacity. So an important lesson to learn is that Nyquist gives you the freedom to do whatever you want but it's now on you to take care that the result will still sound good afterwards.

An alternative command for amplifying a sound is the [**MULT**](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#index617) command.

**MULT** may be used with numbers, sounds or multi-channel sounds. When using MULT with a sound and a number, each sample value in the selected sound is multiplied by the number, which is essentially the same as using the **SCALE** command.

{% tabs %}
{% tab title="LISP" %}

```lisp
(mult *track* 0.5)
```

{% endtab %}

{% tab title="SAL" %}

```clike
return mult(*track*, 0.5)
```

{% endtab %}
{% endtabs %}


# Independent Stereo Volume Basics

This page explains how to use Nyquist to change the volume of left and right stereo channels independently.

As discussed previously, the audio data `<sound>`from an Audacity track is passed to Nyquist in a variable '`*track*`'. If the track is mono (just one channel) then the `<sound>` is simply the *value* given to the variable '`*track*`'. However, for a stereo track there are two sounds, and these are passed to Nyquist as two elements of an array. The name of the array is '`*track*'`.

To access a specific element of an array we use the [(aref)](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-029.htm) command.

As a stereo track has 2 channels, the array '`*track*`' has two elements which are numbered 0 and 1. the 0th element is the audio data from the left channel and the other element contains the audio data from the right channel.

To access the audio data from the left channel we can use:

```lisp
(aref *track* 0)
```

To access the audio data from the right channel we can use:

```lisp
(aref *track* 1)
```

As described in the previous tutorial we can amplify a sound using the (scale) function. For a mono track if we want to halve the amplitude of the sound we simply type

```lisp
(scale 0.5 *track*)
```

If we use this instruction on a stereo track the function is applied to each element of '\*track\*' in turn, so both channels are amplified to half of their original amplitude. However if we want to access the channels individually then we also need to know how to send two different sounds back to the same track in Audacity.

To send two different sounds to a stereo track in Audacity we must create an array with two elements. The first element will contain the `<sound>`{=html} for the left channel and the second element will contain the sound for the right channel. The easiest way to do this is to use the [vector](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-296.htm) function.

```lisp
(vector <left channel> <right channel>)
```

`<left channel>`and `<right channel>` will be the sounds that we are sending from Nyquist.

To try this out we will amplify the left channel only of a stereo track.&#x20;

1. Open a short stereo track.&#x20;
2. From the Effect menu select "Nyquist Prompt" and enter the following code:

```lisp
(vector
   (scale 2.0 (aref *track* 0))
   (aref *track* 1)
)
```

{% hint style="info" %}
Notice that the two elements are within the ellipses of the "vector" function.
{% endhint %}

The 0th element in this array is the original left channel `(aref *track* 0)` that has been scaled \[amplified] by 2. This will be the new left channel. The next element in this array is the original right channel `(aref *track* 1)` which is sent back unaltered as the new right channel.

Instead of using the function `(scale)` we could use the function [mult](http://audacity-forum.de/download/edgar/nyquist/nyquist-doc/manual/part6.html#index244). This is virtually identical to using the function [scale](http://audacity-forum.de/download/edgar/nyquist/nyquist-doc/manual/part6.html#index258) except that we do not need to specify the multiplication factor first. `(mult 2.0 *track*)` is identical to `(mult *track* 2.0)`.

For our second example we will amplify the left channel to half of its original amplitude and the right channel to double its original amplitude:

```lisp
(vector
   (mult (aref *track* 0) 0.5)
   (mult (aref *track* 1) 2.0))
```


# Delay Basics

This page explains how to use Nyquist to add a feedback delay effect in Audacity.

{% hint style="info" %}
Note: All \[comments] and \[explanations] are written in square brackets, so they cannot be confused with (Lisp code).
{% endhint %}

To add a feedback delay effect to an Audacity track with Nyquist, the easiest way is to use the Nyquist "feedback-delay" function:

&#x20; (**feedback-delay** *sound delay feedback*)

The "feedback-delay" function applies feedback delay to *sound*. The *delay* must be a number (in seconds). The sample rate is the maximum from *sound* and *feedback* (if feedback is also a sound). The amount of *feedback* should be less than 1 to avoid an exponential increase in amplitude. Also since output is truncated at the stop time of *sound*, you may want to append some silence to *sound* to give the filter time to decay.&#x20;

&#x20;**Example:**

**1.** First either load a sound file into Audacity or record some.

**2.** Now click **Tools -> Nyquist Prompt**. A window with a text field will appear where you can type in:

```lisp
;;"(sine 440)" generates a sinusoidal sound wave at 440Hz to be used as the feedback 
(feedback-delay *track* 0.7 (sine 440)) 
```

{% hint style="warning" %}
Do not forget to type the parens. The parens are part of the Lisp language Nyquist is based on. Without the parens the Nyquist Lisp interpreter will not be able to understand your code

See [Prompt Basics](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/basics/prompt-basics) for more info about the prompt.
{% endhint %}

After clicking "OK" in the "Nyquist Prompt" window the "feedback-delay" function will take the Audacity sound and return a output sound with a feedback delay of 0.7s throughout the sound. The result of the last computation of the Nyquist code always gets automatically returned to Audacity.

{% hint style="info" %}
The ''\**TRACK\**''' variable is the Audacity "sound" \[the selected part of the Audacity track]. Nyquist in Audacity always understands ''\**TRACK\**'' as the Audacity sound variable.
{% endhint %}

Try "feedback-delay" with longer or shorter *delay* times as well as different sounds for *feedback*. Nyquist provides many more functions to generate sounds besides the simple "sine" function. Look at [Functions: Sound Synthesis](http://www.cs.cmu.edu/~rbd/doc/nyquist/part8.html#85%7CNyquist) for the complete list of these functions.


# Prompt Basics

This page explains how to use the Audacity Nyquist Prompt to test-run Nyquist code snippets.

## Setting up <a href="#setting_up" id="setting_up"></a>

The Audacity Nyquist prompt appears in Audacity's "Tools" menu.

{% hint style="info" %}
For testing generate-type commands in Nyquist, you can use the [Generate Prompt plugin ](/nyquist-plugins/generator-plugins/generator-utilities#nyquist-generate-prompt)instead.
{% endhint %}

### Load a Sound File <a href="#load_a_sound_file" id="load_a_sound_file"></a>

Sound files are imported into Audacity via: **File > Import > Audio** or the shortcut `CTRL + SHIFT + I`.

If you have no pre-existing sound files to work with, you can create your own mono or stereo tracks via the Audacity "Generate" menu.

## The Nyquist Prompt <a href="#the_nyquist_prompt" id="the_nyquist_prompt"></a>

Select the track(s) and click **Tools > Nyquist Prompt**.

The Nyquist Prompt appears like this:

<figure><img src="/files/IJFO3C5JD3gfaQGk3gbm" alt=""><figcaption><p>Nyquist prompt example</p></figcaption></figure>

### Hello, world! <a href="#the_nyquist_interpreter" id="the_nyquist_interpreter"></a>

Simply enter the code below and press Apply to receive a "hello world" prompt:

```lisp
(print "hello world")
```

The programming language used above is Lisp. The Nyquist prompt automatically assumes you're using Lisp if the first character is an `(`. If it isn't, the prompt assumes you are writing SAL, which is more similar to C-like syntax. If you prefer SAL, a "hello world" program looks like this:

```clike
return "hello world"
```

### The Nyquist Debugger <a href="#the_nyquist_debugger" id="the_nyquist_debugger"></a>

The prompt also comes with a debug button. It shows you various warnings and non-fatal errors after the program finished. For example, if you forget the quotation marks around <mark style="color:red;">`"`</mark>`hello world`<mark style="color:red;">`"`</mark>, just hitting apply will just do nothing, whereas hitting debug will tell you where you went wrong:

```lisp
;Lisp input: (print hello world)
error: unbound variable - HELLO
if continued: try evaluating symbol again
1> 

;Sal input: retun hello world
>>> parse error: Syntax error.
>>> in NIL, line 1, col 14.

return hello world 
             ^
```

### Basic Nyquist Commands <a href="#basic_nyquist_commands" id="basic_nyquist_commands"></a>

The current Nyquist manual is here: [Nyquist Reference Manual](https://www.cs.cmu.edu/~rbd/doc/nyquist/).

A useful index of Nyquist commands is here: [Nyquist Language reference](https://www.cs.cmu.edu/~rbd/doc/nyquist/indx.html)

Audacity uses the **\*TRACK\*** variable to reference the current audio file/selection. Thus, you can use basic commands such as **mult** or **sum** with **\*track\*** and the Nyquist prompt will replace the file/selection with the result (or as Audacity calls it, "returned audio").

{% hint style="info" %}
Note: Prior to version 4 syntax, the vaiable `S` was used instead of `*TRACK*`. You may encounter this in some old plugins or old documentation. The old syntax is obsolete and should not be used in new code
{% endhint %}

### Simple Examples <a href="#simple_examples" id="simple_examples"></a>

{% hint style="info" %}
Note: These examples are focused upon using Audacity to manipulate digital signals (clearly Audacity is better suited to audio, but features such as Nyquist can open many other uses). For those interested, the signal used is an [infra red (IR) sample](http://en.wikipedia.org/wiki/Consumer_IR) from a remote control.
{% endhint %}

#### **Applying a DC offset to a signal**

<figure><img src="/files/MwJyWsp2ieStIm3XzTka" alt=""><figcaption><p>Original signal before command</p></figcaption></figure>

Type the following into the Nyquist Prompt (using LISP syntax): `(sum *track* 1)`\
\`\`Or type the following equivalent SAL command: `return *track* + 1`

<figure><img src="/files/k7HxGjIJGR9O7hwU85wE" alt=""><figcaption><p>Resulting signal</p></figcaption></figure>

The whole signal has now moved up to above zero.

#### **Modulating with a carrier frequency**

To multiply a signal with a generated carrier signal, you can use the following commands:

```lisp
(mult *track* (hzosc 19000))  ; Lisp
return *track* * hzosc(19000) ; Sal
```

The (hzosc 19000) produces 19kHz sine wave carrier.

```lisp
(mult *track* (osc-pulse 19000 0)) ; Lisp
return *track* * osc-pulse(19000, 0) ; Sal
```

The `(osc-pulse 19000 0)` produces 19kHz square wave carrier (note the 0 is the bias or 50/50 duty cycle, -1 to 1 = 0%-100% pulse-width ). Applying the 19kHz square wave carrier obtains this result.

<figure><img src="/files/ad9MgynJZMMegABSsKZn" alt=""><figcaption><p>resulting waveform</p></figcaption></figure>

The top and bottoms of the signal can then be clipped using the Hard Limiter option from the effects menu (0dB limit and Wet level 1) if required.

The above examples show how you can use the many Nyquist commands to perform basic signal processing without using scripts.

{% hint style="info" %}
Note: Unfortunately, this isn't the end of the road for this sample; it is near, but the curved "head/tail" of the signal causes a problem for the digital signal being produced \[and it was also upside-down, too...]. This will hopefully form the basis of some more complex examples, since I shall need to use Nyquist to:

1. Find the zero crossing points
2. Then only apply the carrier frequency to those regions above zero. Or find another suitable command...
   {% endhint %}


# Tutorials


# The \*SCRATCH\* Symbol Tutorial

This page provides a brief introduction to using the \*SCRATCH\* symbol in Nyquist programming.

\**SCRATCH\** is a global symbol, specific to Nyquist in Audacity, which is not deleted in-between plugin runs. It provides a way for information to survive from one invocation of a plugin to the next. However, you should not rely on the *"value"* of \*SCRATCH\* beyond a single invocation of a plugin as it could be overwritten by another plugin. It is better to use property lists of \*SCRATCH\*. That way, you get a whole name space rather than a single variable name, and with careful naming of the property keys, name collisions can be avoided.

To pass data from plugin "effectX-partA" to "effectX-partB":

1\. Assign a property name based on the effect name, e.g.: 'EFFECTX \[or in SAL, which does not support the single-quote notation of LISP, write QUOTE(EFFECTX). ]

2\. "effectX-partA" should delete any old property value:

```lisp
exec remprop(quote(*SCRATCH*), quote(effectx)) ;; in SAL
(remprop '*SCRATCH* 'effectx) ;; in LISP
```

3\. "effectX-partA" should compute a new property value **v** and save it:

```lisp
 exec putprop(quote(*SCRATCH*), v, quote(effectx)) ;; in SAL
 (putprop '*SCRATCH* v 'effectx) ;; in LISP
```

4\. "effectX-partB" should access the property using:

```lisp
 set v = get(quote(*SCRATCH*), quote(effectx)) ;; in SAL
 (get '*SCRATCH* 'effectx) ;; in LISP
```

5\. When "effectX-partB" finishes, it should remove the property:

```lisp
 exec remprop(quote(*SCRATCH*), quote(effectx)) ;; in SAL
 (remprop '*SCRATCH* 'effectx) ;; in LISP
```

But there may be cases where you do some analysis and want to use the analysis data multiple times. You might even have multiple analysis plugins operating on different inputs to collect data to feed into a plugin with multiple inputs. In this case, which might be quite common, you should not call REMPROP(), but this has the problem of leaving data on the \*SCRATCH\* property list indefinitely.

In cases where \*SCRATCH\* data is not deleted immediately after use, and where there is the potential to leave large amounts of memory there, there should be another effect, e.g. "effectX-partCleanup", that simply calls:

```lisp
 exec remprop(quote(*SCRATCH*), quote(effectx)) ;; in SAL
 (remprop '*SCRATCH* 'effectx) ;; in LISP
```

allowing the user to explicitly free up any data stored on the 'EFFECTX property. It would be reasonable to omit the "effectX-partCleanup" effect if the data stored on the property list has a maximum size of, say, 10KB. The problem we want to avoid is properties with unbounded size getting left in the heap until Audacity is restarted.


# Property List Tutorial

## Variables and Property Lists <a href="#variables_and_property_lists" id="variables_and_property_lists"></a>

In general terms, a *variable* is a symbol which contains a *value*. The symbol can be any valid name, and its value may be changed (hence "variable"). In Nyquist, the *value* may be of any data type (for example, a number, a character, or even a *sound*) and may be changed from one data type to another. Unlike some programming languages, variables do not need to be *declared* before use - they can just be set, and then they exist.

In addition to the value of the variable, one or more "properties" may also be attached to the symbol. Each "property" has a name and a value. The properties are known collectively as the symbol's "property list".

Setting the value of a symbol "binds" the value to the symbol. A symbol that has no value (not even "nil") is said to be "unbound".

In addition to the *value* of a symbol, we can also attach *properties*. This is a way of associating a list of items, each with their own value, to a single variable. Each item is called a *key* or *indicator*, and we can give each *key* a value. This list of items is called a *"property list"* (or *plist* for short).

To get the value of a property, we use the **GET** command.

When getting the value of a property, we do NOT want to evaluate either the variable (symbol) or the key symbol, so we must "quote" both symbols to prevent evaluation.

{% code title="LISP" %}

```lisp
(get 'varaiable-name 'property-name)
```

{% endcode %}

{% code title="SAL" %}

```clike
set v = get(quote(varaiable-name ), quote(property-name))
```

{% endcode %}

## Examples

{% hint style="info" %}
The following examples may be run in the [Nyquist Prompt](https://manual.audacityteam.org/man/nyquist_prompt.html).

For a full list of global properties, see the [Plugin reference](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/plugin-reference).
{% endhint %}

### \*TRACK\* NAME Property <a href="#track_name_property" id="track_name_property"></a>

When the type of a plugin is *process* or *analyze*, Audacity sets the value of **\*TRACK\*** to the currently selected audio, and sets a lists of properties related to that track. The plugin processes one track at a time in sequence, and the \*TRACK\* variable is set each time for the track that is being processed.

The *value* of \*TRACK\* provides direct access to the selected audio, and its *property list* provides access to other properties of the track. The **NAME** property provides the name of the Audacity track that is currently being processed. To access the value of the NAME property, we use the [GET](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-130.htm) command.

```lisp
;codetype lisp
(get '*TRACK* 'NAME)

;codetype sal
return get(quote(*TRACK*), quote(NAME))
```

The GET command returns the value of the property (the name of the track), which may be assigned to another variable and used elsewhere in the code. For example, to print a pretty message:

```lisp
;codetype lisp
(setf track-name (get '*TRACK* 'NAME))
(format nil "The name of the current track is ~s." track-name)
```

{% hint style="info" %}
Although we can change the value of the NAME property (using [PUTPROP](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-209.htm)), doing so will NOT change the name of the Audacity track. The value of the NAME property is only a copy of the track name, created by Audacity when the plugin runs. If required, the name of the track could be changed using the scripting command [SetTrackStatus](https://manual.audacityteam.org/man/scripting_reference.html#Extra:_Scriptables_I).\
More generally, modifying a \**TRACK\** property does not modify the track.

See also [Property List Functions](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-man/xlisp-man-014.htm) in the XLisp manual.
{% endhint %}

### \*TRACK\* CLIPS Property <a href="#track_clips_property" id="track_clips_property"></a>

This property contains a list of start and end times of each audio clip in the track. This property is more likely to find uses in [Nyquist Macros ](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/tutorials/macro-tutorial)than in standard Nyquist plugins. Note that this property refers to the entire selected track, and not only the selected portion of the track.

#### **\*TRACK\* CLIPS data for mono tracks**

For mono tracks, the CLIPS property is a list, containing a two element list for each clip in the selected track. A mono track with two audio clips will look like `((s1 e1)(s2 e2))` where s1 and s2 to are the start times of the two clips, and e1 and e2 are the end times.

This code snippet will print the start and end times of the first audio clip in a mono track:

```lisp
(setf track-clips (get '*track* 'clips))
(print (first track-clips))
```

It is important to remember that Nyquist sees the start of the current selection as "time=zero". Thus if we wish to actual track times in Nyquist, we must offset the times by the start time of the current selection. We can create a point label at time=0 with `(list (list 0 0 ""))`, but this is relative to the start of the current selection. If we want to create a label at time=zero as shown in the [Timeline](https://manual.audacityteam.org/man/timeline.html) regardless of where the selection starts, then we must offset the label times by the start time of the selection.

Fortunately it is easy to find the absolute start time of the selection by using "START" property of the \*SELECTION\* variable: `(get '*selection* 'start)`. We can create a label at an absolute time (relative to Audacity's Timeline) like this:

```lisp
(setf label-time 10) ;the absolute time for the label is at the 10 second mark
(setf offset (get '*selection* 'start))
(list (list (- label-time offset)(- label-time offset) ""))
```

We can now put this all together and create a label for each audio clip in the selected track:

```lisp
;type analyze
(setf track-clips (get '*track* 'clips))
(setf start (get '*selection* 'start))

(let (labels) ;initialise "labels" variable with NIL value.
  (dolist (c track-clips labels)
    (setf label
      (list (- (first c) start)
            (- (second c) start)
            ""))
    (push label labels)))
```

#### **\*TRACK\* CLIPS data for stereo tracks**

Just as stereo sounds are represented as an array of sounds, so the track "clip" data for stereo tracks is an array of lists (one list per channel). A stereo track with two audio clips in each channel will look like: `#(((s1 e1)(s2 e2))((s3 e3)(s4 e3)))` where s1 to s4 to are the start times, and e1 to e4 are the end times.

This code snippet will print the start and end times of the first audio clip in the left channel of a stereo track:

```lisp
(setf track-clips (get '*track* 'clips))
(setf left-channel (aref track-clips 0)) ; the list of clips in the left channel
(print (first left-channel))
```

In a similar manner to the mono example, we can create a label for each clip in a stereo track:

```lisp
;type analyze
(setf track-clips (get '*track* 'clips))
(setf start (get '*selection* 'start))
(setf labels ())  ;an empty list

(defun add-labels (data text)
  (dolist (c data)
    (setf label
      (list (- (first c) start)
            (- (second c) start)
            text))
    (push label labels)))

(multichan-expand #'add-labels track-clips #("Left" "Right"))
labels ;Reurn labels
```


# Stereo Tracks Tutorial

This tutorial provides a brief introduction to using stereo tracks in Nyquist programming.

If a sound from an Audacity stereo track was given to Nyquist, the **\*TRACK\*** variable contains an array of sounds. Because all Nyquist "snd-..." low-level functions only can process mono signals, to use such a function, the **\*TRACK\*** array first must be split into single mono signals and afterwards be re-combined into an array before it is given back to Audacity.

In Sal, one could write:

```clike
if arrayp(*track*) then
 return vector(snd-function(*track*[0]), snd-function(*track*[1]))
else
 return snd-function(*track*)
```

Or in LISP, one could write:

```lisp
(if (arrayp *track*)
    (vector
        (snd-function (aref *track* 0))   ; left stereo channel
        (snd-function (aref *track* 1)))  ; right stereo channel
    (snd-function *track*))               ; mono signal
```

* (arrayp \*track\*) - tests if '\*track\*' is an array
* (vector ... ) - re-combines the two mono signals into a stereo signal. A "vector" is an one-dimensional array
* (aref \*track\* 0) - the left stereo channel \[the 0-th slot of the array]
* (aref \*track\* 1) - the right stereo channel \[the 1-st slot of the array]

{% hint style="warning" %}
**Important:** The Nyquist interface within Audacity can handle a maximum of two channels simultaneously \[Audacity stereo tracks]. If in Audacity more than one audio track were selected, each of the selected tracks will be given sequentially, one after the other, with a maximum of two channels simultaneously \[stereo] to Nyquist for processing. It is not possible with Nyquist in Audacity e.g. to copy audio signals from one Audacity track into another track.
{% endhint %}

## multichan-expand <a href="#multichan_expand" id="multichan_expand"></a>

In the "nyquist.lsp" file in the Audacity "nyquist" sub-directory, there is a function "multichan-expand" defined, which simplifies the handling of multi-channel sounds \[e.g. stereo tracks]:

&#x20;`(multichan-expand function &rest arguments)`

So the "arrayp" constuct from above can also be written:

```lisp
 return multichan-expand(quote(snd-function), *track*) ;; in SAL
 (multichan-expand #'snd-function *track*) ;; in LISP
```

This may look a bit more cryptic at first, but it can help to avoid long-winded audio processing functions.


# Macro Tutorial

Nyquist-Macros are a special kind of Nyquist plugin that instruct Audacity to perform tasks using Audacity's scripting interface.

To use this feature effectively, it is necessary to use the correct commands and syntax, and also understand that when Nyquist is used in this way, Nyquist is not allowed, or able, to modify the project. Nyquist-Macros may instruct Audacity to modify the project, but unlike ''ordinary'' Nyquist plugins, Nyquist cannot itself modify the project.

Nyquist-Macros are potentially far more powerful than normal [Macros](https://manual.audacityteam.org/man/macros.html) in that they may make use of logic, loops and conditionally executing code, rather than only running through a simple list. They can also accept user input via the usual [Nyquist plugin GUI](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/plugin-reference), and most other features of Nyquist plugins.

### About This Tutorial <a href="#about_this_tutorial" id="about_this_tutorial"></a>

Nyquist Macros are a fairly advanced topic, so this tutorial is aimed at users with an intermediate to advanced level of experience with Nyquist programming.

In this tutorial, we will be reimplementing Audacity's [**Tone**](https://manual.audacityteam.org/man/tone.html) generator as a Nyquist Macro. During the course of the tutorial, many of the abilities and core concepts of Nyquist Macros will be discussed, along with tips and potential pitfalls to watch out for in your own programming.

{% hint style="warning" %}
Nyquist Macros are a powerful extension of Audacity's features. With great power comes great responsibility. Nyquist Macros bypass much of Audacity's built-in validation, so it is relatively easy to pass invalid commands that can cause Audacity to crash. Test your Nyquist Macros thoroughly before using them for important production work.
{% endhint %}

## Overview

Audacity provides a rich set of scripting commands, which are documented in the [Scripting Reference](https://manual.audacityteam.org/man/scripting_reference.html) section of the Audacity manual. These commands may be sent from Nyquist, to tell Audacity what to do, using the function call "**AUD-DO**". As a very simple example, Nyquist can tell Audacity to start playing by sending the command "Play:"

`(aud-do "Play")`

Some things to note:

* The command "Play:" is a string (text).
* The command is case sensitive. It must be capitalized exactly as stated in the [Scripting Reference](https://manual.audacityteam.org/man/scripting_reference.html).
* The Nyquist function is AUD-DO, which like any other Nyquist function is case insensitive, and usually written in lower case in code.
* The function AUD-DO takes exactly one parameter, which is the command string.

As Nyquist cannot modify the project when used to send Macro scripting commands, most Nyquist-Macros will be written as "tool" type plugins.

## Passing Commands to Audacity <a href="#passing_commands_to_audacity" id="passing_commands_to_audacity"></a>

{% hint style="info" %}
The examples in this section may be run in the [Nyquist Prompt](https://manual.audacityteam.org/man/nyquist_prompt.html), but ensure that you make a [selection ](https://manual.audacityteam.org/man/audacity_selection.html)in an audio track first.
{% endhint %}

As described above, the "AUD-DO" function takes exactly one argument (parameter), which is the command that will be sent to Audacity. However, we may sometimes want to send a command that has multiple parameters. For example, to generate a 10 second, 200 Hz, 0.5 amplitude sine tone, the Macro Scripting command is:

`Tone: Frequency=200 Amplitude=0.5 Waveform="Sine"`

With AUD-DO we can send the command, including it's parameters, as one string:

`(aud-do "Tone: Frequency=200 Amplitude=0.5 Waveform=Sine")`

Using the above example, the macro command string could be passed as the value of a variable:

{% hint style="info" %}
As with other Nyquist commands, a string argument does not need to be a [string literal](https://en.wikipedia.org/wiki/String_literal), it may be a variable that evaluates to a string.
{% endhint %}

`(setf command "Tone: Frequency=200 Amplitude=0.5 Waveform=Sine")`\
`(aud-do command)`

In this slightly more complex example we use the [FORMAT](https://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-121.htm) command to construct the command string. This approach is very useful if scripting command parameters are to be generated programmatically or obtained from user input.

```lisp
(setq hz 200)
(setq amplitude 0.5)
(setq type "Sine")

(setq command (format nil "Tone: Frequency=~a Amplitude=~a Waveform=~s"
                      hz
                      amplitude
                      type))

(aud-do command)
```

If we incorporate this code in an installable Nyquist Macro, we see that we are getting close to re-implementing Audacity's [Tone](https://manual.audacityteam.org/man/tone.html) generator as a Nyquist macro.

Here is a simplified implementation of Audacity's Tone Generator:

```lisp
;nyquist plug-in
;version 4
;type tool
;name "Nyquist Tone"

;control type "Waveform" choice "Sine,Square,Sawtooth,Square, no alias" 0
;control hz "Frequency" real "Hz" 440 1 10000
;control amplitude "Amplitude" real "0 to 1" 0.8 0 1

(case type
  (0 (setf type "Sine"))
  (1 (setf type "Square"))
  (2 (setf type "Sawtooth"))
  (t (setf type "Square, no alias")))


(setq command (format nil "Tone: Frequency=~a Amplitude=~a Waveform=~s"
                     hz
                     amplitude
                     type))

(aud-do command)
```

Some important things to note in this example Nyquist Macro:

* The plugin type is "tool". If it were set as a "generate" type, running the plugin without a track would crash because of the duplicate attempt to create a new track (once from the plug-in being a generate type, and again from the Audacity scripting command).
* This simplified version does not provide a "Duration" control, so the generated tone will be the length of the selection (if there is a selection), or 30 seconds (default).
* In the Scripting command, the **Waveform** parameter must be quoted because its value may include a space. We therefore use **\~S** rather than **\~A** in the FORMAT function.

## Importing Scripting Functions <a href="#importing_scripting_functions" id="importing_scripting_functions"></a>

If you are familiar with Nyquist's LISP syntax, you will have noticed that the syntax described above is not very Lisp-like. The ''magic string'' commands are case sensitive, and constructing the strings is inelegant. However, for many of the scripting commands, a lisp equivalent exists.

Each of these functions have names beginning '''AUD-''', suffixed with the scripting command name. The scripting command parameters are passed as keyword arguments.

{% hint style="info" %}
There is a small performance penalty when using these LISP syntax commands, so for performance critical applications (such as batch processing many small files), it may be preferred to use the AUD-DO versions.''
{% endhint %}

In Audacity 2.3.2 and later, the following scripting commands have equivalent LISP functions:

* [Generate menu](https://manual.audacityteam.org/man/generate_menu.html) effects.
* [Built-in](https://manual.audacityteam.org/man/effect_menu_built_in.html) effects.
* [Scriptables I](https://manual.audacityteam.org/man/extra_menu_scriptables_i.html).
* [Scriptables II](https://manual.audacityteam.org/man/extra_menu_scriptables_ii.html).

{% hint style="info" %}
Tip: Remember that Nyquist Macros cannot call Nyquist effects.
{% endhint %}

**Example:** The scripting command for Audacity's built-in "Amplify" effect is:

`Amplify: Ratio=<number>`

The equivalent imported LISP function for Audacity's built-in Amplify effect is:

`(aud-amplify :ratio <number>)`

In both versions, the ratio is a floating point number representing the gain on a linear scale. If we want to Amplify by -3 dB, we can apply the Amplify effect:

```lisp
(setq val (db-to-linear -3.0))
(aud-amplify :ratio val)
```

{% hint style="info" %}
Tip: Although the imported function names, and keys are case insensitive, note that if the keyword value is a string, the value is case sensitive.
{% endhint %}

In this next code sample, we reproduce the simple "Tone" generator from above, using the imported AUD-TONE function:

```lisp
;nyquist plug-in
;version 4
;type tool
;name "Nyquist Tone"

;control type "Waveform" choice "Sine,Square,Sawtooth,Square, no alias" 0
;control hz "Frequency" real "Hz" 440 1 10000
;control amplitude "Amplitude" real "0 to 1" 0.8 0 1

(case type
  (0 (setf type "Sine"))
  (1 (setf type "Square"))
  (2 (setf type "Sawtooth"))
  (t (setf type "Square, no alias")))

(aud-tone :frequency hz :amplitude amplitude :waveform type)
```

## Length of Generated Sounds <a href="#length_of_generated_sounds" id="length_of_generated_sounds"></a>

Unlike Nyquist's generator functions, Audacity's built-in [generator functions](https://manual.audacityteam.org/man/scripting_reference.html#Generate_Menu) do not have a parameter for the duration of the sound that is generated. Instead, the duration is set by the length of the track selection. If there is no track selection, then the length defaults to 30 seconds.

One limitation of Nyquist plugins that we cannot yet work around, is that the plugin UI is not dynamic and cannot be changed programmatically. Where as Audacity's built-in Tone generator will automatically show the length of the selected audio, this is not yet possible for Nyquist plugins. As a compromise solution, we can:

* Add a "Duration" control.
* If there is no selection, create a selection of the length specified by the Duration control.
* If there is a selection, ignore the Duration control and generate into the selection.

{% hint style="info" %}
Note: In order to generate audio into a selection, there has to be a ''track'' selection before running the generate command. It is not enough to have a time selection without a track being selected.
{% endhint %}

As we want to mimic the behaviour of Audacity's Tone generator, we need to handle cases where:

1. There is a selection in an audio track.
2. There is a time selection but no track selection.
3. There is a track selection but no time selection.

While is is possible to find what is selected using the scripting command [GetInfo:](https://manual.audacityteam.org/man/scripting_reference.html#Extra:_Scriptables_II), a simpler way is to use the Nyquist global property list \*SELECTION\*.

```lisp
(get '*selection* 'start)   ;start of time selection in seconds
(get '*selection* 'end)     ;end of time selection in seconds
(get '*selection* 'tracks)  ;list of selected tracks. NIL if no audio tracks selected
```

In Audacity 2.3.0 and later, there is a "\[Nyquist\_Plug-ins\_Widgets#Time\_Widget time widget]", which greatly simplifies handling durations, and is in keeping with Audacity's built-in effects.

`;control duration "Duration" time "" 30 0 nil`

Then we want to check if an audio track is selected, and if not, add a new track. Note that there isn't a LISP function for adding a new track, so we fall back on AUD-DO instead:

```lisp
(unless (get '*selection* 'tracks)
  (aud-do "NewMonoTrack:"))
```

And to handle the time selection:

```lisp
(let ((start (get '*selection* 'start))
      (end (get '*selection* 'end)))
  (unless (> (- end start) 0)
    (aud-selecttime :end duration :relativeto "SelectionStart")))
```

## Putting It All Together <a href="#putting_it_all_together" id="putting_it_all_together"></a>

The completed Nyquist Macro plug-in:

```lisp
;nyquist plug-in
;version 4
;type tool
;name "Nyquist Tone"

;control type "Waveform" choice "Sine,Square,Sawtooth,Square, no alias" 0
;control hz "Frequency" real "Hz" 440 1 10000
;control amplitude "Amplitude" real "0 to 1" 0.8 0 1
;control duration "Duration" time "" 30 0 nil

(case type
  (0 (setf type "Sine"))
  (1 (setf type "Square"))
  (2 (setf type "Sawtooth"))
  (t (setf type "Square, no alias")))

;; A track is required so that we can make a selection.
(unless (get '*selection* 'tracks)
  (aud-do "NewMonoTrack:"))

;; A selection is required to set the length of the generated tone.
;; Use the current selection if there is one, otherwise select user supplied value.
(let ((start (get '*selection* 'start))
      (end (get '*selection* 'end)))
  (unless (> (- end start) 0)
    (aud-selecttime :end duration :relativeto "SelectionStart")))

;; Now generate the tone.
(aud-tone :frequency hz :amplitude amplitude :waveform type)
```

## Tips

When using built-in effects or "Scriptable" commands, it is recommended to use the optional LISP functions. Not only are they more Lisp-like and convenient to use, they also provide a little more error checking, which can be very helpful when debugging. Note however that there is a small performance penalty when using these LISP syntax commands. For performance critical applications (such as batch processing many small files), it may be preferred to use the AUD-DO versions.

Be flexible in your thinking. Scripting commands are available for many, but not all of Audacity's functions. If you need to do something that appears to be missing from the available commands, consider other ways to achieve the desired result.

If you get stuck, ask for help. As with other aspects of Nyquist programming, support requests may be made on the Nyquist board of the [Audacity forum](https://forum.audacityteam.org/viewforum.php?f=69).

See also:

{% embed url="<https://manual.audacityteam.org/man/nyquist_macros.html>" %}


# File Button Tutorial

This tutorial provides a description and examples of how to create and use a File-Button Widget in Nyquist Plugins.

The File-Button Widget provides a means to select one or more files via a graphical file browser.

## Overview

For some plugins it is necessary to read from or write to files. In order to do this, it is necessary to define precisely which file is required, where the file is located, and whether it is required for read access or write access (for read access, the file must exist, whereas for write access this is not always a requirement).

Prior to the availability of the File-Button Widget, file names could be hard coded into the Nyquist script, or a text box could be provided for the user to enter the name of the file. Hard coded file paths lack flexibility, are platform specific (a path starting with "C:\\" does not work on Mac or Linux), and may point to locations that do not exist on some machines. While a text box may provide a better solution than hard coding a file path, it remains inconvenient and prone to user error, especially for long file paths. The File-Button Widget was introduced in Audacity 2.3.0 to solve these problems, by providing access to a graphical "file browser window" similar to using **File menu > Open** or **File menu > Save** in other applications.

## Syntax and Appearance <a href="#syntax_and_appearance" id="syntax_and_appearance"></a>

<figure><img src="/files/H0gwOuo1bjeQLH8ppezP" alt=""><figcaption><p>File button widget example</p></figcaption></figure>

The File-Button Widget, as shown above, has an editable text input field that allows a file path to be typed (or pasted). After the text input field is a button that launches a file browser. Below is an example of the familiar file browser window on Windows 10.

<figure><img src="/files/CsZqigGay6fRaHr7HyXa" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Note that selecting a file in this file browser does NOT open the file.

When a file is selected in the file browser window, the full name and path of the selected file is passed to the Nyquist script as the value of the File-Button Widget variable.
{% endhint %}

## Widget Arguments (Parameters) <a href="#widget_arguments_parameters" id="widget_arguments_parameters"></a>

The syntax for creating a File-Button Widget is similar to all other [Nyquist Plugin widgets](/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/widgets-reference).

{% code overflow="wrap" lineNumbers="true" %}

```
 ;control variable-name "text-left" file "button-text" "default-file-path" "wildcard-filters" "flags"
```

{% endcode %}

* **;control** : Start of header statement. The leading semicolon ";" (or dollar character "$") tells Nyquist to treat this line as a comment and ignore it. The keyword "control" tells Audacity to create a GUI widget to be used by the Nyquist script.
* **variable-name** : \[symbol] The variable name that will be set.
* **text-left** : \[string] Text on the left side of the widget.
* **file** : \[keyword] Declares a "file" type widget.
* **button-text** : \[string] Text on the button. Normally this would be two double quotes (an empty string), which gives the default text: "Select a file"
* **default-file-path** : \[string] Default file path for the file browser. This supports keywords to aid cross-platform support.
* **wildcard-filters** : \[string] This is a magic "wildcard" string that follows the same syntax as [wxFileDialog](https://docs.wxwidgets.org/3.1/classwx_file_dialog.html).\
  The string comprises pairs of "description", pipe symbol ("|"), "file extension(s)". Multiple file extensions may be listed, separated by semi-colons (";").
* **flags** : \[string] This is a "magic" string that sets options for the file browser, following the same syntax as [wxFileDialog](https://docs.wxwidgets.org/3.1/classwx_file_dialog.html).

### Magic Strings <a href="#magic_strings" id="magic_strings"></a>

The final three arguments, *default-file-path*, *wildcard-filters*, and *flags*, use special keywords that define the behavior of the File-Button Widget and the associated File Browser.

* Note that unlike Nyquist symbols, these keywords are case sensitive.
* The "Windows", "macOS" and "Linux" examples below refer to standard file paths for modern operating systems, though may be different on some machines.
* "\<username>" is the name of the computer user's account (log-in name).

#### **Default File Path**

"default file path" supports the keywords:

* **\*home\*"** : The current user's ["home" directory](https://en.wikipedia.org/wiki/Home_directory).
  * **Windows:** C:\Users\\`<username>`\\
  * **macOS:** /Users/`<username>`/
  * **Linux:** /home/`<username>`/
* **\~** : An alias for **\*home\***.
* **\*default\*** : The default "Documents" path.
  * **Windows:** C:\Users\\`<username>`\Documents\Audacity
  * **macOS:** /Users/`<username>/`Documents/
  * **Linux:** /home/`<username>`/Documents/
* **\*export\*** The default "Export" path.
  * **Windows:** C:\Users\\`<username>`\Desktop\\
  * **macOS:** /Users/`<username>`/Documents/
  * **Linux:** /home/`<username>`/Documents/
* **\*save\*** The default "Save" path.
  * **Windows:** C:\Users\\`<username>`\Desktop\\
  * **macOS:** /Users/`<username>`/Documents/
  * **Linux:** /home/`<username>`/Documents/
* **\*config\*** The default configuration file directory.
  * **Windows:** C:\Users\\`<username>`\AppData\Roaming\audacity\\
  * **macOS:** /Users/`<username>`/Library/Application Support/audacity/
  * **Linux:** /home/`<username>`/.audacity-data/

These keywords may be combined with a file name to specify which file to open. For example, if you want the default file to be called "sample-data.txt", and you want the default location to be the default "Documents" path, you could write the default file path parameter as: `"*default*/sample-data.txt"`.

{% hint style="warning" %}
File paths should be quoted with double quotes, otherwise spaces in file name will fail. If no file path is provided, the default is "default". If no file name is provided, the default file name is "untitled". The default file extension is taken from the wildcard-filters.
{% endhint %}

#### **Wildcard Filters**

The "wildcard-filters" determine which file types are visible in the file browser. An empty string will default to all files types.

This "magic string" follows the same syntax as [wxFileDialog](https://docs.wxwidgets.org/3.1/classwx_file_dialog.html). The string comprises pairs of "description" and "file extension(s)", separated by a pipe character ("|"). Multiple file extensions may be listed, separated by semi-colons (";").

**Example:**

`"Text file|*.txt;*.TXT|All files|*.*;*"`

In this example we have two pairs:

1. **Text file|\*.txt;\*.TXT**:\
   Description: "Text file"\
   File extension "\*.txt" matches: "anything.txt"\
   File extension "\*.TXT" matches: "anything.TXT"
2. **All files|\*.\*;\***:\
   Description: "All files"\
   File extension "\*.\*" matches: "anything.anything"\
   File extension "\*" matches: "anything"

#### **Flags**

The magic "flags" string is similar to the "Styles" options in [wxFileDialog](https://docs.wxwidgets.org/3.1/classwx_file_dialog.html). Flags may be an empty string, a single keyword, or a comma separated list of keywords.

Available keywords are:

* **open** : This is a "file open" dialog. Usually this means that the default button's label of the dialog is "Open". Cannot be combined with "save"
* **save** : This is a "file save" dialog. Usually this means that the default button's label of the dialog is "Save". Cannot be combined with "open".
* **overwrite** : For save dialog only: prompt for a confirmation if a file will be overwritten.
* **exists** : For open dialog only: the user may only select files that actually exist
* **multiple** : For open dialog only: allows selecting multiple files.

**Example:** Open file dialog for one or more files that must exist.

`"open,exists,multiple"`

**Example:** Save file dialog with overwrite prompt if file exists.

`"save,overwrite"`

### Return Values <a href="#return_values" id="return_values"></a>

The File-Button widget attempts to create a valid file path as a string, and assign it to the "variable-name" symbol.

* If a single file is selected using the file browser, then the widget text box is updated to show the full path to the selected file.
* If multiple files are selected using the file browser (requires "multiple" flag to be set), each file path is enclosed in double quotes.\
  Note: The list of file paths is NOT a LISP list. It is still a string. See example below for how to deal with multiple file paths.
* If the file path text box is empty, then the widget variable symbol is set to the default path.
* If the file path text box contains only a file name (or any string that is not a path), then it is prepended with the default path and assigned as the value of the widget variable.

### Error Messages <a href="#error_messages" id="error_messages"></a>

In the event of programming or user errors, the File-Button Widget may return an error message. Understanding these messages can be a great help when debugging a new plug-in.

* **`<Path>`is not a valid file path.**\
  \*\*\*\*This error occurs if the returned file path is invalid, for example, if the directory does not exist. : This error is most likely to be due to the user manually editing the file path text box with an invalid file path.
* **Mismatched quotes in `<string>`**\
  \*\*\*\*When the "multiple" flag is set, the file browser returns a list of quoted strings for each path. This error is thrown if the opening quotes do not have matching closing quotes. : This error is most likely to be due to the user manually editing the file path text box and missing one or more quote characters.
* **Invalid wildcard string in 'path' control. Using empty string instead.**\
  \*\*\*\*This error occurs if the 'wildcard' magic string is malformed. : This is a programming error. Check the syntax of your [wildcard](https://github.com/audacity/audacity-support/blob/plugins/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/tutorials/broken-reference/README.md) string.

#### Examples

**Simple "Open File" Example**

`;control var "Select file to open" file "" "" "" ""`

In this example. only the variable ("var") and the "text-left" ("Select file to open") are explicitly set. Empty strings are passed to the other parameters, so they will all take default values.

In reverse order: the default "flag" is "open", the default wildcard filter is "All files", the default file path is "\*default\*", the default file name is "untitled", and the default button text is "Select a file".

**Simple "Save File" Example**

`;control var "Select file to save" file "" "" "" "save"`

Very much like the simple "open file" example above, except this one is selecting a file for writing.

**Advanced "Open File" Example**

`;control filename "Select file" file "" "*default*/sample-data.txt" "Text file|*.txt;*.TXT|All files|*.*;*" "open,exists"`

Unlike the previous examples, all parameters are explicitly defined. The default file name is "sample-data.txt", and by default the file browser filters the file list to show Text files only (ending in ".txt" or ".TXT"). The file browser also has an option to show all files.

Note that the file browser is created by the underlying operating system, so there are subtle differences across platforms. The "exists" flag is only relevant for file browsers that allow you to type the file name. For a purely graphical browser it is not possible to select a file that does not exist.

Note also that the "exists" flag only affects the file browser - it does not prevent the user typing a non-existent file name in the file path text field. If the plugin *requires* the file to exist, then the plugin code should run a test to ensure that it does. A simple test for the existence of a file, is to try and open it, for example:

```lisp
(defun test ()
(if (setf f (open filename))
(close f)
(throw 'error "File does not exist"))
(print "All good"))

(catch 'error (test))
```

**Advanced "Save File" Example**

`;control filename "Export data to" file "Select a file" "*default*/sample-data.txt" "Text file|*.txt;*.TXT|CSV files|*.csv;*.CSV|HTML files|*.html;*.HTML;*.htm;*.HTM|All files|*.*;*" "save,overwrite"`

In this example, all parameters are explicitly defined:

* **variable-name**: filename
* **text-left**: "Export data to"
* **button-text**: "Select a file"
* **default-file-path**: "\*default\*/sample-data.txt"
* **wildcard-filters:**\
  \*\*\*\*Text file|\*.txt;\*.TXT|\
  CSV files|\*.csv;\*.CSV|\
  HTML files|\*.html;\*.HTML;\*.htm;\*.HTM|\
  All files|\*.\*;\*"
* **flags** : "save,overwrite"

The [wildcard filters](https://github.com/audacity/audacity-support/blob/plugins/contributing/developing-your-own-plugins-and-scripts/creating-your-own-nyquist-plugins/tutorials/broken-reference/README.md) provide options in the file browser to show either text files (.txt or .TXT), which is the default, or CSV files (.csv pr .CSV), or HTML files (.html, or .HTML, or .htm, or .HTM), or "All files" (any file name).

{% hint style="warning" %}
Note that on Windows, file extensions are not case sensitive, but Linux, and some Mac computers are case sensitive, so for cross-platform portability it is recommended to use both upper and lower case file name extensions.
{% endhint %}

**Open Multiple Files**

`;control var "Select one or more files" file "Select" "*default*" "Text file|*.txt;*.TXT|All files|*.*;*" "open,multiple"`

In this example, the variable that will be set is `var`, the default directory is `*default*`, and the default file type filter is for text files (with an option to show all files). Unlike the previous versions, the file browser may be used to select multiple files (requires Audacity 2.3.1 or later).

{% hint style="info" %}
If the users selects one or more files using the file browser, then each file path will be enclosed in double quotes. However, the user could type in the path to a single file without quotes, or, as in this case, the default could be an unquoted single file path, so we should check for and support both versions.
{% endhint %}

To extract all of the the paths from the returned string, we first need to convert it to a more useful form, such as a LISP list:

`(setf path-string`\
`(format nil "(list ~s )" (string-trim "\"" var)))`

Here we have stripped the outer double quotes (if present), and then formatted it into a string that describes a LISP list. So, for example, if the selected files were: "C:\first.txt" and "C:\second.txt", then the value of `var`would be `""C:\first.txt""C:\second.txt""`, and the value of `path-string` would be `"(list "C:\first.txt" "C:\second.text")"`.

{% hint style="warning" %}
Important: Note that this is still only a string value, not a LISP list.
{% endhint %}

To convert this string into a LISP list, we need to evaluate the string as if it were code. Fortunately in Audacity 2.3.1 and later, there is an easy way to do this with the `EVAL-STRING` function:

`(setf paths (eval-string path-string))`

`paths` is now a valid LISP list of strings, which we can iterate through like this:

`(dolist (p paths)`\
`(print p))`

The complete example that can run in the [Nyquist Prompt](https://manual.audacityteam.org/man/nyquist_prompt.html):

```lisp
;version 4
;type tool
;debugflags trace

;control var "Select one or more files" file "Select" "*default*" "Text file|*.txt;*.TXT|All files|*.*;*" "open,multiple"

(setf path-string (format nil "(list ~s )" 
  (string-trim "\"" var)))

(setf paths (eval-string path-string))

(dolist (p paths "")
  (print p))
```

## Example Applications <a href="#example_applications" id="example_applications"></a>

These example applications may be run in the [Nyquist Prompt](https://manual.audacityteam.org/man/nyquist_prompt.html), or could be converted to plugins by adding full plugin headers.

{% hint style="info" %}
These code examples are excessively commented so as to explain what they are doing. For production code, comments should be concise and provide clarification where the intent is not obvious. As far as possible, the code should be self explanatory, but as this is intended for learning purposes, additional explanatory comments are included.
{% endhint %}

### Writing to a File <a href="#writing_to_a_file" id="writing_to_a_file"></a>

In this example, we use a File-Button widget to specify a file that will be written to. It is important to note that selecting the file does NOT write to the file, it only captures the file path and file name, which we then write to later in the script. The plugin will get some information about the selected audio, and write (append) it to a file.

First we start with a couple of headers to set the syntax version and plugin type.

`;version 4`\
`;type analyze`

Next is our File-Button widget. Note that it has the "save" flag because we are selecting a file to write to.

`;control filename "Export to" file "" "data.txt" "Text file|*.txt;*.TXT|All files|*.*;*" "save"`

The next three code lines gather the raw information that we will be writing to the file.

```lisp
;; Get data:
(setf tname (get '*track* 'name))
(setf peak (get '*selection* 'peak))
(setf rms (get '*selection* 'rms))
```

When we write to a file with Nyquist, the file is overwritten by the data that we are writing. As we want to append the new data to the file rather than overwriting it, we must first read the existing text from the file and store it in a variable. We can then write the old data, plus the new data back to the file. Here is a function that will read the contents of the file if it exists, and returns the data to the function caller.

```lisp
(defun read-file(fname)
;;; If file exists, copy its contents.
;;; Return the data, or empty string.
(setf data "")
(setf fp (open fname))
(when fp
(do ((line (read-line fp) (read-line fp)))
((not line))
(setf data (format nil "~a~a~%" data  line)))
(close fp))
data)
```

As this code is designed to work with text files, we can check that the file name ends with ".txt".

{% hint style="warning" %}
The file name extension is NOT a reliable way to test the file type. In any situation where security is a concern, the file extension must not be relied as an indicator of the file type.
{% endhint %}

* First we assign an empty string as the value of the variable `ext`.
* If the file name is at least 4 characters long, we extract the last 4 characters and assign it as the value of `ext`.
* We can then apply a [case insensitive string comparison](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-257.htm). If `ext` is equal to **.txt**, then we assume it is a plain text file.

```lisp
;; Check file extension.
(setf ext "")
(when (>= (length filename) 4)
(setf ext (subseq filename (- (length filename) 4))))

(if (string-equal ext ".txt")
...
```

So now we can run our main program, which is within a program [**prog**](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-202.htm) block.

* The program block begins by binding a local variable `{{inlineCode|data}}`{=mediawiki} to the data returned by the `{{inlineCode|read-file}}`{=mediawiki} function (defined above).
* Then we [open the file for writing](http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/xlisp/xlisp-ref/xlisp-ref-190.htm).
* And then the data can be written to the open file.
* After reading or writing to a file, the file should be closed again.
* Finally we return an acknowledgment message.

```lisp
;; It looks like a text file, so let's do it...
(prog ((data (read-file filename)))
;; Open the file for writing.
(setf fp (open filename :direction :output))
;; Use the 'format' command to write to the file pointer 'fp'.
(format fp "~aTrack ~s: Peak level: ~a  RMS level: ~a~%"
data tname peak rms)
;; Close the file.
(close fp)
(format nil "Data exported to:~%~s" filename))
```

If the file did not end with **.txt**, we return an error message.

```lisp
;; It doesn't look like a text file, so throw an error.
"Error.\nUnsupported file type.")
```

**The Complete Code:**

```lisp
;version 4
;type analyze

;control filename "Export to" file "" "data.txt" "Text file|*.txt;*.TXT|All files|*.*;*" "save"

;; Get data:
(setf tname (get '*track* 'name))
(setf peak (get '*selection* 'peak))
(setf rms (get '*selection* 'rms))


(defun read-file(fname)
  ;;; If file exists, copy its contents.
  ;;; Return the data, or empty string.
  (setf data "")
  (setf fp (open fname))
  (when fp
    (do ((line (read-line fp) (read-line fp)))
        ((not line))
      (setf data (format nil "~a~a~%" data  line)))
    (close fp))
  data)


;; Check file extension.
(setf ext "")
(when (>= (length filename) 3)
  (setf ext (subseq filename (- (length filename) 4))))

(if (string-equal ext ".txt")
    ;; It looks like a text file, so let's do it...
    (prog ((data (read-file filename)))
      ;; Open the file for writing.
      (setf fp (open filename :direction :output))
      ;; Use the 'format' command to write to the file pointer 'fp'.
      (format fp "~aTrack ~s: Peak level: ~a  RMS level: ~a~%"
              data tname peak rms)
      ;; Close the file.
      (close fp)
      (format nil "Data exported to:~%~s" filename))
    ;; It doesn't look like a text file, so throw an error.
    "Error.\nUnsupported file type.")
```

### Reading Multiple Files <a href="#reading_multiple_files" id="reading_multiple_files"></a>

This is an *advanced* example that uses the File-Button widget to read data from one or more text files. Text handling is not one of Nyquist's strengths (Nyquist is primarily designed for handling audio), hence parsing the text file data is quite complex.

In this example, we will import (read) labels from one or more text files.

{% hint style="info" %}
For simplicity, we will deal only with the basic label format and not support "spectral" labels.

The data format we will use is compatible with [exported labels](https://manual.audacityteam.org/man/importing_and_exporting_labels.html), provided that [Spectral Selections](https://manual.audacityteam.org/man/spectral_selection.html) are NOT used.
{% endhint %}

For this plug-in, we will specify that the label data file has one label definition per line, and each label definition has a start time (in seconds), and end time (in seconds) and optional label text. The numbers and optional label text may be separated by spaces or tabs. The data should be saved as plain text, with a ".txt" file extension.

**Example Data:**

```
12.427844   12.427844   Hello
39.320883   52.495756   World
63.769100   63.769100
79.524618   79.524618   Hi there
```

**The Complete Code:**

```lisp
;version 4
;type analyze

;control filepaths "Select one or more files" file "Select" "*default*/Label Track.txt" "Text file|*.txt;*.TXT|All files|*.*;*" "open,multiple"


(defun get-files(txt)
  ;;; Convert string of file paths to LISP list.
  ;;; Return list.
  (let* ((txt (string-trim "\"" txt))
         (txt (format nil "(list ~s )" txt)))
    (eval-string txt)))


(defun label-from-text(txt)
  ;;; 'txt' is a line read from the file. It must be formated as:
  ;;; "number number string"
  ;;; Each label needs to be a LISP list  in the form:
  ;;; (LIST  number number [string])
  ;;; Return a properly formatted label from a line of text.
  (let ((newtxt "")
        (labeltext nil)
        (isnumber nil)
        (index 0))
    ;; Label text must be double quoted.
    (dotimes (i (length txt))
      (setf ch (char txt i))
      (cond
       (labeltext
          ;we are in the label text region, so just add the character.
          (setf newtxt (format nil "~a~a" newtxt ch)))
       ((and (< index 2) ;two numbers expected.
             (or (char= ch #\.)
                 (digit-char-p ch)))
            (setf isnumber t)
            (setf newtxt (format nil "~a~a" newtxt ch)))
       ;; Elements may be delimited by spaces or tabs.
       ((or (char= ch #\space)
            (char= ch #\tab))
          (when isnumber ;previous character was numeric.
            (incf index)
            (setf isnumber nil))
          (setf newtxt (strcat newtxt " ")))
       ;; Non-space character after the two numbers is
       ;; the start of the label text.
       (t (setf labeltext t)
          (setf newtxt (format nil "~a\"~a" newtxt ch)))))
    ;; If label text exists, close the double quotes,
    ;; else add an empty string.
    (if labeltext
        (setf txt (strcat newtxt "\""))
        (setf txt (strcat newtxt "\"\""))))
  ; Convert txt to a list.
  (setf data (eval-string (format nil "(list ~a)" txt)))
  ;; Sanity check the data.
  (cond
   ((/= (length data) 3)
      (throw 'err "Error.\nFile must contain one label per line."))
   ((or (not (numberp (first data)))
        (not (numberp (second data))))
      (throw 'err "Error.\nMalformed label file.")))
  ; Return single label.
  data)


(defun openfile(filename)
  ;;; Open file with error checking.
  ;;; Return file pointer (fp).
  (setf fp (open filename))
  (when (not fp)
    (throw 'err (format nil "Error.~%~s could not be opened." filename)))
  fp)


(defun process-file (fp)
  ;;; Reads data from file pointer and create one label from each line.
  ;;; Return a list of labels.
  (let ((labels ()))
    (do ((txt (read-line fp) (read-line fp)))
        ((not txt) labels)
      (push (label-from-text txt) labels))))


(defun process()
  ;;; 'Main' function.
  ;;; Process each file path in turn and concatenate the lists of labels.
  ;;; Return all labels.
  (let ((file-list (get-files filepaths))
        (labels ()))
    (dolist (path file-list labels)
      (setf fp (openfile path))
      (setf labels (append labels (process-file fp)))
      (close fp))))


; Call the 'main' function, and catch any errors.
(catch 'err (process))
```


# Scripting reference

This page lists scripting commands.

Yes these are the same commands as in the menus, same as in "Commands and Shortcuts" too, just presented differently.

* Presented in a format useful to people using:
  * Macros or
  * Python Scripting or
  * AUD-DO.
* Most of this page is automatically generated.

A few commands are intentionally omitted from the Macro Manager (such as "Close:") because they are unsuitable for use in Macros.

{% hint style="info" %}
This table shows the items in the menus that are scriptable.

* The Scripting Ids, parameters and defaults are all likely to change between versions.
* Boolean values must be given as 1 (true) or 0 (false).
  {% endhint %}

## File Menu

The File Menu provides commands for creating, opening and saving Audacity projects and importing and exporting audio files

| Scripting Id    | Action          | Parameters | Description                                                                                                                                                            |
| --------------- | --------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| New:            | New             | *none*     | Creates a new empty project window, to start working on new or imported tracks.                                                                                        |
| Open:           | Open...         | *none*     | Presents a standard dialog box where you can select either audio files, a list of files (.LOF) or an Audacity Project file to open.                                    |
| Close:          | Close           | *none*     | Closes the current project window, prompting you to save your work if you have not saved.                                                                              |
| SaveProject:    | Save Project    | *none*     | Various ways to save a project.                                                                                                                                        |
| CompactProject: | Compact Project | *none*     | Compact your project to save disk space.                                                                                                                               |
| PageSetup:      | Page Setup...   | *none*     | Opens the standard Page Setup dialog box prior to printing                                                                                                             |
| Print:          | Print...        | *none*     | Prints all the waveforms in the current project window (and the contents of Label Tracks or other tracks), with the Timeline above. Everything is printed to one page. |
| Exit:           | Exit            | *none*     | Closes all project windows and exits Audacity. If there are any unsaved changes to your project, Audacity will ask if you want to save them.                           |

### File: Save Project

Various ways to save a project.

<table><thead><tr><th>Scripting Id</th><th>Action</th><th width="118">Parameters</th><th>Description</th></tr></thead><tbody><tr><td>Save:</td><td>Save Project</td><td><em>none</em></td><td>Saves the current Audacity project .AUP3 file.</td></tr><tr><td>SaveAs:</td><td>Save Project As...</td><td><em>none</em></td><td>Same as "Save Project" above, but allows you to save a copy of an open project to a different name or location</td></tr><tr><td>SaveCopy:</td><td>Save Lossless Copy of Project...</td><td><em>none</em></td><td>Saves the current Audacity project .AUP3 file.</td></tr><tr><td>SaveCompressed:</td><td>Save Compressed Copy of Project...</td><td><em>none</em></td><td>Saves in the audacity .aup3 project file format, but compressed (Suitable for mailing)</td></tr></tbody></table>

### File: Export

For exporting audio files

| Scripting Id    | Action                   | Parameters | Description                                                                                                                                                                         |
| --------------- | ------------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ExportMp3:      | Export as MP3            | *none*     | Exports to an MP3 file                                                                                                                                                              |
| ExportWav:      | Export as WAV            | *none*     | Exports to a WAV file                                                                                                                                                               |
| ExportOgg:      | Export as OGG            | *none*     | Exports to an OGG file                                                                                                                                                              |
| Export:         | Export Audio...          | *none*     | Exports to an audio file.                                                                                                                                                           |
| ExportSel:      | Export Selected Audio... | *none*     | Exports selected audio to a file.                                                                                                                                                   |
| ExportLabels:   | Export Labels...         | *none*     | Exports audio at one or more labels to file(s).                                                                                                                                     |
| ExportMultiple: | Export Multiple...       | *none*     | Exports multiple audio files in one process, one file for each track if there are multiple audio tracks, or labels can be added which then define the length of each exported file. |
| ExportMIDI:     | Export MIDI...           | *none*     | Exports MIDI (note tracks) to a MIDI file.                                                                                                                                          |

### File: Import

For importing audio files or label files into your project

| Scripting Id  | Action      | Parameters | Description                                                                                                                                                                                                                                                                                     |
| ------------- | ----------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ImportAudio:  | Audio...    | *none*     | Similar to 'Open', except that the file is added as a new track to your existing project.                                                                                                                                                                                                       |
| ImportLabels: | Labels...   | *none*     | Launches a file selection window where you can choose to *import* a single text file into the project containing point or region labels. For more information about the syntax for labels files, see Importing and Exporting Labels.                                                            |
| ImportMIDI:   | MIDI...     | *none*     | Imports a *MIDI* (MIDI or MID *extension*) or Allegro (GRO) file to a Note Track where simple cut-and-paste edits can be performed. The result can be exported with the File > Export> > Export MIDI command. Note: Currently, MIDI and Allegro files cannot be played.                         |
| ImportRaw:    | Raw Data... | *none*     | Attempts to import an uncompressed audio file that might be "raw" data without any headers to define its format, might have incorrect headers or be otherwise partially corrupted, or might be in a format that Audacity is unable to recognize. Raw data in textual format cannot be imported. |

## Edit Menu

The Edit Menu provides standard edit commands (Undo, Redo, Cut, Copy, Paste and Delete) plus many other commands specific to editing audio or labels

| Scripting Id  | Action         | Parameters | Description                                                                                                                                                                       |
| ------------- | -------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Undo:         | Undo           | *none*     | Undoes the most recent editing action.                                                                                                                                            |
| Redo:         | Redo           | *none*     | Redoes the most recently undone editing action.                                                                                                                                   |
| Cut:          | Cut            | *none*     | Removes the selected audio data and/or labels and places these on the Audacity clipboard. By default, any audio or labels to right of the selection are shifted to the left.      |
| Delete:       | Delete         | *none*     | Removes the selected audio data and/or labels without copying these to the Audacity clipboard. By default, any audio or labels to right of the selection are shifted to the left. |
| Copy:         | Copy           | *none*     | Copies the selected audio data to the Audacity clipboard without removing it from the project.                                                                                    |
| Paste:        | Paste          | *none*     | Inserts whatever is on the Audacity clipboard at the position of the selection cursor in the project, replacing whatever audio data is currently selected, if any.                |
| Duplicate:    | Duplicate      | *none*     | Creates a new track containing only the current selection as a new clip.                                                                                                          |
| EditMetaData: | Metadata...    | *none*     | The Metadata Editor modifies information about a track, such as the artist and genre. Typically used with MP3 files.                                                              |
| Preferences:  | Preferences... | *none*     | Preferences let you change most of the default behaviors and settings of Audacity. On Mac, Preferences are in the Audacity Menu and the default shortcut is ⌘ + ,.                |

### Edit: Remove Special

For more "advanced" removal of audio

| Scripting Id | Action        | Parameters | Description                                                                                                                                                                                                   |
| ------------ | ------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SplitCut:    | Split Cut     | *none*     | Same as Cut, but none of the audio data or labels to right of the selection are shifted.                                                                                                                      |
| SplitDelete: | Split Delete  | *none*     | Same as Delete, but none of the audio data or labels to right of the selection are shifted.                                                                                                                   |
| Silence:     | Silence Audio | *none*     | Replaces the currently selected audio with absolute silence. Does not affect label tracks.                                                                                                                    |
| Trim:        | Trim Audio    | *none*     | Deletes all audio but the selection. If there are other separate clips in the same track these are not removed or shifted unless trimming the entire length of a clip or clips. Does not affect label tracks. |

### Edit: Clip Boundaries

Create or remove separate clips in the audio track. A clip inside an audio track is a separate section of that track which has been split so that it can be manipulated somewhat independently of the other clips in the track.

| Scripting Id | Action             | Parameters | Description                                                                                                                                                                   |
| ------------ | ------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Split:       | Split              | *none*     | Splits the current clip into two clips at the cursor point, or into three clips at the selection boundaries.                                                                  |
| SplitNew:    | Split New          | *none*     | Does a Split Cut on the current selection in the current track, then creates a new track and pastes the selection into the new track.                                         |
| Join:        | Join               | *none*     | If you select an area that overlaps one or more clips, they are all joined into one large clip. Regions in-between clips become silence.                                      |
| Disjoin:     | Detach at Silences | *none*     | In a selection region that includes absolute silences, creates individual non-silent clips between the regions of silence. The silence becomes blank space between the clips. |

### Edit: Labels

These commands are to add and edit labels.

| Scripting Id       | Action                          | Parameters | Description                                                                                                                                                                                                                                                                                                                   |
| ------------------ | ------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| EditLabels:        | Edit Labels...                  | *none*     | Brings up a dialog box showing all of your labels in a keyboard-accessible tabular view. Handy buttons in the dialog let you insert or delete a label, or import and export labels to a file. See Labels Editor for more details.                                                                                             |
| AddLabel:          | Add Label at Selection          | *none*     | Creates a new, empty label at the cursor or at the selection region.                                                                                                                                                                                                                                                          |
| AddLabelPlaying:   | Add Label at Playback Position  | *none*     | Creates a new, empty label at the current playback or recording position.                                                                                                                                                                                                                                                     |
| PasteNewLabel:     | Paste Text to New Label         | *none*     | Pastes the text on the Audacity clipboard at the cursor position in the currently selected label track. If there is no selection in the label track a point label is created. If a region is selected in the label track a region label is created. If no label track is selected one is created, and a new label is created. |
| TypeToCreateLabel: | Type to Create a Label (on/off) | *none*     | When a label track has the yellow focus border, if this option is on, just type to create a label. Otherwise you must create a label first.                                                                                                                                                                                   |

### Edit: Labeled Audio

Labeled Audio commands apply standard Edit Menu commands to the audio of one or more regions that are labeled. The labels themselves are not affected.

| Scripting Id       | Action             | Parameters | Description                                                                                                                                                                       |
| ------------------ | ------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CutLabels:         | Cut                | *none*     | Same as the Cut command, but operates on labeled audio regions.                                                                                                                   |
| DeleteLabels:      | Delete             | *none*     | Same as the Delete command, but operates on labeled audio regions.                                                                                                                |
| SplitCutLabels:    | Split Cut          | *none*     | Same as the Split Cut command, but operates on labeled audio regions.                                                                                                             |
| SplitDeleteLabels: | Split Delete       | *none*     | Same as the Split Delete command, but operates on labeled audio regions.                                                                                                          |
| SilenceLabels:     | Silence Audio      | *none*     | Same as the Silence Audio command, but operates on labeled audio regions.                                                                                                         |
| CopyLabels:        | Copy               | *none*     | Same as the Copy command, but operates on labeled audio regions.                                                                                                                  |
| SplitLabels:       | Split              | *none*     | Same as the Split command, but operates on labeled audio regions or points.                                                                                                       |
| JoinLabels:        | Join               | *none*     | Same as the Join command, but operates on labeled audio regions or points. You may need to select the audio and use Edit > Clip Boundaries > Join, to join all regions or points. |
| DisjoinLabels:     | Detach at Silences | *none*     | Same as the Detach at Silences command, but operates on labeled audio regions.                                                                                                    |

## Select Menu

Select Menu has commands that enable you make selections of tracks or parts of the tracks in your project.

| Scripting Id           | Action                           | Parameters | Description                                                                                                          |
| ---------------------- | -------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------- |
| SelectAll:             | All                              | *none*     | Selects all of the audio in all of the tracks.                                                                       |
| SelectNone:            | None                             | *none*     | Deselects all of the audio in all of the tracks.                                                                     |
| SelCursorStoredCursor: | Cursor to Stored Cursor Position | *none*     | Selects from the position of the cursor to the previously stored cursor position                                     |
| StoreCursorPosition:   | Store Cursor Position            | *none*     | Stores the current cursor position for use in a later selection                                                      |
| ZeroCross:             | At Zero Crossings                | *none*     | Moves the edges of a selection region (or the cursor position) slightly so they are at a rising zero crossing point. |

### Select: Tracks

Tracks

| Scripting Id       | Action                    | Parameters | Description                                                                                                     |
| ------------------ | ------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- |
| SelAllTracks:      | In All Tracks             | *none*     | Extends the current selection up and/or down into all tracks in the project.                                    |
| SelSyncLockTracks: | In All Sync-Locked Tracks | *none*     | Extends the current selection up and/or down into all sync-locked tracks in the currently selected track group. |

### Select: Region

For modifying, saving and restoring a selection.

| Scripting Id           | Action                     | Parameters | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------- | -------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SetLeftSelection:      | Left at Playback Position  | *none*     | <p>When Audacity is playing, recording or paused, sets the left boundary of a potential selection by moving the cursor to the current position of the green playback cursor (or red recording cursor).</p><p>Otherwise, opens the "Set Left Selection Boundary" dialog for adjusting the time position of the left-hand selection boundary. If there is no selection, moving the time digits backwards creates a selection ending at the former cursor position, and moving the time digits forwards provides a way to move the cursor forwards to an exact point.</p>                               |
| SetRightSelection:     | Right at Playback Position | *none*     | <p>When Audacity is playing, recording or paused, sets the right boundary of the selection, thus drawing the selection from the cursor position to the current position of the green playback cursor (or red recording cursor).</p><p>Otherwise, opens the "Set Right Selection Boundary" dialog for adjusting the time position of the right-hand selection boundary. If there is no selection, moving the time digits forwards creates a selection starting at the former cursor position, and moving the time digits backwards provides a way to move the cursor backwards to an exact point.</p> |
| SelTrackStartToCursor: | Track Start to Cursor      | *none*     | Selects a region in the selected track(s) from the start of the track to the cursor position.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| SelCursorToTrackEnd:   | Cursor to Track End        | *none*     | Selects a region in the selected track(s) from the cursor position to the end of the track.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| SelTrackStartToEnd:    | Track Start to End         | *none*     | Selects a region in the selected track(s) from the start of the track to the end of the track.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| SelSave:               | Store Selection            | *none*     | Stores the end points of a selection for later reuse.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| SelRestore:            | Retrieve Selection         | *none*     | Retrieves the end points of a previously stored selection.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

### Select: Spectral

For making a selection of a frequency range.

| Scripting Id             | Action                     | Parameters | Description                                                                                                                                                                                                                                                                                       |
| ------------------------ | -------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ToggleSpectralSelection: | Toggle Spectral Selection  | *none*     | Changes between selecting a time range and selecting the last selected spectral selection in that time range. This command toggles the spectral selection even if not in Spectrogram view, but you must be in Spectrogram view to use the spectral selection in one of the Spectral edit effects. |
| NextHigherPeakFrequency: | Next Higher Peak Frequency | *none*     | When in Spectrogram view, snaps the center frequency to the next higher frequency peak, moving the spectral selection upwards.                                                                                                                                                                    |
| NextLowerPeakFrequency:  | Next Lower Peak Frequency  | *none*     | When in Spectrogram views snaps the center frequency to the next lower frequency peak, moving the spectral selection downwards.                                                                                                                                                                   |

### Select: Clip Boundaries

For modifying a selection, taking account of clips.

| Scripting Id                 | Action                           | Parameters | Description                                                                                |
| ---------------------------- | -------------------------------- | ---------- | ------------------------------------------------------------------------------------------ |
| SelPrevClipBoundaryToCursor: | Previous Clip Boundary to Cursor | *none*     | Selects from the current cursor position back to the right-hand edge of the previous clip. |
| SelCursorToNextClipBoundary: | Cursor to Next Clip Boundary     | *none*     | Selects from the current cursor position forward to the left-hand edge of the next clip.   |
| SelPrevClip:                 | Previous Clip                    | *none*     | Moves the selection to the previous clip.                                                  |
| SelNextClip:                 | Next Clip                        | *none*     | Moves the selection to the next clip.                                                      |

## View Menu

View Menu has commands that determine the amount of detail you see in all the tracks in the project window. It also lets you show or hide Toolbars and some additional windows such as Undo History.

| Scripting Id    | Action                 | Parameters | Description                                                                                                                                                                       |
| --------------- | ---------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| UndoHistory:    | History...             | *none*     | Brings up the History window which can then be left open while using Audacity normally. History lists all undoable actions performed in the current project, including importing. |
| Karaoke:        | Karaoke...             | *none*     | Brings up the Karaoke window, which displays the labels in a "bouncing ball" scrolling display                                                                                    |
| MixerBoard:     | Mixer Board...         | *none*     | Mixer Board is an alternative view to the audio tracks in the main tracks window. Analogous to a hardware mixer board, each audio track is displayed in a Track Strip.            |
| ShowExtraMenus: | Extra Menus (on/off)   | *none*     | Shows extra menus with many extra less-used commands.                                                                                                                             |
| ShowClipping:   | Show Clipping (on/off) | *none*     | Option to show or not show audio that is too loud (in red) on the wave form.                                                                                                      |

### View: Zoom

Zoom in/out on the horizontal axis. Show more detail or show a longer length of time.

| Scripting Id   | Action                    | Parameters | Description                                                                                        |
| -------------- | ------------------------- | ---------- | -------------------------------------------------------------------------------------------------- |
| ZoomIn:        | Zoom In                   | *none*     | Zooms in on the horizontal axis of the audio displaying more detail over a shorter length of time. |
| ZoomNormal:    | Zoom Normal               | *none*     | Zooms to the default view which displays about one inch per second.                                |
| ZoomOut:       | Zoom Out                  | *none*     | Zooms out displaying less detail over a greater length of time.                                    |
| ZoomSel:       | Zoom to Selection         | *none*     | Zooms in or out so that the selected audio fills the width of the window.                          |
| ZoomToggle:    | Zoom Toggle               | *none*     | Changes the zoom back and forth between two preset levels.                                         |
| AdvancedVZoom: | Advanced Vertical Zooming | *none*     | Enable for left-click gestures in the vertical scale to control zooming.                           |

### View: Track Size

Controls the sizes of tracks.

| Scripting Id       | Action                  | Parameters | Description                                                                   |
| ------------------ | ----------------------- | ---------- | ----------------------------------------------------------------------------- |
| FitInWindow:       | Fit to Width            | *none*     | Zooms out until the entire project just fits in the window.                   |
| FitV:              | Fit to Height           | *none*     | Adjusts the height of all the tracks until they fit in the project window.    |
| CollapseAllTracks: | Collapse All Tracks     | *none*     | Collapses all tracks to take up the minimum amount of space.                  |
| ExpandAllTracks:   | Expand Collapsed Tracks | *none*     | Expands all collapsed tracks to their original size before the last collapse. |

### View: Skip to

Move forward/backwards through the audio

| Scripting Id  | Action          | Parameters | Description                                                                                          |
| ------------- | --------------- | ---------- | ---------------------------------------------------------------------------------------------------- |
| SkipSelStart: | Selection Start | *none*     | When there is a selection, moves the cursor to the start of the selection and removes the selection. |
| SkipSelEnd:   | Selection End   | *none*     | When there is a selection, moves the cursor to the end of the selection and removes the selection.   |

### View: Toolbars

Toolbars can be used to determine which of the Audacity toolbars are displayed. By default all toolbars are shown except Spectral Selection and Scrub

| Scripting Id             | Action                     | Parameters | Description                                                                                                                        |
| ------------------------ | -------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| ResetToolbars:           | Reset Toolbars             | *none*     | Using this command positions all toolbars in default location and size as they were when Audacity was first installed              |
| ShowTransportTB:         | Transport Toolbar          | *none*     | Controls playback and recording and skips to start or end of project when neither playing or recording                             |
| ShowToolsTB:             | Tools Toolbar              | *none*     | Chooses various tools for selection, volume adjustment, zooming and time-shifting of audio                                         |
| ShowRecordMeterTB:       | Recording Meter Toolbar    | *none*     | Displays recording levels and toggles input monitoring when not recording                                                          |
| ShowPlayMeterTB:         | Playback Meter Toolbar     | *none*     | Displays playback levels                                                                                                           |
| ShowMixerTB:             | Mixer Toolbar              | *none*     | Adjusts the recording and playback volumes of the devices currently selected in Device Toolbar                                     |
| ShowEditTB:              | Edit Toolbar               | *none*     | Cut, copy, paste, trim audio, silence audio, undo, redo, zoom tools                                                                |
| ShowTranscriptionTB:     | Play-at-Speed Toolbar      | *none*     | Plays audio at a slower or faster speed than normal, affecting pitch                                                               |
| ShowScrubbingTB:         | Scrub Toolbar              | *none*     | Controls playback and recording and skips to start or end of project when neither playing or recording                             |
| ShowDeviceTB:            | Device Toolbar             | *none*     | Selects audio host, recording device, number of recording channels and playback device                                             |
| ShowSelectionTB:         | Selection Toolbar          | *none*     | Controls the sample rate of the project, snapping to the selection format and adjusts cursor and region position by keyboard input |
| ShowSpectralSelectionTB: | Spectral Selection Toolbar | *none*     | Displays and lets you adjust the current spectral (frequency) selection without having to be in Spectrogram view                   |

## Transport Menu

Transport Menu commands let you play or stop, loop play, scrub play or record (including timed and sound activated recordings).

| Scripting Id   | Action               | Parameters | Description                                                                                                                 |
| -------------- | -------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| RescanDevices: | Rescan Audio Devices | *none*     | Rescan for audio devices connected to your computer, and update the playback and recording dropdown menus in Device Toolbar |

### Transport: Playing

These commands control playback in Audacity. You can Start, Stop or Pause playback of the audio in your project.

| Scripting Id    | Action                   | Parameters | Description                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------- | ------------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| PlayStop:       | Play/Stop                | *none*     | Starts and stops playback or stops a recording (stopping does not change the restart position). Therefore using any play or record command after stopping with "Play/Stop" will start playback or recording from the same Timeline position it last started from. You can also assign separate shortcuts for [Play](broken://pages/kGgWQRN8abzBJbdLCXqA) and [Stop](broken://pages/kGgWQRN8abzBJbdLCXqA). |
| PlayStopSelect: | Play/Stop and Set Cursor | *none*     | Starts playback like "Play/Stop", but stopping playback sets the restart position to the stop point. When stopped, this command is the same as "Play/Stop". When playing, this command stops playback and moves the cursor (or the start of the selection) to the position where playback stopped.                                                                                                        |
| Pause:          | Pause                    | *none*     | Temporarily pauses playing or recording without losing your place.                                                                                                                                                                                                                                                                                                                                        |

### Transport: Recording

These commands control recording in Audacity. You can Start, Stop or Pause recording in your project. You can either start a recording on your existing track or on a new track.

| Scripting Id     | Action                | Parameters | Description                                                                                                         |
| ---------------- | --------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------- |
| Record1stChoice: | Record                | *none*     | Starts recording at the end of the currently selected track(s).                                                     |
| Record2ndChoice: | Record New Track      | *none*     | Recording begins on a new track at either the current cursor location or at the beginning of the current selection. |
| TimerRecord:     | Timer Record...       | *none*     | Brings up the Timer Record dialog.                                                                                  |
| PunchAndRoll:    | Punch and Roll Record | *none*     | Re-record over audio, with a pre-roll of audio that comes before.                                                   |
| Pause:           | Pause                 | *none*     | Temporarily pauses playing or recording without losing your place.                                                  |

### Transport: Scrubbing

Scrubbing is the action of moving the mouse pointer right or left so as to adjust the position, speed or direction of playback, listening to the audio at the same time - a convenient way to quickly navigate the waveform to find a particular event of interest. Speed changes are made by rotating the mouse wheel while scrubbing.

| Scripting Id      | Action      | Parameters | Description                                                                                                                                                              |
| ----------------- | ----------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Scrub:            | Scrub       | *none*     | Scrubbing is the action of moving the mouse pointer right or left so as to adjust the position, speed or direction of playback, listening to the audio at the same time. |
| Seek:             | Seek        | *none*     | Seeking is similar to Scrubbing except that it is playback with skips, similar to using the seek button on a CD player.                                                  |
| ToggleScrubRuler: | Scrub Ruler | *none*     | Shows (or hides) the scrub ruler, which is just below the timeline.                                                                                                      |

### Transport: Cursor to

These commands let you move the cursor to the start or end of the selection, track or any adjacent Clip that you may have

| Scripting Id          | Action                 | Parameters | Description                                                                                                 |
| --------------------- | ---------------------- | ---------- | ----------------------------------------------------------------------------------------------------------- |
| CursSelStart:         | Selection Start        | *none*     | Moves the left edge of the current selection to the center of the screen, without changing the zoom level.  |
| CursSelEnd:           | Selection End          | *none*     | Moves the right edge of the current selection to the center of the screen, without changing the zoom level. |
| CursTrackStart:       | Track Start            | *none*     | Moves the cursor to the start of the selected track.                                                        |
| CursTrackEnd:         | Track End              | *none*     | Moves the cursor to the end of the selected track.                                                          |
| CursPrevClipBoundary: | Previous Clip Boundary | *none*     | Moves the cursor position back to the right-hand edge of the previous clip                                  |
| CursNextClipBoundary: | Next Clip Boundary     | *none*     | Moves the cursor position forward to the left-hand edge of the next clip                                    |
| CursProjectStart:     | Project Start          | *none*     | Moves the cursor to the beginning of the project.                                                           |
| CursProjectEnd:       | Project End            | *none*     | Moves the cursor to the end of the project.                                                                 |

### Transport: Transport Options

This submenu lets you manage and set various options for transport (playing and recording) in Audacity

| Scripting Id          | Action                             | Parameters | Description                                                                                                                                       |
| --------------------- | ---------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| SoundActivationLevel: | Sound Activation Level...          | *none*     | Sets the activation level above which Sound Activated Recording will record.                                                                      |
| SoundActivation:      | Sound Activated Recording (on/off) | *none*     | Toggles on and off the Sound Activated Recording option.                                                                                          |
| PinnedHead:           | Pinned Play/Record Head (on/off)   | *none*     | You can change Audacity to play and record with a fixed head pinned to the Timeline. You can adjust the position of the fixed head by dragging it |
| Overdub:              | Overdub (on/off)                   | *none*     | Toggles on and off the Overdub option.                                                                                                            |
| SWPlaythrough:        | Software Playthrough (on/off)      | *none*     | Toggles on and off the Software Playthrough option.                                                                                               |

## Tracks Menu

Tracks Menu provides commands for creating and removing tracks, applying operations to selected tracks such as mixing, resampling or converting from stereo to mono, and lets you add or edit labels.

| Scripting Id  | Action                    | Parameters | Description                                                                                                                             |
| ------------- | ------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Resample:     | Resample...               | *none*     | Allows you to resample the selected track(s) to a new sample rate for use in the project                                                |
| RemoveTracks: | Remove Tracks             | *none*     | Removes the selected track(s) from the project. Even if only part of a track is selected, the entire track is removed.                  |
| SyncLock:     | Sync-Lock Tracks (on/off) | *none*     | Ensures that length changes occurring anywhere in a defined group of tracks also take place in all audio or label tracks in that group. |

### Tracks: Add New

Adds a new track

| Scripting Id    | Action       | Parameters | Description                                                                                    |
| --------------- | ------------ | ---------- | ---------------------------------------------------------------------------------------------- |
| NewMonoTrack:   | Mono Track   | *none*     | Creates a new empty mono audio track.                                                          |
| NewStereoTrack: | Stereo Track | *none*     | Adds an empty stereo track to the project                                                      |
| NewLabelTrack:  | Label Track  | *none*     | Adds an empty label track to the project                                                       |
| NewTimeTrack:   | Time Track   | *none*     | Adds an empty time track to the project. Time tracks are used to speed up and slow down audio. |

### Tracks: Mix

Mixes down selected tracks to mono or stereo tracks

| Scripting Id            | Action                      | Parameters | Description                                                                                                                                                                                                                      |
| ----------------------- | --------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Stereo to Mono:         | Mix Stereo Down to Mono     | *none*     | Converts the selected stereo track(s) into the same number of mono tracks, combining left and right channels equally by averaging the volume of both channels.                                                                   |
| MixAndRender:           | Mix and Render              | *none*     | Mixes down all selected tracks to a single mono or stereo track, rendering to the waveform all real-time transformations that had been applied (such as track *gain*, panning, amplitude envelopes or a change in project rate). |
| MixAndRenderToNewTrack: | Mix and Render to New Track | *none*     | Same as Tracks > Mix and Render except that the original tracks are preserved rather than being replaced by the resulting "Mix" track.                                                                                           |

### Tracks: Mute/Unmute

Mutes or unmutes audio tracks in the project

| Scripting Id     | Action            | Parameters | Description                                                                                                                     |
| ---------------- | ----------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------- |
| MuteAllTracks:   | Mute All Tracks   | *none*     | Mutes all the audio tracks in the project as if you had used the mute buttons from the Track Control Panel on each track.       |
| UnmuteAllTracks: | Unmute All Tracks | *none*     | Unmutes all the audio tracks in the project as if you had released the mute buttons from the Track Control Panel on each track. |
| MuteTracks:      | Mute Tracks       | *none*     | Mutes the selected tracks.                                                                                                      |
| UnmuteTracks:    | Unmute Tracks     | *none*     | Unmutes the selected tracks.                                                                                                    |

### Tracks: Pan

Pans left right or center audio tracks in the project

| Scripting Id | Action | Parameters | Description                          |
| ------------ | ------ | ---------- | ------------------------------------ |
| PanLeft:     | Left   | *none*     | Pan selected audio to left speaker   |
| PanRight:    | Right  | *none*     | Pan selected audio centrally.        |
| PanCenter:   | Center | *none*     | Pan selected audio to right speaker. |

### Tracks: Align Tracks

Commands that provide an automatic way of aligning selected tracks with the cursor, the selection, or with the start of the project.

| Scripting Id             | Action                              | Parameters | Description                                                                                                      |
| ------------------------ | ----------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------- |
| Align\_EndToEnd:         | Align End to End                    | *none*     | Aligns the selected tracks one after the other, based on their top-to-bottom order in the project window.        |
| Align\_Together:         | Align Together                      | *none*     | Align the selected tracks so that they start at the same (averaged) start time.                                  |
| Align\_StartToZero:      | Start to Zero                       | *none*     | Aligns the start of selected tracks with the start of the project.                                               |
| Align\_StartToSelStart:  | Start to Cursor/Selection Start     | *none*     | Aligns the start of selected tracks with the current cursor position or with the start of the current selection. |
| Align\_StartToSelEnd:    | Start to Selection End              | *none*     | Aligns the start of selected tracks with the end of the current selection.                                       |
| Align\_EndToSelStart:    | End to Cursor/Selection Start       | *none*     | Aligns the end of selected tracks with the current cursor position or with the start of the current selection.   |
| Align\_EndToSelEnd:      | End to Selection End                | *none*     | Aligns the end of selected tracks with the end of the current selection.                                         |
| MoveSelectionWithTracks: | Move Selection with Tracks (on/off) | *none*     | Toggles on/off the selection moving with the realigned tracks, or staying put.                                   |

### Tracks: Sort Tracks

Sorts all tracks in the project from top to bottom in the project window, by Start Time or by Name.

| Scripting Id | Action        | Parameters | Description                         |
| ------------ | ------------- | ---------- | ----------------------------------- |
| SortByTime:  | By Start Time | *none*     | Sort tracks in order of start time. |
| SortByName:  | By Name       | *none*     | Sort tracks in order by name.       |

## Generate Menu

Generate Menu lets you create audio containing tones, noise or silence.

| Scripting Id      | Action         | Parameters | Description                                                                                                                                                                                                                                                                                                                                               |
| ----------------- | -------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ManageGenerators: | Plugin Manager | *none*     | Selecting this option from the Effect Menu (or the Generate Menu or Analyze Menu) takes you to a dialog where you can enable or disable particular Effects, Generators and Analyzers in Audacity. Even if you do not add any third-party plugins, you can use this to make the Effect menu shorter or longer as required. For details see Plugin Manager. |
| Built-in:         | Built-in       | *none*     | Shows the list of available Audacity built-in effects but only if the user has effects "Grouped by Type" in Effects Preferences.                                                                                                                                                                                                                          |
| Nyquist:          | Nyquist        | *none*     | Shows the list of available Nyquist effects but only if the user has effects "Grouped by Type" in Effects Preferences.                                                                                                                                                                                                                                    |

### Generate: Built-in

Shows the list of available Audacity built-in effects but only if the user has effects "Grouped by Type" in Effects Preferences.

| Scripting Id | Action        | Parameters                                                                                                                                                                                                                                                                                                                                                                                                         | Description                                                                                                                                                                                          |
| ------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Chirp:       | Chirp...      | <p><em>double StartFreq, (default:440)</em></p><p><em>double EndFreq, (default:1320)</em><br><em>double StartAmp, (default:0.8)</em><br><em>double EndAmp, (default:0.1)</em><br><em>enum Waveform, (default:Sine)</em><br></p><ul><li>Sine</li><li>Square</li><li>Sawtooth</li><li>Square, no alias</li></ul><p><em>enum Interpolation, (default:Linear)</em><br></p><ul><li>Linear</li><li>Logarithmic</li></ul> | Generates four different types of tone waveforms like the [Tone Generator](broken://pages/kGgWQRN8abzBJbdLCXqA), but additionally allows setting of the starting and ending amplitude and frequency. |
| DtmfTones:   | DTMF Tones... | <p><em>string Sequence, (default:audacity)</em></p><p><em>double Duty Cycle, (default:55)</em><br><em>double Amplitude, (default:0.8)</em><br></p>                                                                                                                                                                                                                                                                 | Generates dual-tone multi-frequency (DTMF) tones like those produced by the keypad on telephones.                                                                                                    |
| Noise:       | Noise...      | <p><em>enum Type, (default:White)</em><br></p><ul><li>White</li><li>Pink</li><li>Brownian</li></ul><p><em>double Amplitude, (default:0.8)</em><br></p>                                                                                                                                                                                                                                                             | Generates 'white', 'pink' or 'brown' noise.                                                                                                                                                          |
| Tone:        | Tone...       | <p><em>double Frequency, (default:440)</em></p><p><em>double Amplitude, (default:0.8)</em><br><em>enum Waveform, (default:Sine)</em><br></p><ul><li>Sine</li><li>Square</li><li>Sawtooth</li><li>Square, no alias</li></ul><p><em>enum Interpolation, (default:Linear)</em><br></p><ul><li>Linear</li><li>Logarithmic</li></ul>                                                                                    | Generates one of four different tone waveforms: *Sine*, *Square*, *Sawtooth* or *Square (no alias)*, and a frequency between 1 Hz and *half the current project rate*.                               |

### Generate: Nyquist

Shows the list of available Nyquist effects but only if the user has effects "Grouped by Type" in Effects Preferences.

| Scripting Id | Action          | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Description                                                                                                    |
| ------------ | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| Pluck:       | Pluck...        | <p><em>int pitch, (default:0)</em></p><p><em>enum fade, (default:Abrupt)</em><br></p><ul><li>Abrupt</li><li>Gradual</li></ul><p><em>double dur, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                              | A synthesized pluck tone with abrupt or gradual fade-out, and selectable pitch corresponding to a *MIDI* note. |
| RhythmTrack: | Rhythm Track... | <p><em>double tempo, (default:0)</em></p><p><em>int timesig, (default:0)</em><br><em>double swing, (default:0)</em><br><em>int bars, (default:0)</em><br><em>double click-track-dur, (default:0)</em><br><em>double offset, (default:0)</em><br><em>enum click-type, (default:Metronome)</em><br></p><ul><li>Metronome</li><li>Ping (short)</li><li>Ping (long)</li><li>Cowbell</li><li>ResonantNoise</li><li>NoiseClick</li><li>Drip (short)</li><li>Drip (long)</li></ul><p><em>int high, (default:0)</em><br><em>int low, (default:0)</em><br></p> | Generates a track with regularly spaced sounds at a specified tempo and number of beats per measure (bar).     |
| RissetDrum:  | Risset Drum...  | <p><em>double freq, (default:0)</em></p><p><em>double decay, (default:0)</em><br><em>double cf, (default:0)</em><br><em>double bw, (default:0)</em><br><em>double noise, (default:0)</em><br><em>double gain, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                | Produces a realistic drum sound.                                                                               |

## Effects Menu

Audacity includes many built-in effects and also lets you use a wide range of plugin effects.

| Scripting Id      | Action             | Parameters | Description                                                                                                                                                                                                                                                                                                                                               |
| ----------------- | ------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ManageEffects:    | Plugin Manager     | *none*     | Selecting this option from the Effect Menu (or the Generate Menu or Analyze Menu) takes you to a dialog where you can enable or disable particular Effects, Generators and Analyzers in Audacity. Even if you do not add any third-party plugins, you can use this to make the Effect menu shorter or longer as required. For details see Plugin Manager. |
| RepeatLastEffect: | Repeat Last Effect | *none*     | Repeats the last used effect at its last used settings and without displaying any dialog.                                                                                                                                                                                                                                                                 |
| LADSPA:           | LADSPA             | *none*     | Shows the list of available LADSPA effects but only if the user has effects "Grouped by Type" in Effects Preferences.                                                                                                                                                                                                                                     |

### Effect: Built-in

No special notes for Built-in

| Scripting Id           | Action                    | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Amplify:               | Amplify...                | <p><em>float Ratio, (default:0.9)</em></p><p><em>bool AllowClipping, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Increases or decreases the volume of the audio you have selected.                                                                                                                                                                                                                                                                                                                                                                                                         |
| AutoDuck:              | Auto Duck...              | <p><em>double DuckAmountDb, (default:-12)</em></p><p><em>double InnerFadeDownLen, (default:0)</em><br><em>double InnerFadeUpLen, (default:0)</em><br><em>double OuterFadeDownLen, (default:0.5)</em><br><em>double OuterFadeUpLen, (default:0.5)</em><br><em>double ThresholdDb, (default:-30)</em><br><em>double MaximumPause, (default:1)</em><br></p>                                                                                                                                                                                                                                                                       | Reduces (ducks) the volume of one or more tracks whenever the volume of a specified "control" track reaches a particular level. Typically used to make a music track softer whenever speech in a commentary track is heard.                                                                                                                                                                                                                                               |
| BassAndTreble:         | Bass and Treble...        | <p><em>double Bass, (default:0)</em></p><p><em>double Treble, (default:0)</em><br><em>double Gain, (default:0)</em><br><em>bool Link Sliders, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Increases or decreases the lower *frequencies* and higher frequencies of your audio independently; behaves just like the bass and treble controls on a stereo system.                                                                                                                                                                                                                                                                                                     |
| ChangePitch:           | Change Pitch...           | <p><em>double Percentage, (default:0)</em></p><p><em>bool SBSMS, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Change the pitch of a selection without changing its tempo.                                                                                                                                                                                                                                                                                                                                                                                                               |
| ChangeSpeed:           | Change Speed...           | <p><em>double Percentage, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Change the speed of a selection, also changing its pitch.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ChangeTempo:           | Change Tempo...           | <p><em>double Percentage, (default:0)</em></p><p><em>bool SBSMS, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Change the tempo and length (duration) of a selection without changing its pitch.                                                                                                                                                                                                                                                                                                                                                                                         |
| ClickRemoval:          | Click Removal...          | <p><em>int Threshold, (default:200)</em></p><p><em>int Width, (default:20)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Click Removal is designed to remove clicks on audio tracks and is especially suited to declicking recordings made from vinyl records.                                                                                                                                                                                                                                                                                                                                     |
| Compressor:            | Compressor...             | <p><em>double Threshold, (default:-12)</em></p><p><em>double NoiseFloor, (default:-40)</em><br><em>double Ratio, (default:2)</em><br><em>double AttackTime, (default:0.2)</em><br><em>double ReleaseTime, (default:1)</em><br><em>bool Normalize, (default:True)</em><br><em>bool UsePeak, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                        | Compresses the *dynamic range* by two alternative methods. The default "*RMS*" method makes the louder parts softer, but leaves the quieter audio alone. The alternative "peaks" method makes the entire audio louder, but amplifies the louder parts less than the quieter parts. Make-up *gain* can be applied to either method, making the result as loud as possible without *clipping*, but not changing the dynamic range further.                                  |
| Distortion:            | Distortion...             | <p><em>enum Type, (default:Hard Clipping)</em><br></p><ul><li>Hard Clipping</li><li>Soft Clipping</li><li>Soft Overdrive</li><li>Medium Overdrive</li><li>Hard Overdrive</li><li>Cubic Curve (odd harmonics)</li><li>Even Harmonics</li><li>Expand and Compress</li><li>Leveller</li><li>Rectifier Distortion</li><li>Hard Limiter 1413</li></ul><p><em>bool DC Block, (default:False)</em><br><em>double Threshold dB, (default:-6)</em><br><em>double Noise Floor, (default:-70)</em><br><em>double Parameter 1, (default:50)</em><br><em>double Parameter 2, (default:50)</em><br><em>int Repeats, (default:1)</em><br></p> | Use the Distortion effect to make the audio sound distorted. By distorting the waveform the frequency content is changed, which will often make the sound "crunchy" or "abrasive". Technically this effect is a [waveshaper](https://en.wikipedia.org/wiki/Waveshaper). The result of waveshaping is equivalent to applying non-linear amplification to the audio waveform. Preset shaping functions are provided, each of which produces a different type of distortion. |
| Echo:                  | Echo...                   | <p><em>float Delay, (default:1)</em></p><p><em>float Decay, (default:0.5)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Repeats the selected audio again and again, normally softer each time and normally not blended into the original sound until some time after it starts. The delay time between each repeat is fixed, with no pause in between each repeat. For a more configurable echo effect with a variable delay time and pitch-changed echoes, see Delay.                                                                                                                            |
| FadeIn:                | Fade In                   | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Applies a *linear* fade-in to the selected audio - the rapidity of the fade-in depends entirely on the length of the selection it is applied to. For a more customizable *logarithmic* fade, use the Envelope Tool on the Tools Toolbar.                                                                                                                                                                                                                                  |
| FadeOut:               | Fade Out                  | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | <p>Applies a <em>linear</em> fade-out to the selected audio - the rapidity of the fade-out depends entirely on the length of the selection it is applied to. For a more customizable <em>logarithmic</em> fade, use the Envelope Tool on the Tools Toolbar.<br></p>                                                                                                                                                                                                       |
| FilterCurve:           | Filter Curve...           | <p><em>size\_t FilterLength, (default:8191)</em></p><p><em>bool InterpolateLin, (default:False)</em><br><em>enum InterpolationMethod, (default:B-spline)</em><br></p><ul><li>B-spline</li><li>Cosine</li><li>Cubic</li></ul><p><em>double f0, (default:0)</em><br><em>double v0, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                      | Adjusts the volume levels of particular frequencies                                                                                                                                                                                                                                                                                                                                                                                                                       |
| GraphicEq:             | Graphic EQ...             | <p><em>size\_t FilterLength, (default:8191)</em></p><p><em>bool InterpolateLin, (default:False)</em><br><em>enum InterpolationMethod, (default:B-spline)</em><br></p><ul><li>B-spline</li><li>Cosine</li><li>Cubic</li></ul><p><em>double f0, (default:0)</em><br><em>double v0, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                      | Adjusts the volume levels of particular frequencies                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Invert:                | Invert                    | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | This effect flips the audio samples upside-down. This normally does not affect the sound of the audio at all. It is occasionally useful for vocal removal.                                                                                                                                                                                                                                                                                                                |
| LoudnessNormalization: | Loudness Normalization... | <p><em>bool StereoIndependent, (default:False)</em></p><p><em>double LUFSLevel, (default:-23)</em><br><em>double RMSLevel, (default:-20)</em><br><em>bool DualMono, (default:True)</em><br><em>int NormalizeTo, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                       | Changes the perceived loudness of the audio.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| NoiseReduction:        | Noise Reduction...        | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | <p><del>This effect is ideal for reducing constant background noise such as fans, tape noise, or hums. It will not work very well for removing talking or music in the background. More details here</del><br>This effect is not currently available from scripting.</p>                                                                                                                                                                                                  |
| Normalize:             | Normalize...              | <p><em>double PeakLevel, (default:-1)</em></p><p><em>bool ApplyGain, (default:True)</em><br><em>bool RemoveDcOffset, (default:True)</em><br><em>bool StereoIndependent, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                           | Use the Normalize effect to set the maximum amplitude of a track, equalize the amplitudes of the left and right channels of a stereo track and optionally remove any DC offset from the track                                                                                                                                                                                                                                                                             |
| Paulstretch:           | Paulstretch...            | <p><em>float Stretch Factor, (default:10)</em></p><p><em>float Time Resolution, (default:0.25)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Use Paulstretch only for an extreme time-stretch or "stasis" effect, This may be useful for synthesizer pad sounds, identifying performance glitches or just creating interesting aural textures. Use Change Tempo or Sliding Time Scale rather than Paulstretch for tasks like slowing down a song to a "practice" tempo.                                                                                                                                                |
| Phaser:                | Phaser...                 | <p><em>int Stages, (default:2)</em></p><p><em>int DryWet, (default:128)</em><br><em>double Freq, (default:0.4)</em><br><em>double Phase, (default:0)</em><br><em>int Depth, (default:100)</em><br><em>int Feedback, (default:0)</em><br><em>double Gain, (default:-6)</em><br></p>                                                                                                                                                                                                                                                                                                                                             | The name "Phaser" comes from "Phase Shifter", because it works by combining phase-shifted signals with the original signal. The movement of the phase-shifted signals is controlled using a Low *Frequency* Oscillator (LFO).                                                                                                                                                                                                                                             |
| Repair:                | Repair                    | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Fix one particular short click, pop or other glitch no more than 128 samples long.                                                                                                                                                                                                                                                                                                                                                                                        |
| Repeat:                | Repeat...                 | <p><em>int Count, (default:1)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Repeats the selection the specified number of times.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Reverb:                | Reverb...                 | <p><em>double RoomSize, (default:75)</em></p><p><em>double Delay, (default:10)</em><br><em>double Reverberance, (default:50)</em><br><em>double HfDamping, (default:50)</em><br><em>double ToneLow, (default:100)</em><br><em>double ToneHigh, (default:100)</em><br><em>double WetGain, (default:-1)</em><br><em>double DryGain, (default:-1)</em><br><em>double StereoWidth, (default:100)</em><br><em>bool WetOnly, (default:False)</em><br></p>                                                                                                                                                                            | A configurable stereo reverberation effect with built-in and user-added presets. It can be used to add ambience (an impression of the space in which a sound occurs) to a mono sound. Also use it to increase reverberation in stereo audio that sounds too "dry" or "close".                                                                                                                                                                                             |
| Reverse:               | Reverse                   | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Reverses the selected audio; after the effect the end of the audio will be heard first and the beginning last.                                                                                                                                                                                                                                                                                                                                                            |
| SlidingStretch:        | Sliding Stretch...        | <p><em>double RatePercentChangeStart, (default:0)</em></p><p><em>double RatePercentChangeEnd, (default:0)</em><br><em>double PitchHalfStepsStart, (default:0)</em><br><em>double PitchHalfStepsEnd, (default:0)</em><br><em>double PitchPercentChangeStart, (default:0)</em><br><em>double PitchPercentChangeEnd, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                     | This effect allows you to make a continuous change to the tempo and/or pitch of a selection by choosing initial and/or final change values.                                                                                                                                                                                                                                                                                                                               |
| TruncateSilence:       | Truncate Silence...       | <p><em>double Threshold, (default:-20)</em></p><p><em>enum Action, (default:Truncate Detected Silence)</em><br></p><ul><li>Truncate Detected Silence</li><li>Compress Excess Silence</li></ul><p><em>double Minimum, (default:0.5)</em><br><em>double Truncate, (default:0.5)</em><br><em>double Compress, (default:50)</em><br><em>bool Independent, (default:False)</em><br></p>                                                                                                                                                                                                                                             | Automatically try to find and eliminate audible silences. Do not use this with faded audio.                                                                                                                                                                                                                                                                                                                                                                               |
| Wahwah:                | Wahwah...                 | <p><em>double Freq, (default:1.5)</em></p><p><em>double Phase, (default:0)</em><br><em>int Depth, (default:70)</em><br><em>double Resonance, (default:2.5)</em><br><em>int Offset, (default:30)</em><br><em>double Gain, (default:-6)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                             | Rapid tone quality variations, like that guitar sound so popular in the 1970's.                                                                                                                                                                                                                                                                                                                                                                                           |

### Effect: Nyquist

No special notes for Nyquist

| Scripting Id                | Action                           | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Description                                                                                                                                                                                                                                                                                                                                                                            |
| --------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AdjustableFade:             | Adjustable Fade...               | <p><em>enum type, (default:Up)</em><br></p><ul><li>Up</li><li>Down</li><li>SCurveUp</li><li>SCurveDown</li></ul><p><em>double curve, (default:0)</em><br><em>enum units, (default:Percent)</em><br></p><ul><li>Percent</li><li>dB</li></ul><p><em>double gain0, (default:0)</em><br><em>double gain1, (default:0)</em><br><em>enum preset, (default:None)</em><br></p><ul><li>None</li><li>LinearIn</li><li>LinearOut</li><li>ExponentialIn</li><li>ExponentialOut</li><li>LogarithmicIn</li><li>LogarithmicOut</li><li>RoundedIn</li><li>RoundedOut</li><li>CosineIn</li><li>CosineOut</li><li>SCurveIn</li><li>SCurveOut</li></ul> | enables you to control the shape of the fade (non-linear fading) to be applied by adjusting various parameters; allows partial *(that is not from or to zero)* fades up or down.                                                                                                                                                                                                       |
| ClipFix:                    | Clip Fix...                      | <p><em>double threshold, (default:0)</em></p><p><em>double gain, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Clip Fix attempts to reconstruct clipped regions by interpolating the lost signal.                                                                                                                                                                                                                                                                                                     |
| CrossfadeClips:             | Crossfade Clips                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Use Crossfade Clips to apply a simple crossfade to a selected pair of clips in a single audio track.                                                                                                                                                                                                                                                                                   |
| CrossfadeTracks:            | Crossfade Tracks...              | <p><em>enum type, (default:ConstantGain)</em><br></p><ul><li>ConstantGain</li><li>ConstantPower1</li><li>ConstantPower2</li><li>CustomCurve</li></ul><p><em>double curve, (default:0)</em><br><em>enum direction, (default:Automatic)</em><br></p><ul><li>Automatic</li><li>OutIn</li><li>InOut</li></ul>                                                                                                                                                                                                                                                                                                                            | Use Crossfade Tracks to make a smooth transition between two overlapping tracks one above the other. Place the track to be faded out above the track to be faded in then select the overlapping region in both tracks and apply the effect.                                                                                                                                            |
| Delay:                      | Delay...                         | <p><em>enum delay-type, (default:Regular)</em><br></p><ul><li>Regular</li><li>BouncingBall</li><li>ReverseBouncingBall</li></ul><p><em>double dgain, (default:0)</em><br><em>double delay, (default:0)</em><br><em>enum pitch-type, (default:PitchTempo)</em><br></p><ul><li>PitchTempo</li><li>LQPitchShift</li></ul><p><em>double shift, (default:0)</em><br><em>int number, (default:0)</em><br><em>enum constrain, (default:Yes)</em><br></p><ul><li>Yes</li><li>No</li></ul>                                                                                                                                                    | A configurable delay effect with variable delay time and pitch shifting of the delays.                                                                                                                                                                                                                                                                                                 |
| High-passFilter:            | High-Pass Filter...              | <p><em>double frequency, (default:0)</em></p><p><em>enum rolloff, (default:dB6)</em><br></p><ul><li>dB6</li><li>dB12</li><li>dB24</li><li>dB36</li><li>dB48</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Passes frequencies above its cutoff frequency and attenuates frequencies below its cutoff frequency.                                                                                                                                                                                                                                                                                   |
| Limiter:                    | Limiter...                       | <p><em>enum type, (default:SoftLimit)</em><br></p><ul><li>SoftLimit</li><li>HardLimit</li><li>SoftClip</li><li>HardClip</li></ul><p><em>double gain-L, (default:0)</em><br><em>double gain-R, (default:0)</em><br><em>double thresh, (default:0)</em><br><em>double hold, (default:0)</em><br><em>enum makeup, (default:No)</em><br></p><ul><li>No</li><li>Yes</li></ul>                                                                                                                                                                                                                                                             | Limiter passes signals below a specified input level unaffected or gently reduced, while preventing the peaks of stronger signals from exceeding this threshold. Mastering engineers often use this type of dynamic range compression combined with make-up gain to increase the perceived loudness of an audio recording during the audio mastering process.                          |
| Low-passFilter:             | Low-Pass Filter...               | <p><em>double frequency, (default:0)</em></p><p><em>enum rolloff, (default:dB6)</em><br></p><ul><li>dB6</li><li>dB12</li><li>dB24</li><li>dB36</li><li>dB48</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Passes frequencies below its cutoff frequency and attenuates frequencies above its cutoff frequency.                                                                                                                                                                                                                                                                                   |
| NotchFilter:                | Notch Filter...                  | <p><em>double frequency, (default:0)</em></p><p><em>double q, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Greatly attenuate ("notch out"), a narrow frequency band. This is a good way to remove mains hum or a whistle confined to a specific frequency with minimal damage to the remainder of the audio.                                                                                                                                                                                      |
| SpectralEditMultiTool:      | Spectral edit multi tool         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | When the selected track is in spectrogram or spectrogram log(f) view, applies a *notch filter*, *high pass filter* or *low pass filter* according to the spectral selection made. This effect can also be used to change the audio quality as an alternative to using Equalization.                                                                                                    |
| SpectralEditParametricEq:   | Spectral edit parametric EQ...   | <p><em>double control-gain, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | When the selected track is in spectrogram or spectrogram log(f) view and the spectral selection has a center frequency and an upper and lower boundary, performs the specified *band cut* or *band boost*. This can be used as an alternative to Equalization or may also be useful to repair damaged audio by reducing frequency spikes or boosting other frequencies to mask spikes. |
| SpectralEditShelves:        | Spectral edit shelves...         | <p><em>double control-gain, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | When the selected track is in spectrogram or spectrogram log(f) view, applies either a low- or high-frequency shelving filter or both filters, according to the spectral selection made. This can be used as an alternative to Equalization or may also be useful to repair damaged audio by reducing frequency spikes or boosting other frequencies to mask spikes.                   |
| StudioFadeOut:              | Studio Fade Out                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Applies a more musical fade out to the selected audio, giving a more pleasing sounding result.                                                                                                                                                                                                                                                                                         |
| Tremolo:                    | Tremolo...                       | <p><em>enum wave, (default:Sine)</em><br></p><ul><li>Sine</li><li>Triangle</li><li>Sawtooth</li><li>InverseSawtooth</li><li>Square</li></ul><p><em>int phase, (default:0)</em><br><em>int wet, (default:0)</em><br><em>double lfo, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                          | Modulates the volume of the selection at the depth and rate selected in the dialog. The same as the tremolo effect familiar to guitar and keyboard players.                                                                                                                                                                                                                            |
| VocalReductionAndIsolation: | Vocal Reduction and Isolation... | <p><em>enum action, (default:RemoveToMono)</em><br></p><ul><li>RemoveToMono</li><li>Remove</li><li>Isolate</li><li>IsolateInvert</li><li>RemoveCenterToMono</li><li>RemoveCenter</li><li>IsolateCenter</li><li>IsolateCenterInvert</li><li>Analyze</li></ul><p><em>double strength, (default:0)</em><br><em>double low-transition, (default:0)</em><br><em>double high-transition, (default:0)</em><br></p>                                                                                                                                                                                                                          | Attempts to remove or isolate center-panned audio from a stereo track. Most "Remove" options in this effect preserve the stereo image.                                                                                                                                                                                                                                                 |
| Vocoder:                    | Vocoder...                       | <p><em>double dst, (default:0)</em></p><p><em>enum mst, (default:BothChannels)</em><br></p><ul><li>BothChannels</li><li>RightOnly</li></ul><p><em>int bands, (default:0)</em><br><em>double track-vl, (default:0)</em><br><em>double noise-vl, (default:0)</em><br><em>double radar-vl, (default:0)</em><br><em>double radar-f, (default:0)</em><br></p>                                                                                                                                                                                                                                                                             | Synthesizes audio (usually a voice) in the left channel of a stereo track with a *carrier wave* (typically white noise) in the right channel to produce a modified version of the left channel. Vocoding a normal voice with white noise will produce a robot-like voice for special effects.                                                                                          |

## Analyze Menu

The Analyze Menu contains tools for finding out about the characteristics of your audio, or labeling key feature.

| Scripting Id      | Action           | Parameters                                                                                           | Description                                                                                                                                                                                                                                                                                                                                               |
| ----------------- | ---------------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ManageAnalyzers:  | Plugin Manager   | *none*                                                                                               | Selecting this option from the Effect Menu (or the Generate Menu or Analyze Menu) takes you to a dialog where you can enable or disable particular Effects, Generators and Analyzers in Audacity. Even if you do not add any third-party plugins, you can use this to make the Effect menu shorter or longer as required. For details see Plugin Manager. |
| ContrastAnalyser: | Contrast...      | *none*                                                                                               | Analyzes a single mono or stereo speech track to determine the average *RMS* *difference in volume* (contrast) between foreground speech and background music, audience noise or similar. The purpose is to determine if the speech will be intelligible to the hard of hearing.                                                                          |
| PlotSpectrum:     | Plot Spectrum... | *none*                                                                                               | Takes the selected audio (which is a set of sound pressure values at points in time) and converts it to a graph of frequencies against *amplitudes*.                                                                                                                                                                                                      |
| FindClipping:     | Find Clipping... | <p><em>int Duty Cycle Start, (default:3)</em></p><p><em>int Duty Cycle End, (default:3)</em><br></p> | Displays runs of *clipped* samples in a Label Track, as a screen-reader accessible alternative to View > Show Clipping. A run must include at least one clipped sample, but may include unclipped samples too.                                                                                                                                            |

### Analyze: Nyquist

No special notes for Nyquist

| Scripting Id | Action          | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Description                                                                                                                                                                                                                                                                                                               |
| ------------ | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| BeatFinder:  | Beat Finder...  | <p><em>int thresval, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                           | Attempts to place labels at beats which are much louder than the surrounding audio. It's a fairly rough and ready tool, and will not necessarily work well on a typical modern pop music track with compressed *dynamic range*. If you do not get enough beats detected, try reducing the "Threshold Percentage" setting. |
| LabelSounds: | Label Sounds... | <p><em>double threshold, (default:0)</em></p><p><em>enum measurement, (default:peak)</em><br></p><ul><li>peak</li><li>avg</li><li>rms</li></ul><p><em>double sil-dur, (default:0)</em><br><em>double snd-dur, (default:0)</em><br><em>enum type, (default:before)</em><br></p><ul><li>before</li><li>after</li><li>around</li><li>between</li></ul><p><em>double pre-offset, (default:0)</em><br><em>double post-offset, (default:0)</em><br><em>string text, (default:"")</em><br></p> | Divides up a track by placing labels for areas of sound that are separated by silence.                                                                                                                                                                                                                                    |

## Tools Menu

The Tools Menu contains customisable tools.

| Scripting Id             | Action                       | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Description                                                                                                                                                                                                                                                                                                                                               |
| ------------------------ | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ManageTools:             | Plugin Manager               | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Selecting this option from the Effect Menu (or the Generate Menu or Analyze Menu) takes you to a dialog where you can enable or disable particular Effects, Generators and Analyzers in Audacity. Even if you do not add any third-party plugins, you can use this to make the Effect menu shorter or longer as required. For details see Plugin Manager. |
| ManageMacros:            | Macros...                    | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Creates a new macro or edits an existing macro.                                                                                                                                                                                                                                                                                                           |
| Apply Macro:             | Apply Macro                  | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Displays a menu with list of all your Macros. Selecting any of these Macros by clicking on it will cause that Macro to be applied to the current project.                                                                                                                                                                                                 |
| Screenshot:              | Screenshot...                | <p><em>string Path, (default:)</em></p><p><em>enum CaptureWhat, (default:Window)</em><br></p><ul><li>Window</li><li>FullWindow</li><li>WindowPlus</li><li>Fullscreen</li><li>Toolbars</li><li>Effects</li><li>Scriptables</li><li>Preferences</li><li>Selectionbar</li><li>SpectralSelection</li><li>Timer</li><li>Tools</li><li>Transport</li><li>Mixer</li><li>Meter</li><li>PlayMeter</li><li>RecordMeter</li><li>Edit</li><li>Device</li><li>Scrub</li><li>Play-at-Speed</li><li>Trackpanel</li><li>Ruler</li><li>Tracks</li><li>FirstTrack</li><li>FirstTwoTracks</li><li>FirstThreeTracks</li><li>FirstFourTracks</li><li>SecondTrack</li><li>TracksPlus</li><li>FirstTrackPlus</li><li>AllTracks</li><li>AllTracksPlus</li></ul><p><em>enum Background, (default:None)</em><br></p><ul><li>Blue</li><li>White</li><li>None</li></ul><p><em>bool ToTop, (default:True)</em><br></p> | A tool, mainly used in documentation, to capture screenshots of Audacity.                                                                                                                                                                                                                                                                                 |
| Benchmark:               | Run Benchmark...             | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | A tool for measuring the performance of one part of Audacity.                                                                                                                                                                                                                                                                                             |
| NyquistPrompt:           | Nyquist Prompt...            | <p><em>string Command, (default:)</em></p><p><em>int Version, (default:3)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Brings up a dialog where you can enter Nyquist commands. Nyquist is a programming language for generating, processing and analyzing audio. For more information see [Nyquist Plugins Reference](http://wiki.audacityteam.org/wiki/Nyquist_Plugins_Reference).                                                                                             |
| NyquistPlug-inInstaller: | Nyquist Plug-in Installer... | <p><em>string files, (default:)</em></p><p><em>enum overwrite, (default:Disallow)</em><br></p><ul><li>Disallow</li><li>Allow</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | A Nyquist plugin that simplifies the installation of other Nyquist plugins.                                                                                                                                                                                                                                                                               |
| RegularIntervalLabels:   | Regular Interval Labels...   | <p><em>enum mode, (default:Both)</em><br></p><ul><li>Both</li><li>Number</li><li>Interval</li></ul><p><em>int totalnum, (default:0)</em><br><em>double interval, (default:0)</em><br><em>double region, (default:0)</em><br><em>enum adjust, (default:No)</em><br></p><ul><li>No</li><li>Yes</li></ul><p><em>string labeltext, (default:)</em><br><em>enum zeros, (default:TextOnly)</em><br></p><ul><li>TextOnly</li><li>OneBefore</li><li>TwoBefore</li><li>ThreeBefore</li><li>OneAfter</li><li>TwoAfter</li><li>ThreeAfter</li></ul><p><em>int firstnum, (default:0)</em><br><em>enum verbose, (default:Details)</em><br></p><ul><li>Details</li><li>Warnings</li><li>None</li></ul>                                                                                                                                                                                                  | Places labels in a long track so as to divide it into smaller, equally sized segments.                                                                                                                                                                                                                                                                    |
| SampleDataExport:        | Sample Data Export...        | <p><em>int number, (default:0)</em></p><p><em>enum units, (default:dB)</em><br></p><ul><li>dB</li><li>Linear</li></ul><p><em>string filename, (default:)</em><br><em>enum fileformat, (default:None)</em><br></p><ul><li>None</li><li>Count</li><li>Time</li></ul><p><em>enum header, (default:None)</em><br></p><ul><li>None</li><li>Minimal</li><li>Standard</li><li>All</li></ul><p><em>string optext, (default:)</em><br><em>enum channel-layout, (default:SameLine)</em><br></p><ul><li>SameLine</li><li>Alternate</li><li>LFirst</li></ul><p><em>enum messages, (default:Yes)</em><br></p><ul><li>Yes</li><li>Errors</li><li>None</li></ul>                                                                                                                                                                                                                                         | Reads the values of successive samples from the selected audio and prints this data to a plain text, CSV or HTML file.                                                                                                                                                                                                                                    |
| SampleDataImport:        | Sample Data Import...        | <p><em>string filename, (default:)</em></p><p><em>enum bad-data, (default:ThrowError)</em><br></p><ul><li>ThrowError</li><li>ReadAsZero</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Reads numeric values from a plain ASCII text file and creates a PCM sample for each numeric value read.                                                                                                                                                                                                                                                   |

### Tools: Apply Macro

Displays a menu with list of all your Macros. Selecting any of these Macros by clicking on it will cause that Macro to be applied to the current project.

| Scripting Id          | Action         | Parameters | Description                                                                                                  |
| --------------------- | -------------- | ---------- | ------------------------------------------------------------------------------------------------------------ |
| ApplyMacrosPalette:   | Palette...     | *none*     | Displays a menu with list of all your Macros which can be applied to the current project or to audio files.. |
| Macro\_FadeEnds:      | Fade Ends      | *none*     | Fades in the first second and fades out the last second of a track.                                          |
| Macro\_MP3Conversion: | MP3 Conversion | *none*     | Converts MP3.                                                                                                |

## Extra Menu

The Extra menu provides access to additional Commands that are not available in the normal default Audacity menus.

| Scripting Id     | Action               | Parameters | Description                               |
| ---------------- | -------------------- | ---------- | ----------------------------------------- |
| PlayAtSpeed:     | Play-at-Speed        | *none*     | Extra commands related to play at speed   |
| FullScreenOnOff: | Full Screen (on/off) | *none*     | Toggle full screen mode with no title bar |

### Extra: Transport

Extra commands related to play and record

| Scripting Id                      | Action                                | Parameters | Description                                                                                                                                                          |
| --------------------------------- | ------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Play:                             | Play                                  | *none*     | Play (or stop) audio                                                                                                                                                 |
| Stop:                             | Stop                                  | *none*     | Stop audio                                                                                                                                                           |
| PlayOneSec:                       | Play One Second                       | *none*     | Plays for one second centered on the current mouse pointer position (not from the current cursor position). See this page for an example.                            |
| PlayToSelection:                  | Play to Selection                     | *none*     | Plays to or from the current mouse pointer position to or from the start or end of the selection, depending on the pointer position. See this page for more details. |
| PlayBeforeSelectionStart:         | Play Before Selection Start           | *none*     | Plays a short period before the start of the selected audio, the period before shares the setting of the cut preview.                                                |
| PlayAfterSelectionStart:          | Play After Selection Start            | *none*     | Plays a short period after the start of the selected audio, the period after shares the setting of the cut preview.                                                  |
| PlayBeforeSelectionEnd:           | Play Before Selection End             | *none*     | Plays a short period before the end of the selected audio, the period before shares the setting of the cut preview.                                                  |
| PlayAfterSelectionEnd:            | Play After Selection End              | *none*     | Plays a short period after the end of the selected audio, the period after shares the setting of the cut preview.                                                    |
| PlayBeforeAndAfterSelectionStart: | Play Before and After Selection Start | *none*     | Plays a short period before and after the start of the selected audio, the periods before and after share the setting of the cut preview.                            |
| PlayBeforeAndAfterSelectionEnd:   | Play Before and After Selection End   | *none*     | Plays a short period before and after the end of the selected audio, the periods before and after share the setting of the cut preview.                              |
| PlayCutPreview:                   | Play Cut Preview                      | *none*     | Plays audio excluding the selection                                                                                                                                  |

### Extra: Tools

Extra commands to select the tool, for example time-shift, envelopes, multi-tool.

| Scripting Id  | Action         | Parameters | Description                                                                                                                                                                                     |
| ------------- | -------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SelectTool:   | Selection Tool | *none*     | Chooses Selection tool.                                                                                                                                                                         |
| EnvelopeTool: | Envelope Tool  | *none*     | Chooses Envelope tool.                                                                                                                                                                          |
| DrawTool:     | Draw Tool      | *none*     | Chooses Draw tool.                                                                                                                                                                              |
| ZoomTool:     | Zoom Tool      | *none*     | Chooses Zoom tool.                                                                                                                                                                              |
| MultiTool:    | Multi Tool     | *none*     | Chooses the Multi-Tool                                                                                                                                                                          |
| PrevTool:     | Previous Tool  | *none*     | Cycles backwards through the tools, starting from the currently selected tool: starting from Selection, it would navigate to Multi-tool to Time Shift to Zoom to Draw to Envelope to Selection. |
| NextTool:     | Next Tool      | *none*     | Cycles forwards through the tools, starting from the currently selected tool: starting from Selection, it would navigate to Envelope to Draw to Zoom to Time Shift to Multi-tool to Selection.  |

### Extra: Mixer

Extra commands related to volume

| Scripting Id   | Action                     | Parameters | Description                                                                                                                                                                           |
| -------------- | -------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| OutputGain:    | Adjust Playback Volume...  | *none*     | Displays the Playback Volume dialog. You can type a new value for the playback volume (between 0 and 1), or press Tab, then use the left and right arrow keys to adjust the slider.   |
| OutputGainInc: | Increase Playback Volume   | *none*     | Each key press will increase the playback volume by 0.1.                                                                                                                              |
| OutputGainDec: | Decrease Playback Volume   | *none*     | Each key press will decrease the playback volume by 0.1.                                                                                                                              |
| InputGain:     | Adjust Recording Volume... | *none*     | Displays the Recording Volume dialog. You can type a new value for the recording volume (between 0 and 1), or press Tab, then use the left and right arrow keys to adjust the slider. |
| InputGainInc:  | Increase Recording Volume  | *none*     | Each key press will increase the recording volume by 0.1.                                                                                                                             |
| InputGainDec:  | Decrease Recording Volume  | *none*     | Each key press will decrease the recording volume by 0.1.                                                                                                                             |

### Extra: Mixer

Extra commands related to editing

| Scripting Id | Action      | Parameters | Description                                                                                                                                          |
| ------------ | ----------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| DeleteKey:   | Delete Key  | *none*     | Deletes the selection. When focus is in Selection Toolbar, BACKSPACE is not a shortcut but navigates back to the previous digit and sets it to zero. |
| DeleteKey2:  | Delete Key2 | *none*     | Deletes the selection.                                                                                                                               |

### Extra: Play-at-Speed

Extra commands related to play at speed

| Scripting Id           | Action                    | Parameters | Description                                                                                                                                                                        |
| ---------------------- | ------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| PlayAtSpeed:           | Normal Play-at-Speed      | *none*     | Play audio at a faster or slower speed                                                                                                                                             |
| PlayAtSpeedLooped:     | Loop Play-at-Speed        | *none*     | Combines looped play and play at speed                                                                                                                                             |
| PlayAtSpeedCutPreview: | Play Cut Preview-at-Speed | *none*     | Combines cut preview and play at speed                                                                                                                                             |
| SetPlaySpeed:          | Adjust Playback Speed...  | *none*     | Displays the Playback Speed dialog. You can type a new value for the playback volume (between 0 and 1), or press Tab, then use the left and right arrow keys to adjust the slider. |
| PlaySpeedInc:          | Increase Playback Speed   | *none*     | Each key press will increase the playback speed by 0.1.                                                                                                                            |
| PlaySpeedDec:          | Decrease Playback Speed   | *none*     | Each key press will decrease the playback speed by 0.1.                                                                                                                            |
| MoveToPrevLabel:       | Move to Previous Label    | *none*     | Moves selection to the previous label                                                                                                                                              |
| MoveToNextLabel:       | Move to Next Label        | *none*     | Moves selection to the next label                                                                                                                                                  |

### Extra: Seek

Extra commands related to seeking

| Scripting Id    | Action                           | Parameters | Description                                              |
| --------------- | -------------------------------- | ---------- | -------------------------------------------------------- |
| SeekLeftShort:  | Short Seek Left During Playback  | *none*     | Skips the playback cursor back one second by default.    |
| SeekRightShort: | Short Seek Right During Playback | *none*     | Skips the playback cursor forward one second by default. |
| SeekLeftLong:   | Long Seek Left During Playback   | *none*     | Skips the playback cursor back 15 seconds by default.    |
| SeekRightLong:  | Long Seek Right During Playback  | *none*     | Skips the playback cursor forward 15 seconds by default. |

### Extra: Device

Extra commands related to selecting a device

| Scripting Id   | Action                       | Parameters | Description                                                                                                                                                                                                                         |
| -------------- | ---------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| InputDevice:   | Change Recording Device...   | *none*     | Displays the Select recording Device dialog for choosing the recording device, but only if the "Recording Device" dropdown menu in Device Toolbar has entries for devices. Otherwise, an recording error message will be displayed. |
| OutputDevice:  | Change Playback Device...    | *none*     | Displays the Select Playback Device dialog for choosing the playback device, but only if the "Playback Device" dropdown menu in Device Toolbar has entries for devices. Otherwise, an error message will be displayed.              |
| AudioHost:     | Change Audio Host...         | *none*     | Displays the Select Audio Host dialog for choosing the particular interface with which Audacity communicates with your chosen playback and recording devices.                                                                       |
| InputChannels: | Change Recording Channels... | *none*     | Displays the Select Recording Channels dialog for choosing the number of channels to be recorded by the chosen recording device.                                                                                                    |

### Extra: Selection

Extra commands related to selecting.

| Scripting Id    | Action                          | Parameters | Description                                                                                                                                                                                       |
| --------------- | ------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SnapToOff:      | Snap-To Off                     | *none*     | Equivalent to setting the Snap To control in Selection Toolbar to "Off".                                                                                                                          |
| SnapToNearest:  | Snap-To Nearest                 | *none*     | Equivalent to setting the Snap To control in Selection Toolbar to "Nearest".                                                                                                                      |
| SnapToPrior:    | Snap-To Prior                   | *none*     | Equivalent to setting the Snap To control in Selection Toolbar to "Prior".                                                                                                                        |
| SelStart:       | Selection to Start              | *none*     | Select from cursor to start of track                                                                                                                                                              |
| SelEnd:         | Selection to End                | *none*     | Select from cursor to end of track                                                                                                                                                                |
| SelExtLeft:     | Selection Extend Left           | *none*     | Increases the size of the selection by extending it to the left. The amount of increase is dependent on the zoom level. If there is no selection one is created starting at the cursor position.  |
| SelExtRight:    | Selection Extend Right          | *none*     | Increases the size of the selection by extending it to the right. The amount of increase is dependent on the zoom level. If there is no selection one is created starting at the cursor position. |
| SelSetExtLeft:  | Set (or Extend) Left Selection  | *none*     | Extend selection left a little (is this a duplicate?)                                                                                                                                             |
| SelSetExtRight: | Set (or Extend) Right Selection | *none*     | Extend selection right a litlle (is this a duplicate?)                                                                                                                                            |
| SelCntrLeft:    | Selection Contract Left         | *none*     | Decreases the size of the selection by contracting it from the right. The amount of decrease is dependent on the zoom level. If there is no selection no action is taken.                         |
| SelCntrRight:   | Selection Contract Right        | *none*     | Decreases the size of the selection by contracting it from the left. The amount of decrease is dependent on the zoom level. If there is no selection no action is taken.                          |

### Extra: Focus

Extra commands to set focus, usually focus on one track

| Scripting Id | Action                                | Parameters | Description                                                                                                                                                                                      |
| ------------ | ------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| PrevFrame:   | Move Backward from Toolbars to Tracks | *none*     | Move backward through currently focused toolbar in Upper Toolbar dock area, Track View and currently focused toolbar in Lower Toolbar dock area. Each use moves the keyboard focus as indicated. |
| NextFrame:   | Move Forward from Toolbars to Tracks  | *none*     | Move forward through currently focused toolbar in Upper Toolbar dock area, Track View and currently focused toolbar in Lower Toolbar dock area. Each use moves the keyboard focus as indicated.  |
| PrevTrack:   | Move Focus to Previous Track          | *none*     | Focus one track up                                                                                                                                                                               |
| NextTrack:   | Move Focus to Next Track              | *none*     | Focus one track down                                                                                                                                                                             |
| FirstTrack:  | Move Focus to First Track             | *none*     | Focus on first track                                                                                                                                                                             |
| LastTrack:   | Move Focus to Last Track              | *none*     | Focus on last track                                                                                                                                                                              |
| ShiftUp:     | Move Focus to Previous and Select     | *none*     | Focus one track up and select it                                                                                                                                                                 |
| ShiftDown:   | Move Focus to Next and Select         | *none*     | Focus one track down and select it                                                                                                                                                               |
| Toggle:      | Toggle Focused Track                  | *none*     | Toggle focus on current track                                                                                                                                                                    |
| ToggleAlt:   | Toggle Focused Track                  | *none*     | Toggle focus on current track                                                                                                                                                                    |

### Extra: Cursor

Extra commands to move the cursor

| Scripting Id          | Action                  | Parameters | Description                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------- | ----------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| CursorLeft:           | Cursor Left             | *none*     | When not playing audio, moves the editing cursor one screen pixel to left. When a Snap To option is chosen, moves the cursor to the preceding unit of time as determined by the current selection format. If the key is held down, the cursor speed depends on the length of the tracks. When playing audio, moves the playback cursor as described at "Cursor Short Jump Left"   |
| CursorRight:          | Cursor Right            | *none*     | When not playing audio, moves the editing cursor one screen pixel to right. When a Snap To option is chosen, moves the cursor to the following unit of time as determined by the current selection format. If the key is held down, the cursor speed depends on the length of the tracks. When playing audio, moves the playback cursor as described at "Cursor Short Jump Right" |
| CursorShortJumpLeft:  | Cursor Short Jump Left  | *none*     | When not playing audio, moves the editing cursor one second left by default. When playing audio, moves the playback cursor one second left by default. The default value can be changed by adjusting the "Short Period" under "Seek Time when playing" in Playback Preferences.                                                                                                   |
| CursorShortJumpRight: | Cursor Short Jump Right | *none*     | When not playing audio, moves the editing cursor one second right by default. When playing audio, moves the playback cursor one second right by default. The default value can be changed by adjusting the "Short Period" under "Seek Time when playing" in Playback Preferences.                                                                                                 |
| CursorLongJumpLeft:   | Cursor Long Jump Left   | *none*     | When not playing audio, moves the editing cursor 15 seconds left by default. When playing audio, moves the playback cursor 15 seconds left by default. The default value can be changed by adjusting the "Long Period" under "Seek Time when playing" in Playback Preferences.                                                                                                    |
| CursorLongJumpRight:  | Cursor Long Jump Right  | *none*     | When not playing audio, moves the editing cursor 15 seconds right by default. When playing audio, moves the playback cursor 15 seconds right by default. The default value can be changed by adjusting the "Long Period" under "Seek Time when playing" in Playback Preferences.                                                                                                  |
| ClipLeft:             | Clip Left               | *none*     | Moves the currently focused audio track (or a separate clip in that track which contains the editing cursor or selection region) one screen pixel to left.                                                                                                                                                                                                                        |
| ClipRight:            | Clip Right              | *none*     | Moves the currently focused audio track (or a separate clip in that track which contains the editing cursor or selection region) one screen pixel to right.                                                                                                                                                                                                                       |

### Extra: Track

Extra commands to operate on a track that has focus

| Scripting Id     | Action                          | Parameters | Description                                                                                                                                                                                                                                                                                                         |
| ---------------- | ------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| TrackPan:        | Change Pan on Focused Track...  | *none*     | Brings up the Pan dialog for the focused track where you can enter a pan value, or use the slider for finer control of panning than is available when using the track pan slider.                                                                                                                                   |
| TrackPanLeft:    | Pan Left on Focused Track       | *none*     | Controls the pan slider on the focused track. Each keypress changes the pan value by 10% left.                                                                                                                                                                                                                      |
| TrackPanRight:   | Pan Right on Focused Track      | *none*     | Controls the pan slider on the focused track. Each keypress changes the pan value by 10% right.                                                                                                                                                                                                                     |
| TrackGain:       | Change Gain on Focused Track... | *none*     | Brings up the Gain dialog for the focused track where you can enter a gain value, or use the slider for finer control of gain than is available when using the track pan slider.                                                                                                                                    |
| TrackGainInc:    | Increase Gain on Focused Track  | *none*     | Controls the gain slider on the focused track. Each keypress increases the gain value by 1 dB.                                                                                                                                                                                                                      |
| TrackGainDec:    | Decrease Gain on Focused Track  | *none*     | Controls the gain slider on the focused track. Each keypress decreases the gain value by 1 dB.                                                                                                                                                                                                                      |
| TrackMenu:       | Open Menu on Focused Track...   | *none*     | Opens the Audio Track Dropdown Menu on the focused audio track or other track type. In the audio track dropdown, use Up, and Down, arrow keys to navigate the menu and Enter, to select a menu item. Use Right, arrow to open the "Set Sample Format" and "Set Rate" choices or Left, arrow to leave those choices. |
| TrackMute:       | Mute/Unmute Focused Track       | *none*     | Toggles the Mute button on the focused track.                                                                                                                                                                                                                                                                       |
| TrackSolo:       | Solo/Unsolo Focused Track       | *none*     | Toggles the Solo button on the focused track.                                                                                                                                                                                                                                                                       |
| TrackClose:      | Close Focused Track             | *none*     | Close (remove) the focused track only.                                                                                                                                                                                                                                                                              |
| TrackMoveUp:     | Move Focused Track Up           | *none*     | Moves the focused track up by one track and moves the focus there.                                                                                                                                                                                                                                                  |
| TrackMoveDown:   | Move Focused Track Down         | *none*     | Moves the focused track down by one track and moves the focus there.                                                                                                                                                                                                                                                |
| TrackMoveTop:    | Move Focused Track to Top       | *none*     | Moves the focused track up to the top of the track table and moves the focus there.                                                                                                                                                                                                                                 |
| TrackMoveBottom: | Move Focused Track to Bottom    | *none*     | Moves the focused track down to the bottom of the track table and moves the focus there.                                                                                                                                                                                                                            |

### Extra: Scriptables I

These commands were originally written for scripting Audacity, e.g via a Python script that uses mod-script-pipe. The commands though are also present in the menu, available from macros, and available from within Nyquist using (AUD-DO "command")

| Scripting Id       | Action                | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Description                                                                                                                                                                                                                                                                |
| ------------------ | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SelectTime:        | Select Time...        | <p><em>double Start, (default:unchanged)</em></p><p><em>double End, (default:unchanged)</em><br><em>enum RelativeTo, (default:unchanged)</em><br></p><ul><li>ProjectStart</li><li>Project</li><li>ProjectEnd</li><li>SelectionStart</li><li>Selection</li><li>SelectionEnd</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Modifies the temporal selection. Start and End are time. FromEnd allows selection from the end, which is handy to fade in and fade out a track.                                                                                                                            |
| SelectFrequencies: | Select Frequencies... | <p><em>double High, (default:unchanged)</em></p><p><em>double Low, (default:unchanged)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Modifies what frequencies are selected. High and Low are for spectral selection.                                                                                                                                                                                           |
| SelectTracks:      | Select Tracks...      | <p><em>double Track, (default:unchanged)</em></p><p><em>double TrackCount, (default:unchanged)</em><br><em>enum Mode, (default:unchanged)</em><br></p><ul><li>Set</li><li>Add</li><li>Remove</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Modifies which tracks are selected. First and Last are track numbers. High and Low are for spectral selection. The Mode parameter allows complex selections, e.g adding or removing tracks from the current selection.                                                     |
| SetTrackStatus:    | Set Track Status...   | <p><em>string Name, (default:unchanged)</em></p><p><em>bool Selected, (default:unchanged)</em><br><em>bool Focused, (default:unchanged)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Sets properties for a track or channel (or both).Name is used to set the name. It is not used in choosing the track.                                                                                                                                                       |
| SetTrackAudio:     | Set Track Audio...    | <p><em>bool Mute, (default:unchanged)</em></p><p><em>bool Solo, (default:unchanged)</em><br><em>double Gain, (default:unchanged)</em><br><em>double Pan, (default:unchanged)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Sets properties for a track or channel (or both). Can set pan, gain, mute and solo.                                                                                                                                                                                        |
| SetTrackVisuals:   | Set Track Visuals...  | <p><em>int Height, (default:unchanged)</em></p><p><em>enum Display, (default:unchanged)</em><br></p><ul><li>Waveform</li><li>Spectrogram</li><li>Multi-view</li></ul><p><em>enum Scale, (default:unchanged)</em><br></p><ul><li>Linear</li><li>dB</li></ul><p><em>enum Color, (default:unchanged)</em><br></p><ul><li>Color0</li><li>Color1</li><li>Color2</li><li>Color3</li></ul><p><em>enum VZoom, (default:unchanged)</em><br></p><ul><li>Reset</li><li>Times2</li><li>HalfWave</li></ul><p><em>double VZoomHigh, (default:unchanged)</em><br><em>double VZoomLow, (default:unchanged)</em><br><em>bool SpecPrefs, (default:unchanged)</em><br><em>bool SpectralSel, (default:unchanged)</em><br><em>enum Scheme, (default:unchanged)</em><br></p><ul><li>Color (default)</li><li>Color (classic)</li><li>Grayscale</li><li>Inverse Grayscale</li></ul> | Sets visual properties for a track or channel (or both). SpectralPrefs=1 sets the track to use general preferences, SpectralPrefs=1 per track prefs. When using general preferences, SetPreferences can be used to change a preference and so affect display of the track. |
| GetPreference:     | Get Preference...     | <p><em>string Name, (default:)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Gets a single preference setting.                                                                                                                                                                                                                                          |
| SetPreference:     | Set Preference...     | <p><em>string Name, (default:)</em></p><p><em>string Value, (default:)</em><br><em>bool Reload, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Sets a single preference setting. Some settings such as them changes require a reload (use Reload=1), but this takes time and slows down a script.                                                                                                                         |
| SetClip:           | Set Clip...           | <p><em>double At, (default:unchanged)</em></p><p><em>enum Color, (default:unchanged)</em><br></p><ul><li>Color0</li><li>Color1</li><li>Color2</li><li>Color3</li></ul><p><em>double Start, (default:unchanged)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Modify a clip by stating the track or channel a time within it. Color and start position can be set. Try to avoid overlapping clips, as Audacity will allow it, but does not like them.                                                                                    |
| SetEnvelope:       | Set Envelope...       | <p><em>double Time, (default:unchanged)</em></p><p><em>double Value, (default:unchanged)</em><br><em>bool Delete, (default:unchanged)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Modify an envelope by specifying a track or channel and a time within it. You cannot yet delete individual envelope points, but can delete the whole envelope using Delete=1.                                                                                              |
| SetLabel:          | Set Label...          | <p><em>int Label, (default:0)</em></p><p><em>string Text, (default:unchanged)</em><br><em>double Start, (default:unchanged)</em><br><em>double End, (default:unchanged)</em><br><em>bool Selected, (default:unchanged)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Modifies an existing label. You must give it the label number.                                                                                                                                                                                                             |
| SetProject:        | Set Project...        | <p><em>string Name, (default:unchanged)</em></p><p><em>double Rate, (default:unchanged)</em><br><em>int X, (default:unchanged)</em><br><em>int Y, (default:unchanged)</em><br><em>int Width, (default:unchanged)</em><br><em>int Height, (default:unchanged)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Sets the project window to a particular location and size. Can also change the caption - but that is cosmetic and may be overwritten again later by Audacity.                                                                                                              |

### Extra: Scriptables II

Like Scriptables I, but these ones are less commonly used from the menu.

| Scripting Id  | Action                       | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------- | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Select:       | Select...                    | <p><em>double Start, (default:unchanged)</em></p><p><em>double End, (default:unchanged)</em><br><em>enum RelativeTo, (default:unchanged)</em><br></p><ul><li>ProjectStart</li><li>Project</li><li>ProjectEnd</li><li>SelectionStart</li><li>Selection</li><li>SelectionEnd</li></ul><p><em>double High, (default:unchanged)</em><br><em>double Low, (default:unchanged)</em><br><em>double Track, (default:unchanged)</em><br><em>double TrackCount, (default:unchanged)</em><br><em>enum Mode, (default:unchanged)</em><br></p><ul><li>Set</li><li>Add</li><li>Remove</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Selects audio. Start and End are time. First and Last are track numbers. High and Low are for spectral selection. FromEnd allows selection from the end, which is handy to fade in and fade out a track. The Mode parameter allows complex selections, e.g adding or removing tracks from the current selection.                                                                                                                                                                  |
| SetTrack:     | Set Track...                 | <p><em>string Name, (default:unchanged)</em></p><p><em>bool Selected, (default:unchanged)</em><br><em>bool Focused, (default:unchanged)</em><br><em>bool Mute, (default:unchanged)</em><br><em>bool Solo, (default:unchanged)</em><br><em>double Gain, (default:unchanged)</em><br><em>double Pan, (default:unchanged)</em><br><em>int Height, (default:unchanged)</em><br><em>enum Display, (default:unchanged)</em><br></p><ul><li>Waveform</li><li>Spectrogram</li></ul><p><em>enum Scale, (default:unchanged)</em><br></p><ul><li>Linear</li><li>dB</li></ul><p><em>enum Color, (default:unchanged)</em><br></p><ul><li>Color0</li><li>Color1</li><li>Color2</li><li>Color3</li></ul><p><em>enum VZoom, (default:unchanged)</em><br></p><ul><li>Reset</li><li>Times2</li><li>HalfWave</li></ul><p><em>double VZoomHigh, (default:unchanged)</em><br><em>double VZoomLow, (default:unchanged)</em><br><em>bool SpecPrefs, (default:unchanged)</em><br><em>bool SpectralSel, (default:unchanged)</em><br><em>bool GrayScale, (default:unchanged)</em><br></p> | Sets properties for a track or channel (or both). Setting one channel of a stereo track can lead to interesting results. That's most used when setting relative sizing of the two channels. SpectralPrefs=1 sets the track to use general preferences, SpectralPrefs=1 per track prefs. When using general preferences, SetPreferences can be used to change a preference and so affect display of the track. Name is used to set the name. It is not used in choosing the track. |
| GetInfo:      | Get Info...                  | <p><em>enum Type, (default:Commands)</em><br></p><ul><li>Commands</li><li>Menus</li><li>Preferences</li><li>Tracks</li><li>Clips</li><li>Envelopes</li><li>Labels</li><li>Boxes</li></ul><p><em>enum Format, (default:JSON)</em><br></p><ul><li>JSON</li><li>LISP</li><li>Brief</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Gets information in a list in one of three formats.                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Message:      | Message...                   | <p><em>string Text, (default:Some message)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Used in testing. Sends the Text string back to you.                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Help:         | Help...                      | <p><em>string Command, (default:Help)</em></p><p><em>enum Format, (default:JSON)</em><br></p><ul><li>JSON</li><li>LISP</li><li>Brief</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | This is an extract from GetInfo Commands, with just one command.                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Import2:      | Import...                    | <p><em>string Filename, (default:)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Imports from a file. The automation command uses a text box to get the file name rather than a normal file-open dialog.                                                                                                                                                                                                                                                                                                                                                           |
| Export2:      | Export...                    | <p><em>string Filename, (default:exported.wav)</em></p><p><em>int NumChannels, (default:1)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Exports selected audio to a named file. This version of export has the full set of export options. However, a current limitation is that the detailed option settings are always stored to and taken from saved preferences. The net effect is that for a given format, the most recently used options for that format will be used. In the current implementation, NumChannels should be 1 (mono) or 2 (stereo).                                                                 |
| OpenProject2: | Open Project...              | <p><em>string Filename, (default:test.aup3)</em></p><p><em>bool AddToHistory, (default:false)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Opens a project.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| SaveProject2: | Save Project...              | <p><em>string Filename, (default:name.aup3)</em></p><p><em>bool AddToHistory, (default:False)</em><br><em>bool Compress, (default:False)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Saves a project.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Drag:         | Move Mouse...                | <p><em>int Id, (default:unchanged)</em></p><p><em>string Window, (default:unchanged)</em><br><em>double FromX, (default:unchanged)</em><br><em>double FromY, (default:unchanged)</em><br><em>double ToX, (default:unchanged)</em><br><em>double ToY, (default:unchanged)</em><br><em>enum RelativeTo, (default:unchanged)</em><br></p><ul><li>Panel</li><li>App</li><li>Track0</li><li>Track1</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Experimental command (called Drag in scripting) that moves the mouse. An Id can be used to move the mouse into a button to get the hover effect. Window names can be used instead. If To is specified, the command does a drag, otherwise just a hover.                                                                                                                                                                                                                           |
| CompareAudio: | Compare Audio...             | <p><em>float Threshold, (default:0)</em><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Compares selected range on two tracks. Reports on the differences and similarities.                                                                                                                                                                                                                                                                                                                                                                                               |
| Screenshot:   | Screenshot (short format)... | *none*                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | A version of Tools -> Screenshot with a more minimal GUI. One of the most useful options is All\_Tracks. The \_Plus suffix includes the timeline.                                                                                                                                                                                                                                                                                                                                 |

## Help Menu

The Help Menu lets you find out more about the Audacity application and how to use it. It also includes some diagnostic tools.

| Scripting Id | Action               | Parameters | Description                                                                                                                  |
| ------------ | -------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------- |
| QuickHelp:   | Quick Help...        | *none*     | A brief version of help with some of the most essential information.                                                         |
| Manual:      | Manual...            | *none*     | Opens the manual in the default browser.                                                                                     |
| Updates:     | Check for Updates... | *none*     | Checks online to see if this is the latest version of Audacity.                                                              |
| About:       | About Audacity...    | *none*     | Brings a dialog with information about Audacity, such as who wrote it, what features are enabled and the GNU GPL v2 license. |

### Help: Diagnostics

A set of diagnostic tools

| Scripting Id    | Action                   | Parameters | Description                                                                                                                                       |
| --------------- | ------------------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| DeviceInfo:     | Audio Device Info...     | *none*     | Shows technical information about your detected audio device(s).                                                                                  |
| MidiDeviceInfo: | MIDI Device Info...      | *none*     | Shows technical information about your detected MIDI device(s).                                                                                   |
| Log:            | Show Log...              | *none*     | Launches the "Audacity Log" window, the log is largely a debugging aid, having timestamps for each entry                                          |
| CrashReport:    | Generate Support Data... | *none*     | Selecting this will generate a Debug report which could be useful in aiding the developers to identify bugs in Audacity or in third-party plugins |
| CheckDeps:      | Check Dependencies...    | *none*     | Lists any WAV or AIFF audio files that your project depends on, and allows you to copy these files into the project                               |

## No Menu

These are additional commands that do not appear in any menu

| Scripting Id | Action          | Parameters | Description                       |
| ------------ | --------------- | ---------- | --------------------------------- |
| PrevWindow:  | Previous Window | *none*     | Navigates to the previous window. |
| NextWindow:  | Next Window     | *none*     | Navigates to the next window.     |


# Audacity custom themes

Audacity supports custom themes in the form of ImageCache.png files.

Installation instructions can be found here:

{% embed url="<https://support.audacityteam.org/basics/customizing-audacity/using-themes>" %}

## Audacity themes forum

Themes created by the Audacity community

{% embed url="<https://forum.audacityteam.org/c/themes/63>" %}

## Creating custom themes

Instructions on creating your own custom theme can be found here:

{% embed url="<https://audacity.gitbook.io/dev/scripting/creating-custom-themes>" %}


# EQ curves


# EQ XML to TXT converter

Convert older EQ presets to use in current Audacity

## Download and installation

First, download the plugin below:

{% file src="/files/LvUDIkfBvcZaXFCXEaIt" %}
Downlaod link
{% endfile %}

Then install the plugin in Audacity via **Tools -> Nyquist Plugin Installer** and restart Audacity. Detailed steps are available at <https://support.audacityteam.org/basics/customizing-audacity/installing-plugins#installing-nyquist-plugins>&#x20;

## Using the converter

Once installed, the converter appears in **Tools -> EQ XML to TXT Converter**.

<figure><img src="/files/iALXryxolVW7tSAzeowO" alt=""><figcaption><p>Screenshot</p></figcaption></figure>

To use it,

1. Select the target EQ effect. Curves to be imported can be either for [Filter Curve EQ](https://manual.audacityteam.org/man/filter_curve_eq.html) effect or [Graphic EQ](https://manual.audacityteam.org/man/graphic_eq.html) effect but *not* both.
2. Select your source XML file.
3. (optional) select what should happen if the file exists already
4. Click OK.&#x20;

The TXT file now is in the same location as the source XML file.

You now can import the TXT file via Filter Curve EQ or Graphic EQ -> **Presets and settings -> Import...**


# Weighted curves

## A-weighted curve

A-weighting is a commonly used curve defined in the International standard IEC 61672:2003. It was originally developed for measuring low level noise in audio equipment.

{% file src="/files/HcxxGlhRrndBg5gd9nLc" %}


# Playback equalization for 78 rpm shellacs and early 33⅓ LPs

The audio on almost every phonograph record is not the same as that originally performed. For technical reasons the signal's frequencies need to be modified when cutting the disc. Playback equalization (EQ or de-emphasis) is necessary to restore the signal's original frequencies. Only thus can music lovers enjoy the original sound of the music performed long ago from their rare discs.

## Usage

The most relevant EQ curves are presented as [Table 1](#table-1-playback-equalization-curves):

* You can download some of them from the [EQ Curves Library](https://github.com/audacity/audacity-support/blob/plugins/additional-resources/eq-curves/broken-reference/README.md) section of this page, [convert them to a TXT file with **EQ XML to TXT Converter**](/additional-resources/eq-curves/eq-xml-to-txt-converter) and import them into Audacity using or
* You can generate any curve yourself with the [78 rpm EQ Curve Generator](https://github.com/audacity/audacity-support/blob/plugins/additional-resources/eq-curves/broken-reference/README.md) plugin
* You can set the sliders of any digital or analog graphic equalizer manually
* You can determine appropriate settings for any adjustable analog pre-amplifier.

Which EQ curve will be needed for a specific record label is answered:

* for 78 rpm shellacs in [Table 2](#table-2-78-rpm-shellac-labels-and-their-eq)
* for early LPs in [Table 3](#table-3-early-33-lp-labels-and-their-eq)

### Using EQ curves in Audacity

Once [converted to txt](/additional-resources/eq-curves/eq-xml-to-txt-converter), you can import the curve in the **Filter Curve EQ** or **Graphic EQ effects**, by clicking **Presets & settings** -> **Import...**.

### Equalization (EQ) Curves explained

When phonograph records are made, the sound being recorded is deliberately distorted by reducing the volume of the low frequencies and increasing the volume of the high frequencies. This process, known as 'pre-emphasis', allows the low frequencies to be accommodated in the limitations of the record groove and reduces the effect of high frequency surface noise. If pre-emphasis was not carried out, the bass notes in the music would create a groove in the record that oscillated so wildly that the stylus could jump out of it on playback, and the treble notes would be drowned out by the surface noise of the stylus in the groove.

On playback, the pre-emphasis must be reversed in order to restore the original sound. This is known as 'de-emphasis' or equalization (EQ).

Modern vinyl records use a method of pre-emphasis and de-emphasis adopted by the Recording Industry Association of America (RIAA) in the 1950's, and the EQ curve used is known as the RIAA curve. However, before the RIAA curve was adopted, each record label used its own EQ curve for recording and, for these records (78rpm and early vinyl), the correct EQ curve must be used for playback.

Each EQ curve is a combination of two filter characteristics; a bass boost curve, defined by a 'Bass Turnover' (or 3dB) frequency, and a treble cut curve, defined by a '10 kHz Gain Roll-off' parameter, i.e. a defined level of treble cut at 10 kHz.

As an example, Figure 1 below shows the characteristic of the bass boost curve defined by a 500Hz Bass Turnover, and Figure 2 shows the characteristic of the treble cut curve defined by a 10 kHz Gain Roll-off of -13.7dB. These two curves, when combined, give the characteristic shown in Figure 3.\\

<figure><img src="/files/IVGSjxyiKoEkYUuaExCC" alt=""><figcaption><p>Figure 1. Bass Boost curve: 3dB at 500 Hz</p></figcaption></figure>

<figure><img src="/files/yAFxCQIXlzaazF8fkVWa" alt=""><figcaption><p>Figure 2. Treble Cut curve: -13.7 dB at 10 kHz</p></figcaption></figure>

<figure><img src="/files/HzMjc3owwdPvamXxgfal" alt=""><figcaption><p>Figure 3. Combined Bass Boost and Treble Cut curve</p></figcaption></figure>

The EQ curve may also include a Low Frequency Shelving filter, (although it is absent from the definition of most 78 rpm EQ curves). This addition reduces the effect of the bass boost at very low frequencies (typically 50 or 100 Hz) in order to attenuate low-frequency noise such as turntable rumble. Figure 4 shows the effect of a 50 Hz LF shelving filter being added to the curve in Figure 3. This is in fact the RIAA standard EQ curve.

<figure><img src="/files/Sarpf86nFsDbnqLCXvEG" alt=""><figcaption><p>Figure 4. Combined Bass Boost, Treble Cut and 50 Hz LF Shelving curve</p></figcaption></figure>

Acoustically recorded (pre-electric) 78 rpm records have a completely different characteristic because they were cut with a different type of cutter (For more details see: Acoustic recordings). In some early EQ curves of electrically recorded shellacs, while there is a bass boost curve, there is no treble cut necessary – i.e. the 10 kHz gain roll-off is zero.

Note that in the combined EQ curve, the gains at the Bass Turnover frequency and at 10 kHz may be different from those specified by the parameters. This is not an error, but is due to fact that the gains of the bass boost and treble cut curves are simply added together.

Because 78 rpm EQ curves were non-standard and, in many cases, accurate records were not kept to show what EQ curves were used when recording 78s, there is a degree of uncertainty about what is the correct playback EQ for many record labels. The tables below have been obtained from websites which, in their turn, have compiled data from a number of sources and should prove reasonably accurate. However, the ear of the listener is the final arbiter - if it doesn't sound right, it isn't right!

According to NAB standards, the nominal speed of a 78 rpm record is precisely 78.26 rpm +/- 0.3% (for North America and other countries with an utility frequency of 60 Hz). According to British Standards Institution it is 77.92 rpm +/- 0.5% (for Britain, Europe and other countries with a mains frequency of 50 Hz).

## EQ Curves

Pre-equalization of most records – especially of shellacs – was always determined by the cutter head used and often by internal regulations of the record company. Both left quite some room for the recording engineer to make changes to improve the sound. Also if Graumann uses 250 Hz in playback of an EMI disc and Copeland votes for 300 Hz this is not a contradiction. Both mean the same EQ curve but have different opinions on what sounds best. This should encourage you to try both versions and take the one which sounds right to your ears.

Please do not worry about fractions of a dB! Still in the 1960s an accuracy of a curve of +/- 2 dB was considered to be standard. In the 1950s +/- 3 dB were a very fine result and nobody will ever know if recording engineers in the 1940s or 1930s applied their curves correctly (or if they applied them at all!) So the spread in pre-equalization during recording will outnumber any bias in playback equalization by far.

### Table of EQ Curves

The most relevant EQ curves are presented in Table 1. All curves are described from the point of view of a playback or de-emphasis curve, where bass / low frequencies must be amplified / boosted and where treble / high frequencies must be attenuated / cut in order to achieve the original sound that had been recorded. The corresponding pre-emphasis curve used for cutting the master disk is inverse.

When comparing with lists provided by the manufacturers of equalizer pre-amps it should be considered that those may be misleading, as they might not quote the correct parameters of the curve but rather the next-best possible settings of these devices. For example the Conductart OWL 1 Sound Restoration Module – a renowned pre-amp of the 1980s – offered settings of flat/ 250/ 375/ 500/ 750/ 1000/ RIAA for turnover and flat/ 5/ 8.5/ 12/ 14/ 16/ RIAA for roll-off. Thus for the widely used standard “AES 400N-12” settings of 375 Hz and -12 dB were listed; for the “Bartok 629C-16” curve it was 750 Hz and -16 dB and for “LONDON LP 500C-10.5” it was 500 Hz and -8.5 dB. These recommendations were quoted or copied by other authors and three “new characteristics” had come to existence.

Table 1 gives the three parameters to characterize any EQ curve: the turnover frequency f1 for bass shelf, f2 for bass boost and f3 for treble cut (or alternatively the three corresponding time constants τ1, τ2 and τ3). These are the necessary conditions to compute and plot any EQ curve, determine the correct settings of a digital equalizer or to solder an electronic filter circuit.

The gain at two typical frequencies will give you a rough impression of what the curve does to the audio from the record. The frequencies are:

* 50 Hz, where usually the bass shelf becomes effective
* 10 kHz, because the treble curve is often indicated by roll-off at 10,000 Hz

The very descriptive “code” is a good tool to avoid misunderstanding when EQ curves come under various alias names (what they do too often).

* The first 3-digit number indicates the turnover frequency of bass boost (f2)
* The letter in the middle is\
  N … (“None”) if no bass shelving is applied, or\
  R … 20 dB (named R after RCA or RIAA)\
  B … 18 dB\
  A … 16 dB\
  C … 14 dB (named C after Columbia LP curve)\
  X … 12 dB
* The last number shows the reduction or roll-off of treble at 10 kHz and is always preceded by a minus sign. Please mind that this is only a code and that the exact value – after normalization to 0 dB at 1000 Hz – might be different.

This code can be used to find the correct settings of most equalizer pre-amps.

(Example: “RIAA 500R-13.7” means for the RIAA curve that bass must be boosted below 500 Hz, but no more than + 20 dB and that treble must be cut at 10,000 Hz to – 13.7 dB)

The geographic region and the time period are added to allow a qualified guess for the required EQ should a record label not be listed. In general, American recording curves were more deliberate in cutting bass and boosting treble. The British and Europeans tended to apply only the necessary minimum of bass attenuation and often no treble boost at all, that means they had a “flat” treble curve. Early pre-emphasis curves were simply built and rather soft. In the late years (after 1945) curves became highly sophisticated, with the third turnover frequency f1 added to manage the bass shelving and also with gain ranging from -20 dB to + 20dB.

#### *Table 1: Playback Equalization Curves*

| Region       | Timeperiod      | Curve Name, alias names               |          | Time constants | Time constants | Turnover frequencies | Turnover frequencies | Turnover frequencies | Bass shelf | Bass boost             | Treble cut             |           |
| ------------ | --------------- | ------------------------------------- | -------- | -------------- | -------------- | -------------------- | -------------------- | -------------------- | ---------- | ---------------------- | ---------------------- | --------- |
|              |                 |                                       | τ1 \[μs] | τ2 \[μs]       | τ3 \[μs]       | f1 \[Hz]             | f2 \[Hz]             | f3 \[Hz]             | \[dB]      | <p>@ 50Hz<br>\[dB]</p> | <p>@10kHz<br>\[dB]</p> |           |
|              |                 | *Normal Groove, 78 rpm*               |          |                |                |                      |                      |                      |            |                        |                        |           |
| Eur., Brit.  | 1926 - 1946     | "European 78", Old Europ.,250,EMI 78  |          | 636            |                |                      | 250 \[5]             |                      |            | + 14,4                 | 0 (flat)               | 250N-0    |
| Eur., Brit.  | 1927 - 1946     | "Blumlein 300"                        |          | 531            |                |                      | 300 \[5]             |                      |            | + 16                   | 0 (flat)               | 300N-0    |
| Brit., Amer. | 1926 - 1950     | "500-FLAT", Blumlein500, Europ.500    |          | 318            |                |                      | 500                  |                      |            | + 19                   | 0 (flat)               | 500N-0    |
| America      | 1926 - 1951     | "American 78"                         |          | 636            |                |                      | 250                  | 5900\*               |            | + 14                   | - 6                    | 250N-6    |
| America      | 1926 - 1951     | "American 78"                         |          | 636            |                |                      | 250                  | 4400\*               |            | + 14                   | - 8                    | 250N-8    |
| Amer.(CBS)   | 1938 - 1948     | "Columbia 78"                         |          | 530            | 100            |                      | 300                  | 1592                 |            | + 16,7                 | - 15,0                 | 300N-16   |
| Amer.(RCA)   | 1941 - 1947     | "Old RCA" \[4]                        |          | 199            | 36,7           |                      | 800                  | 4340                 |            | + 22,2                 | -9,9                   | 800N-8    |
| Eur., Brit.  | 1944 - 1956     | "DECCA 78", FFRR 78, London ffrr 78   |          | 531            | 25             |                      | 300 \[5]             | 6366                 |            | + 15,4                 | - 5,7                  | 300N-5.5  |
| Germany      | 1952 - 1955     | "CCIR 78", Recomm. No.134 (1953) \[1] |          | 450            | 50             |                      | 354                  | 3183                 |            | + 17,0                 | - 10,5                 | 350N-10.5 |
| Eur., Brit.  | 1955 - end      | "IEC N78" = "B.S.1928" for N78 only   | 3180     | 450            | 50             | 50                   | 354                  | 3183                 | + 16       | + 14,0                 | - 10,5                 | 350A-10.5 |
|              |                 | *Microgroove, 33⅓ and 45 rpm*         |          |                |                |                      |                      |                      |            |                        |                        |           |
| America      | 1942 - 1949     | NAB (broadcast transcriptions, 1942)  |          | 318            | 100            |                      | 500                  | 1592                 |            | + 20,5                 | - 15,6                 | 500N-16   |
| America      | 6/1948 - 1956   | "Columbia LP", Col. M33, "LP" \[3]    | 1590     | 318            | 100            | 100                  | 500                  | 1592                 | + 14,5     | + 13,6                 | - 15,5                 | 500C-16   |
| America      | 4/1949 - 1958   | "NAB", NARTB (standard 1949) \[3]     | 3180     | 318            | 100            | 50                   | 500                  | 1592                 | + 20       | + 17,5                 | - 15,6                 | 500"B"-16 |
| America      | 1/1951 - 1958   | "AES" (standard 1951)                 |          | 398            | 63,7           |                      | 400                  | 2500                 |            | + 18,1                 | - 12,3                 | 400N-12.3 |
| Amer.(RCA)   | 1947 - 8/1952   | "RCA 45" (45 rpm) \[6]                |          | 200            | 75             |                      | 796                  | 2122                 |            | + 22,6                 | - 13.7                 | 800N-13.7 |
| Amer.(RCA)   | 1947 - 8/1952   | "RCA Old Orthophonic" (33⅓ LPs) \[6]  |          | 318            | 75             |                      | 500                  | 2122                 |            | + 19,7                 | - 13.7                 | 500N-13.7 |
| Amer.(RCA)   | 8/1952 - pres.  | "RCA New Orthophonic"                 | 3180     | 318            | 75             | 50,05                | 500,5                | 2122                 | + 19,5     | + 16,9                 | - 13,7                 | 500R-13.7 |
| Amer. (all)  | ca.1956 - pres. | = "RIAA" (US-standard since 1955)     |          |                |                |                      |                      |                      |            |                        |                        |           |
| Europe       | ca.1962 - pres. | = IEC No.98 (1955) = B.S.1928 (1955)  |          |                |                |                      |                      |                      |            |                        |                        |           |
| Amer., Brit. | 1949 - 1956     | "LONDON LP" \[2]                      | 1590     | 318            | 50             | 100                  | 500                  | 3183                 | + 13,8     | + 12,5                 | - 10,9                 | 500C-10.5 |
| Germany      | 1955 - 1962(?)  | TELDEC (as proposed 1957 for DIN)     | 3180     | 318            | 50             | 50                   | 500                  | 3183                 | + 19,3     | + 16,5                 | - 10,9                 | 500R-11   |

<details>

<summary>Citations</summary>

Table 1 is mostly based on Tab. 2a of: Heinz O. Graumann, Schallplatten-Schneidkennlinien und ihre Entzerrung, in: FUNKSCHAU 1958 / Heft 15, pp 359 ff\* computed frequencies to get 6 or 8 dB @ 10 kHz

\[1] CCIR used by Deutsche Grammophon modified with 50 Hz bass shelving => IEC N78 \[Brice]

\[2] Used by British Decca and for London releases in US and UK, mostly M33. Cf.: Wolfgang Leister, The London Curve, in ARSC Journal, vol.48:2, Fall 2017, p.163

\[3] Gary A. Galo, The Columbia LP Equalization Curve, ARSC conference March 2008; Gary A. Galo, Disc Recording Equalization Demystified, in ARSC Journal Fall 1996

\[4] Old RCA is one of the original RCA curves for shellacs. It continued to be used for 33⅓ LPs by RCA-Victor, Brunswick, Concert Hall, Coral, Decca (Amer.) and Westminster. The turnover f3 and the time constants are computed values for an equalizer set at 800N-8.

\[5] 250 Hz or 300 Hz seem to be a question of personal listening preference, as explained in [Individual fine tuning](https://github.com/audacity/audacity-support/blob/plugins/additional-resources/eq-curves/broken-reference/README.md)

\[6] Robert C. Moyer, Evolution of a Recording Curve; in: Audio Engineering, vol.37, no.7, July 1953; pp 19-22, 53-54. Roll-off is frequently listed as between 10 and 12 dB, but this “flattening off” to ca 10 dB at 10 kHz was an intentional high cut which must not be compensated for in playback. Thus a setting of 13.7 dB is correct!

</details>

### 78 rpm EQ Curve Generator

EQ Curves for Audacity can be generated from these Frequency and Roll-off values using the experimental Nyquist plugin "78 RPM EQ Curve Generator". This plugin is obtainable from the top of this [Forum topic](https://forum.audacityteam.org/viewtopic.php?f=28\&t=33824) and requires Audacity 1.3.13 or later. *Please give feedback on this plug-in, or ask for help if you need it, by replying to that Forum topic.*

1. Extract 78EQCurveGen.ny from the zip file downloaded from the above Forum topic.
2. Place 78EQCurveGen.ny in the "Plug-Ins" folder inside the Audacity installation folder, then launch or restart Audacity. For more help installing the .ny file to the correct location, click here.
3. Click . You can find help inside the plugin by choosing one of the Help options in "Select Function or Help".
4. Choose the curve you want from one of the lists.
5. Enter the values for your chosen curve for

   * "Bass Turnover Frequency (Hz)"
   * "10 kHz Gain Roll-off (dB)"
   * "LF Shelving Frequency (Hz)" (if a value is given)

   in the equivalent boxes in the plugin dialog.
6. Click "OK" in the plugin to save the .xml file to your chosen location.
7. Use the EQ XML to TXT Converter Tool to convert your XML file to a TXT text file *(suitable for Audacity 2.4.0 and later)*
8. Select some audio and choose .
9. Choose "Manage".
10. Choose "Import...", navigate to the location where you saved the .txt file.
11. Click "Open".

## EQ Curves Library

Here you can find some useful EQ curves for download to Audacity for use in Effect -> EQ and Filters -> Graphic EQ and Filter Curve EQ. (Curves are in TXT file format, as required in current Audacity and compatible down to version 2.4.0).

### 78 rpm shellacs

<table><thead><tr><th data-type="files">EQ Curve file</th><th>Description</th></tr></thead><tbody><tr><td><a href="/files/hKGDCtTybM57vHXL4Ncl">/files/hKGDCtTybM57vHXL4Ncl</a></td><td>500-FLAT 500N-0 was used by British Columbia, EMI, His Master’s Voice, MGM and Parlophone between 1931 and 1953. Later releases have modified treble.</td></tr><tr><td><a href="/files/n8t9CdYHJYHjTmtMLt4p">/files/n8t9CdYHJYHjTmtMLt4p</a></td><td>‎American 78 – 250N-6/250N-8: Common setting for many American shellacs. This curve here is a compromise between both varieties with -7 dB roll-off.</td></tr><tr><td><a href="/files/1NORIqNgRYx7XViwhoM5">/files/1NORIqNgRYx7XViwhoM5</a></td><td>BBC 2dB/octave: used by smaller British labels (Aco, Broadcast, Linguaphone, Vocalion, …) from 1926 to 1933, which had their recordings mastered by BBC with the Marconi system.</td></tr><tr><td><a href="/files/90VmSN9sD1rAzfn94Ulq">/files/90VmSN9sD1rAzfn94Ulq</a></td><td>Blumlein300 - 300N-0: A British traditional for Gramophone Company, Decca, Columbia and EMI (1930s – 1944).</td></tr><tr><td><a href="/files/iXvNqfmYK1wixuEy9sc6">/files/iXvNqfmYK1wixuEy9sc6</a></td><td>‎Columbia 78 – 300N-16 is the right one for American CBS-Columbia shellacs (1938 - 1948).</td></tr><tr><td><a href="/files/1hngKyG3gIbAPp44xsnA">/files/1hngKyG3gIbAPp44xsnA</a></td><td>Decca 78 – 300N-5.5: For Decca and London shellacs featuring the ffrr (full frequency range recording) system. Here in the version of Copeland/The British Library Sound Archive</td></tr><tr><td><a href="/files/scxKmk1CZqfVQL4hvceL">/files/scxKmk1CZqfVQL4hvceL</a></td><td>European 78 - 250N-0 is a common setting for European shellacs (1926 – ca. 1944), especially for Columbia and His Master’s Voice produced by EMI (UK), Cetra and Cetra-Soria.</td></tr><tr><td><a href="/files/Wnovg51vl1URl1AhMPEW">/files/Wnovg51vl1URl1AhMPEW</a></td><td>Telefunken 400N-0: used by European Ultraphon, Supraphon and Turicaphon from 1929. Also used by Telefunken – after the takeover of Ultraphon – until mid 1950s.</td></tr><tr><td><a href="/files/iT3DLziOhUtGV4jds35B">/files/iT3DLziOhUtGV4jds35B</a></td><td>Western Electric: Very early Columbia and Victor recordings (1926) used a bass turnover frequency of 250 or 300 Hz but their treble is described as “flat”. The perceived treble amplification was possibly only the result of resonant peaks of the early Western Electric condenser microphones used in recording. The above download is an experimental replay EQ curve for this microphone / pre-emphasis combination. Additional background information is given in <a href="http://audacity.xmission.eu/Early_Western_Electric_Characteristic.pdf">this PDF</a>.</td></tr><tr><td></td><td></td></tr></tbody></table>

### pre-RIAA 33⅓ LPs

<table><thead><tr><th data-type="files">EQ curve files</th><th>Description</th></tr></thead><tbody><tr><td><a href="/files/s6xY3CRTNgtgdiELY7wB">/files/s6xY3CRTNgtgdiELY7wB</a></td><td>‎AES – 400N-12.3: Intended by AES (Audio Engineering Society) as a replay standard for many American shellacs of the 1930s and 1940s. Also used by many record producers as a recording curve for N78 and M33 between 1951 and 1958. Also to replay Capitol and Capitol-Cetra recordings with “Capitol curve” 400N-12.7 (1951 – 1955).</td></tr><tr><td><a href="/files/JulTcUhEzXKBe7VQciWA">/files/JulTcUhEzXKBe7VQciWA</a></td><td>Columbia LP – 500C-16: For Columbia and many other labels, mostly 33⅓ LPs (M33).</td></tr><tr><td><a href="/files/1KKNn2hJYkFNmDh5T8fz">/files/1KKNn2hJYkFNmDh5T8fz</a></td><td>London LP – 500C-10.5: Used for British Decca and for London / Decca releases in the US featuring the ffrr (full frequency range recording) system. Mostly 33⅓ LPs (1949 – 1956)</td></tr><tr><td><a href="/files/fjvJ8H04OZUBjDttxoWM">/files/fjvJ8H04OZUBjDttxoWM</a></td><td>NAB – 500B-16: A widely adopted standard of NAB / NARTB (National Association of Radio and Television Broadcasters) requiring ca. 6 dB more bass boost than Columbia LP</td></tr><tr><td><a href="/files/vL3cAtBXL2gyqluZvCMV">/files/vL3cAtBXL2gyqluZvCMV</a></td><td>RCA 45 – 800N-13.7: RCA’s curve for their 45 rpm discs (1949 – August 1952). Possibly identical with Technichord’s “Technichord curve” 800N-12 already used since 1938 for their 78s.</td></tr><tr><td><a href="/files/KtYHlVO5HhxtMAq2sLGB">/files/KtYHlVO5HhxtMAq2sLGB</a></td><td>RIAA = RCA New Orthophonic – 500R-13.7</td></tr><tr><td><a href="/files/FCNUAFbjBcDIlqi0CMBW">/files/FCNUAFbjBcDIlqi0CMBW</a></td><td>RCA Old Orthophonic – 500N-13.7: RCA’s curve for 33⅓ LPs (1950 – August 1952) and for LPs mastered by RCA for other labels. Possibly identical with “MGM curve” 500N-12 used by MGM.</td></tr></tbody></table>

### Individual fine tuning

In some cases it will be not enough to apply the correct EQ to get the desired result. According to the condition of the record and to personal listening preferences you might consider one of the following methods:

* The 250-or-300-Hz dilemma: To use “European250” or “Blumlein300” EQ seems to be not a question of right or wrong but of personal listening preferences. In general, Continental European authors prefer 250 Hz (derived from the original Western Electric recommendation) for Decca (Brit. and Europ.), Brunswick, Cetra, Columbia (Brit.), EMI-HMV and Parlophone. Englishman Copeland favors 300 Hz (derived from the recording characteristic of the Blumlein cutter) for British EMI, His Master’s Voice and Columbia and also for Odeon. Copeland puts it like this: “\[…] but when I’m not sure I use 300 Hz.” \[Copeland, Manual, p 129]. Being derived from the previous 250-or-300-Hz curve the same applies to “DECCA78” which was used from 1944 for shellacs with the ffrr system. So you should also feel free to decide the 250-or-300-Hz question according to your own listening preference: 300 Hz will give an extra amplification of bass in play back (ca 1.5 dB at 50 Hz).
* To remove low frequency noise Robinson (MidiMagic) recommends a low cut filter at 100 Hz with just 6 dB/octave. (Especially for many acoustic recordings which have only noise below 150 Hz or for the “long-playing” shellacs of RCA Victor of 1931/32). This filter will do exactly the same as the “C”-type bass shelf of Columbia LP curve.
* Vadlyd uses a variable low cut filter for American Victor, early British Decca, EMI, His Master’s Voice and Columbia at frequencies between 40 and 70 Hz. This is very similar to the recommendation of Phonomuseum.org. In Audacity you can experiment with different settings for “Frequency” and “Roll-off” in Effect -> High Pass Filter (a different word for Low Cut Filter) and listen to the result with “Preview”.
* All bass shelf settings on analog equalizers (R-B-A-C-X) can also be used to remove low frequency noise (especially from acoustics and early shellacs). This is why the extra positions X and A were provided \[MidiMagic]
* A known trick of recording engineers was to increase bass t/o frequency on very long recordings. Thus bass attenuation was increased and bass amplitude and necessary groove width were reduced. So the given duration of the audio could be squeezed into the given space on the disc. If a disc is filled with grooves as can be a higher bass turnover frequency can be necessary to restore the original sound. Example: Colosseum \[ES]
* To improve the weak bass on some 45s (especially on EPs – Extended Play) Esoteric Sound uses a higher turnover frequency for bass in replay than in pre-equalization. For example 700 Hz instead of the “correct” 500 Hz. This will give a smooth, extra bass amplification of roughly 4 dB at 50 Hz.
* To reduce surface noise of early American Columbia, Victor and RCA-Victor iasa recommends an additional high cut (= low pass) filter set to 5500 or 5200 Hz with 6 dB/octave. This will reduce treble by 3 dB at around 5000 Hz and by 9 dB at 10000 Hz – and hopefully most of the noise.

#### Remarks for Analog Purists

* Hiss and high frequency scratch due to old worn records:\
  When digitizing such recordings Audacity’s will do a good job to improve the sound once and for all. Those who prefer entirely analog replay with an adjustable pre-amplifier will have the opportunity to improve the sound every time they replay. They can cut / attenuate the frequency range most affected by the noise. A higher value for roll-off at 10 kHz than the “correct” EQ will usually give a better result than a simple treble filter – but: at the expense of the high frequencies of the audio itself.
* Dull, lifeless sound:\
  If you improve poor bass on discs of any speed by choosing a higher bass turnover frequency than the “correct” EQ, there will be the welcome side effect of moderately amplifying midrange frequencies. This will bring life to the core octaves of a piece of music by improving instrument and vocal characteristics.

## Acoustic recordings and Broadcast Transcription Discs

Acoustic recordings (before 1926) are beyond the scope of this page. In these pioneer years speeds varied from 70 to 90 rpm, groove modulation could be lateral, vertical or diagonal and some records were even cut outward with the audio starting at the center. A special turntable and a range of styli / needles are needed to replay.

All acoustics were recorded without any pre-equalization, simply because a modification of the audio was impossible before electric microphones and amplifiers came into use. Nonetheless there are conflicting opinions as to the result:

According to various authors the acoustical recording process had an "inherent mechanical equalization", which results – within the limited frequency range of approx. 150 to 4000 Hz – in a constant velocity characteristic one would only expect from a magnetic cutter. With a magnetic cartridge this would command to be replayed “flat”. Please note that the acoustical recording characteristic is not equalized at all.

According to Robinson an acoustical recording must have a constant-amplitude characteristic which will be correctly reproduced by playing back with a gramophone needle or a piezoelectric crystal pickup. A magnetic cartridge will – by its constant velocity characteristic – double the amplitude whenever the frequency doubles. To compensate for the magnetic pickup MidiMagic recommends an “800N-16” EQ curve, which comes close to the theoretical characteristic of a constant velocity device. Some more information is here on [record labels](http://audacity.xmission.eu/acoustics_2016_05_19.pdf) and on [technical background](http://audacity.xmission.eu/Acoustic_Electric.pdf). Please note that the acoustical recording characteristic is not equalized at all.

Kolkowski’s results of a [reenactment](http://journal.sciencemuseum.ac.uk/browse/issue-03/the-art-and-science-of-acoustic-recording/) of an acoustic recording session show that bass needs heavy equalization if the losses in the recording horn (here below 400 Hz) shall be compensated for. Parametric equalization may be used at resonant frequencies. Treble should be amplified (!) to compensate for the high-frequency roll-off of the recorder. Due to the individual properties (defects) of recording horns and recorders there will be no “general characteristic” of acoustics and therefore no general EQ.

{% hint style="info" %}
[MidiMagic](http://midimagic.sgc-hosting.com/mixphono.htm) gives useful information on vintage labels as Edison, Berliner, Pathé or Zonophone and playback EQ recommendations.

Scientific help regarding valuable historic recordings can be found at [IASA](http://www.iasa-web.org/tc04/mechanical-carriers-replay-equalisation) (International Association of Sound and Audiovisual Archives) and at [ARSC](http://www.arsc-audio.org/index.php) (Association for Recorded Sound Collections).
{% endhint %}

Broadcast Transcription Discs are not in the focus of this page either. Those were recordable lacquer discs, mostly 16 inch in diameter, played at 33⅓ or 78 rpm. They were professionally used by radio broadcasters. Some more information is in [this PDF](http://audacity.xmission.eu/transcr_2016_05_19.pdf).

In America many of these discs were recorded under the standard of the National Association of Broadcasters (NAB) of 1942. The very same recording curve had been used by NBC under the name “Orthacoustic” since mid 1930s. This “NAB Transcription (1942)” playback EQ setting can be downloaded here.

The British Broadcasting Corporation (BBC) used a rather exotic curve as a house standard. The version in use after 1949 has been reconstructed from Longford-Smith’s publication of 1952 as an Audacity EQ setting “BBC Transcription (1949)” and can be downloaded here.

### 78 rpm shellac labels and their EQ

This page is about electrical recordings since 1925 on 78 rpm discs made of shellac! The invention of the Electrical Recording System by Bell Laboratories / Western Electric which was licensed to industry leaders Columbia Records and Victor set some de-facto standards: speed is always 78 rpm, cut is always lateral (same as later mono LPs) and the groove type is always Normal Groove (also named coarse groove). Therefore shellacs are sometimes referred to as N78 (which stands for normal groove discs, played at 78 rpm).

A turntable capable of 78 rpm will be useful. You will need a MONO stylus with 2.5 mil (64 μm), for early electricals possibly one with 3 mil (76 μm) and this Audacity Wiki!

It is assumed that you replay your discs “flat” (without any analog de-equalization) and apply the necessary EQ after digitizing with Audacity . If it is necessary to play the record through a system that applies modern RIAA equalization, select the "RIAA" curve in Audacity's Filter Curve EQ effect and use the Invert button to invert and thus remove the incorrect RIAA equalization before applying the appropriate equalization to the recording.

In case sources did not agree on one EQ curve, their different opinions are listed and you will have to trust your ears.

#### *Table 2: 78 rpm Shellac Labels and Their EQ*

| Label                       | Remarks                                                                                                                                                | Curve Name     | Code      | <p>turnover<br>bass \[Hz]</p> | <p>bass<br>shelf</p> | <p>treble roll-off<br>\[dB @ 10kHz]</p> | [Source](#sources-of-tables-2-and-3) |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- | --------- | ----------------------------- | -------------------- | --------------------------------------- | ------------------------------------ |
| \_Electrical 78's (general) | 1925-1938                                                                                                                                              |                |           | 300                           |                      | 0                                       | ES                                   |
| \_Electrical 78's (general) | 1932-1938, mid 30s                                                                                                                                     | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | ia,ES,JP,RF                          |
| \_Electrical 78's (general) | 1938-1946                                                                                                                                              |                |           | 300 or 500                    |                      | 0 or -5                                 | ES                                   |
| \_Electrical 78's (general) | 1947-1954                                                                                                                                              |                |           | 300 or 500                    |                      | -16                                     | ES                                   |
| Aco                         | 1926 - 1933, British, with M in a circle                                                                                                               | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Aeolian-Vocalion            | 1926 - 1933, British, with M in a circle                                                                                                               | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| ARC                         | American Record Corporation = Cameo + Pathé + Plaza Group; 1929 - 1930                                                                                 |                |           | 500                           |                      | 0 or -5                                 | PC,JP                                |
| ARC                         | American Record Corporation; 1930 - 1939 (some early also 500-5)                                                                                       |                |           | 500                           |                      | -8.5                                    | JP                                   |
| Argo                        |                                                                                                                                                        | American 78    | 250N-6    | 250                           |                      | -6                                      | mm                                   |
| Ariel                       | 1925 - 1931, British, with Δ after matrix no. or with W in a circle                                                                                    | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Artist                      |                                                                                                                                                        |                |           | 500                           |                      | -16                                     | ES                                   |
| Audiophile                  | 1952 - 1955, 78 rpm microgroove (!) records, up to AP-30; may also be replayed with "flat" treble                                                      | Audiophile78   | 300N-8    | 300                           |                      | -8                                      | RH,Mc,AT                             |
| Autograph                   | Marsh Laboratories, ca. 1924 - 1926                                                                                                                    |                |           | 1000                          |                      | 0                                       | ES,JP                                |
| Banner                      | 1926 - 1929, an ARC label from 1929                                                                                                                    |                |           | 500                           |                      | 0                                       | JP                                   |
| Balkan                      |                                                                                                                                                        |                |           | 500                           |                      | -5                                      | ES                                   |
| Beltona                     | 1926 - 1933, from cat. 1194 to 1282, with M in a circle                                                                                                | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Beltona                     | 1944 - 1955, ffrr, prod. by Decca UK,                                                                                                                  | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | PC                                   |
| Bluebird                    | sublabel of RCA, see: RCA-Victor                                                                                                                       |                |           |                               |                      |                                         |                                      |
| Bluebird                    | 1925 - 1931, with VE in an oval or "Orthophonic Recording" or with Δ after matrix no. (recorded in Europe)                                             | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Broadcast (American)        |                                                                                                                                                        | American 78    | 250N-6    | 250                           |                      | -6                                      | mm                                   |
| Broadcast (American)        | 1940s                                                                                                                                                  |                |           | 500                           |                      | -12                                     | JP                                   |
| Broadcast (British)         | 1926 - 1933, with M in a circle                                                                                                                        | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Brunswick (American)        | 1925 - 1930                                                                                                                                            | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | ia,JP,RF,PC                          |
| Brunswick (American)        | 1929 - 1935, an ARC label from Dec 1931 to 1940                                                                                                        |                |           | 500                           |                      | -5                                      | JP                                   |
| Brunswick (American)        | 1935 - 1939                                                                                                                                            |                |           | 500                           |                      | -8.5                                    | JP                                   |
| Brunswick (American)        | 1946 - 1951 or 1954, a Decca (Amer.) label since 1941                                                                                                  |                | 630N-?    | 629                           |                      | -8 or -12                               | ES,mm                                |
| Brunswick (British)         | 1925 - 1944, a Decca label since 1932; see: Decca (Brit.)                                                                                              | European 78    | 250N-0    | 250                           |                      | 0                                       | ES,GH                                |
| Cameo                       | 1926 - 1929, probably W\.E.; an ARC label from 1929                                                                                                    | \[W\.E.]       |           | 250                           |                      | 0/W\.E.                                 | JP                                   |
| Capitol                     | earliest 78s                                                                                                                                           |                |           | 1000                          |                      |                                         | PC                                   |
| Capitol                     | 1942 - 1953; Capitol founded in 1942; since 1954 => RIAA                                                                                               | Capitol \[CAP] | 400N-12.7 | 400                           |                      | -12.7                                   | ia,ES,mil,JP,Mc                      |
| Capitol                     | 1942 - 1951                                                                                                                                            | American 78    | 250N-8    | 250                           |                      | -8                                      | mm                                   |
| Capitol                     | to 1954                                                                                                                                                |                |           | 800                           |                      | -10                                     | ES                                   |
| Capitol / Capitol Cetra     | 1951-1955                                                                                                                                              | Capitol \[CAP] | 400N-12.7 | 400                           |                      | -12.7                                   | mm                                   |
| Capitol - Telefunken        |                                                                                                                                                        | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | ES,mil                               |
| Capitol (British)           | 1944 - 1955, "ffrr", prod. by Decca UK, matrix prefix DCAP                                                                                             | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | PC,JP                                |
| Cetra                       | founded 1930s by RAI, Italy                                                                                                                            | European 78    | 250N-0    | 250                           |                      | 0                                       | GH                                   |
| Cetra-Soria                 | founded 1949, Cetra prod. in US                                                                                                                        | European 78    | 250N-0    | 250                           |                      | 0                                       | mm                                   |
| Chappell                    | 1931 - 1944, British, with © before matrix no., \[Bc]                                                                                                  | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Coliseum                    | 1926 - 1933, British, with M in a circle                                                                                                               | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Columbia (American)         | 1925 - 1931 (some -1934)                                                                                                                               | \[W\.E.]       |           | 200 - 250                     |                      | -5 / W\.E.                              | AT,ES,mil,ia,JP                      |
| Columbia (American)         | 1931 - 1937                                                                                                                                            | American 78    | 250N-8    | 250                           |                      | -8                                      | AT,mm,JP                             |
| Columbia (American)         | 1939 - 1956; "Columbia Rec." a CBS label since 1938; from 1955 change to RIAA                                                                          | Columbia 78    | 300N-16   | 300                           |                      | -16                                     | ia,GH,ES,mil,mm, JP,Mc,AT            |
| Columbia (British)          | 1925 - 1931, with W in a circle                                                                                                                        | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Columbia (British)          | 1931 - 1953, an EMI UK label from 1931                                                                                                                 | European 78    | 250N-0    | 250                           |                      | 0                                       | ia,GH,ES,JP,RF                       |
| Columbia (British)          | 1931 - 1944, with © before matrix no., \[Bc]                                                                                                           | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Columbia (British)          | 1932 - 1949, with W in a circle or matrix prefix W (US COL/OKeh reissues)                                                                              | 500-FLAT       |           | 500                           |                      | 0, later -12                            | PC                                   |
| Columbia (British)          | 1949 - 7/1953, EMI UK, matrix nos. from CA22600 to CA22610, and at CAX11932                                                                            | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | PC                                   |
| Concert Hall                |                                                                                                                                                        |                |           | 500                           |                      | -5                                      | ES                                   |
| Coral                       | 1948 - 1954                                                                                                                                            |                |           | 629                           |                      | -12                                     | ES                                   |
| Coral                       | 1948 - 1953, sublabel of Decca US; from 1953 => RIAA                                                                                                   | AES            | 400N-12.3 | 400                           |                      | -12.3                                   | JP                                   |
| Decca (American)            | 1934 - 1937, (Decca US established in 1934)                                                                                                            | American 78    | 250N-8    | 250                           |                      | -8.5                                    | JP                                   |
| Decca (American)            | 1937 - 1946 ca                                                                                                                                         | AES            | 400N-12.3 | 400                           |                      | -12.3                                   | ia,JP,RF                             |
| Decca (American)            | pre 1946, imports from Britain?                                                                                                                        | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | ES                                   |
| Decca (American)            | very few, to try a combination of 500Hz / 6300 Hz                                                                                                      |                | 500N-5.5  | 500                           |                      | -5,5                                    | mm                                   |
| Decca (American)            | 1946 - 1951, if labeled "ffrr"                                                                                                                         | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | mm                                   |
| Decca (American)            | 1946 - 1954 (??? 629 Hz ???)                                                                                                                           |                |           | 629                           |                      | -12                                     | ES                                   |
| Decca (American)            | 1951 - 1953, from 1953 => RIAA                                                                                                                         | AES            | 400N-12.3 | 400                           |                      | -12.3                                   | mm                                   |
| Decca (British)             | 1929 - 1944                                                                                                                                            | European 78    | 250N-0    | 250                           |                      | 0                                       | ES,mm                                |
| Decca (British)             | 1935 - 1944, matrix up to DR8485-2; test disc: Decca EXP55 or Z718                                                                                     | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Decca (British)             | 1944 - 1955, ffrr, cat. nos. from F.8440, K.1032, M.569 and X.281 (some exceptions); matrix nos. 8486 to 18000; test disc: Decca K.1802, London T.4996 | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | PC,ES,mm,JP                          |
| Decca (British)             | some 1949-1956                                                                                                                                         | London LP      | 500C-10.5 | 500                           | C                    | -10,5                                   | mm                                   |
| Decca (European)            | to 1944                                                                                                                                                | European 78    | 250N-0    | 250                           |                      | 0                                       | mm                                   |
| Decca (European)            | 1944-1950                                                                                                                                              | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | ES,mm                                |
| Decca (European)            | 1950-1954, (Telefunken + Decca UK = TELDEC since 1950)                                                                                                 | Telefunken     | 400N-0    | 400                           |                      | 0                                       | mm                                   |
| Decca (European)            | some 1954-1962                                                                                                                                         | CCIR 78        | 350N-10.5 | 354                           |                      | -10,5                                   | mm                                   |
| Deutsche Grammophon         | alias "DGG", taken over by Telefunken 1937                                                                                                             |                |           | 300                           |                      | -5                                      | ES,mil                               |
| Deutsche Grammophon         | 1944 ca. - 1953 ca. (???)                                                                                                                              | European 78    | 250N-0    | 250                           |                      | 0                                       | PC                                   |
| Dial                        | 78s used same EQ as 33⅓ and 45s                                                                                                                        | Columbia LP    | 500C-16   | 500                           | C                    | -16                                     | ES,mil                               |
| Domino                      | 1926 - 1929, an ARC label from 1929                                                                                                                    |                |           | 500                           |                      | -5                                      | JP                                   |
| Dot                         | to 1958                                                                                                                                                | AES            | 400N-12.3 | 400                           |                      | -12.3                                   | mm                                   |
| Electrola                   |                                                                                                                                                        |                |           | 800                           |                      | -10                                     | ES,mil                               |
| EMI-HMV (British)           | some, re-releases of acoustics mastered 1909-1926                                                                                                      |                | 800N-12   | 800                           |                      | -12                                     | mm                                   |
| EMI-HMV (British)           | 1927 - 1953                                                                                                                                            | European 78    | 250N-0    | 250                           |                      | 0                                       | GH,ES,mil,mm                         |
| EMI-HMV (British)           | 1931 - 1944, with □ after matrix no., \[Bc]                                                                                                            | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| EMI-HMV (British)           | 1931 - 1949, with ◊ after matrix no.                                                                                                                   | 500-FLAT       |           | 500                           |                      | 0, later -12                            | PC                                   |
| EMI-HMV (British)           | 1931 - 1953, (test disc HMV DB4037)                                                                                                                    | European 78    | 250N-0    | 250                           |                      | 0                                       | ia,ES,mil,JP,PC                      |
| EMI-HMV (British)           | 11/1943 - 7/1953, matrix nos. from 2EA17501 to 0EA17576                                                                                                | European 78    | 250N-0    | 250                           |                      | 0                                       | PC                                   |
| EMI-HMV (British)           | 1955 - end, test disc: EMI JGS812, BBC DOM86                                                                                                           | CCIR 78        | 350N-10.5 | 354                           |                      | -10,5                                   | PC                                   |
| Exclusive                   | 1944 - 1949                                                                                                                                            | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | mm                                   |
| Gramophone Company          | 1925 - 1931 UK, with Δ after matrix no.                                                                                                                | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Gramophone Company          |                                                                                                                                                        | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | ES,mil                               |
| Harmony                     | 1929 - 1931                                                                                                                                            |                |           | 250                           |                      | -5                                      | JP                                   |
| His Master's Voice (Brit.)  | some, re-releases of acoustics mastered 1909-1926                                                                                                      |                | 800N-12   | 800                           |                      | -12                                     | mm                                   |
| His Master's Voice (Brit.)  | 1925 - 1931 British, with Δ after matrix no.                                                                                                           | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| His Master's Voice (Brit.)  | 1931 - 1953, prod. by EMI(UK)                                                                                                                          | European 78    | 250N-0    | 250                           |                      | 0                                       | ia,GH,mm,JP,RF                       |
| His Master's Voice (Brit.)  | 1932 - 1949, with ◊ after matrix no.                                                                                                                   | 500-FLAT       |           | 500                           |                      | 0, later -12                            | PC                                   |
| His Master's Voice (Brit.)  | 11/1943 - 7/1953, EMI UK, matrix nos. from 2EA17501 to 0EA17576                                                                                        | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | PC                                   |
| Hispanophone                | 1926 - 1931 , with Δ after matrix no.                                                                                                                  | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Hit of the Week             | 1930 - 1932                                                                                                                                            |                |           | 500                           |                      | -5 or -8.5                              | ES,mil,JP                            |
| Homochord                   | 1926 - 1928, matrix no. HH, JJ, HR, JR, Ee (made by Gramophone Co.)                                                                                    | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Hugophone                   | 1925 - 1931, with W in a circle                                                                                                                        | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Hugophone                   | 1931 - 1944, with © before matrix no., \[Bc]                                                                                                           | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Jewel                       | 1926 - 1929, an ARC label from 1929                                                                                                                    | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | JP                                   |
| Keynote                     |                                                                                                                                                        | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | ES                                   |
| Keynote                     | 1940s                                                                                                                                                  |                |           | 500                           |                      | -12                                     | JP                                   |
| King                        | 1946 - 1953, since 1953 => RIAA                                                                                                                        |                |           | 500                           |                      | -8.5 or -16                             | ES,mil,JP                            |
| Lincoln                     | sublabel of Cameo, 1926 - 1929, probably W\.E.                                                                                                         | \[W\.E.]       |           | 250                           |                      | -5 / W\.E.                              | JP                                   |
| Linguaphone                 | 1926 - 1933, with M in a circle                                                                                                                        | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Linguaphone                 |                                                                                                                                                        | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | ES,mil                               |
| L'Oiseau-Lyre               | 1944 - 1955, ffrr, prod. by Decca UK,                                                                                                                  | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | PC                                   |
| London                      | 1948 - 1955, ffrr, prod. by Decca UK,                                                                                                                  | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | PC,mil,JP                            |
| MacGregor                   | 1930 - 1950s, a Hollywood recording studio; produced by Brunswick, ARC, Capitol,...; various EQs (250-5, 250-8, 400-12.7, 500-12)                      |                |           |                               |                      |                                         | mm,JP,AT                             |
| Majestic                    | 1942 - 1948                                                                                                                                            |                |           | 500                           |                      | -16                                     | ES,JP                                |
| Marsh Laboratories          | (electrical)                                                                                                                                           |                |           | 1000                          |                      | 0                                       | ES                                   |
| Melotone                    | 1931 - 1938, a Brunswick budget label; see Brunswick (Amer.)                                                                                           |                |           |                               |                      |                                         |                                      |
| Mercury                     | 1945 - 1953; approx. to matrix YB9700; since late 1953 => RIAA                                                                                         | AES            | 400N-12.3 | 400                           |                      | -12.3                                   | ia,ES,mm,JP,Mc                       |
| MGM (American)              | founded 1946; up to E3071                                                                                                                              | MGM \[MGM]     | 500N-12   | 500                           |                      | -12                                     | ia,ES,mil,JP,RF                      |
| MGM (British)               | 1949 - 7/1953, matrix no. 0SM420                                                                                                                       | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | PC                                   |
| Musicraft                   | ??? RCA Old Ortho.???                                                                                                                                  |                |           | 700-800                       |                      | -13.7                                   | ES,mil                               |
| Musicraft                   |                                                                                                                                                        |                |           | 500                           |                      | -8.5 or -12                             | JP                                   |
| Nat. Gramophonic Soc.       | 1926 - 1933, with M in a circle, cat. HHH to TTT and NGS.65 to NGS.102                                                                                 | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Nixa                        | 1950 - ?, Britain, shellacs produced by Decca UK                                                                                                       | Decca 78       | 300N-5.5  | 300                           |                      | -5.7                                    | ris                                  |
| Octacros                    | 1931 - ?, Britain, a Synchrophone label                                                                                                                | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Odeon                       | some early electricals                                                                                                                                 |                |           | 800                           |                      | 0                                       | ES,mil                               |
| Odeon                       | 1925 - 1928, with W in a circle (a Lindström label)                                                                                                    | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Odeon                       | 1928 - 1936, matrix with ₤ in a circle ( a Lindström label); bass shelf at 100Hz                                                                       |                |           | 400                           | C                    | 0                                       | PC                                   |
| Odeon                       | 1931 - 1944, with © before matrix no., \[Bc]                                                                                                           | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Odeon                       | to 1953, (1926 sub. of Brit. Columbia , 1931 sub. of EMI)                                                                                              | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | ES,mil                               |
| OKeh                        | 1926 - 1935, a Columbia label since 1926                                                                                                               | \[W\.E.]       |           | 250                           |                      | -5 / W\.E.                              | AT,JP,mm                             |
| OKeh                        | 1931 - 1935, some; probably American78                                                                                                                 | American 78    | 250N-8    | 250-300                       |                      | 0 or -8.5                               | ES,mil                               |
| OKeh                        | 1940 - 1945 and 1951 - 1955; since 1955 => RIAA                                                                                                        | Columbia 78    | 300N-16   | 300                           |                      | -16                                     | AT,JP                                |
| Oriole                      | 1926 - 1929, an ARC label from 1926                                                                                                                    |                |           | 500                           |                      | -5                                      | JP                                   |
| Parlophone (Amer.,Brit.)    | 1925 - 1931, with W in a circle                                                                                                                        | \[W\.E.]       |           | 250                           |                      | -5 / W\.E.                              | PC,JP                                |
| Parlophone (British)        | 1925 - 1953                                                                                                                                            | European 78    | 250N-0    | 250                           |                      | 0                                       | GH,ES                                |
| Parlophone (British)        | 1931 - 1944, with © before matrix no., \[Bc]                                                                                                           | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Parlophone (British)        | 1932 - 1949, with W in a circle or matrix prefix W (US COL/OKeh re-issues for UK)                                                                      | 500-FLAT       |           | 500                           |                      | 0, later -12                            | PC                                   |
| Parlophone (British)        | 1949 - 7/1953, EMI UK, matrix nos. from CE14643 to CE14689                                                                                             | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | ia,PC,JP,RF                          |
| Parlophone-Odeon            | 1925 - 1928, Odeon in Brit.; with W in a circle                                                                                                        | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Parlophone-Odeon            | 1928/29, Odeon in Brit.; matrix with ₤ in a circle, bass shelf at 100Hz                                                                                |                |           | 400                           | C                    | 0                                       | PC                                   |
| Pathé (American)            | 1926 - 1929, probably W\.E., some 500-5; an ARC label from 1929                                                                                        | \[W\.E.]       |           | 250                           |                      | -5 / W\.E.                              | JP                                   |
| Pathé (French)              | 1931 - 1944, with © before matrix no., \[Bc]                                                                                                           | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Perfect                     | 1926 - 1929, probably W\.E., sublabel of Pathé (Amer.)                                                                                                 | \[W\.E.]       |           | 250                           |                      | -5 / W\.E.                              | JP                                   |
| Philips                     | to 1953                                                                                                                                                | Philips        | 400N-6    | 400                           |                      | -6                                      | mm                                   |
| Polydor                     | sub-label of Deutsche Grammophon                                                                                                                       |                |           | 300                           |                      | -10                                     | ES,mil                               |
| Radiofunken                 |                                                                                                                                                        | Telefunken     | 400N-0    | 400                           |                      | 0                                       | mil                                  |
| RCA Victor                  | 12/1931 - 2/1932 "long-playing" shellacs, N-groove, played at 33⅓ rpm                                                                                  | ≈Old Ortho.    | 500N-13.7 | 500 or up                     |                      | -13.7                                   | RM,PC                                |
| RCA Victor                  | 1931 ca., test disc Victor 84522 without treble pre-emphasis                                                                                           | 500-FLAT       | 500N-0    | 500-600                       |                      | 0                                       | PC,ES                                |
| RCA Victor                  | 1931 - 1938, used high cut at 5500 Hz \[R-B]                                                                                                           | ≈Old Ortho.    | 500N-13.7 | 500 or up                     |                      | -13.7                                   | RM,PC                                |
| RCA Victor                  | 1938 - 1947, used High Cut at 8500 Hz, \[R-C]                                                                                                          | Old Ortho.     | 500N-13.7 | 500                           |                      | -13.7                                   | RM,PC,ia,JP,ES, mil                  |
| RCA Victor                  | 1941 - 1947 (some to 1952)                                                                                                                             | Old RCA        | 800N-8    | 800                           |                      | -8                                      | mm                                   |
| RCA Victor                  | 1947 - 1951 \[R-D]                                                                                                                                     | RCA 45         | 800N-13.7 | 800                           |                      | -13.7                                   | mm                                   |
| RCA Victor                  | 1947 - Aug 1952 \[R-D]                                                                                                                                 | Old Ortho.     | 500N-13.7 | 500                           |                      | -13.7                                   | RM,ia,mm,JP,RF                       |
| RCA Victor                  | since Aug 1952 => "New Orthophonic" = RIAA, from matrix E2RP4094                                                                                       | RIAA           | 500R-13.7 | 500                           | R                    | -13.7                                   | RM,ES                                |
| RCA Victor (British)        | 1931 - ?, with swastika after matrix no., re-issued by EMI UK                                                                                          | European 78    | 250N-0    | 250                           |                      | 0                                       | PC                                   |
| RCA Victor (British)        | 1931 - 1944, with □ after matrix no., re-issued by EMI UK, \[Bc]                                                                                       | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| RCA Victor (European)       | 1930 - 1950                                                                                                                                            | European 78    | 250N-0    | 250                           |                      | 0                                       | ES                                   |
| Regal (American)            | 1926 - 1929, an ARC label from 1929                                                                                                                    |                |           | 500                           |                      | -5                                      | JP                                   |
| Regal (British)             | 1925 - 1931, with W in a circle                                                                                                                        | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Regal Zonophone (Brit.)     | budget label of EMI/Columbia                                                                                                                           | European 78    | 250N-0    | 250                           |                      | 0                                       | ES,mil                               |
| Regal Zonophone (Brit.)     | 1925 - 1931 UK, with Δ after matrix no. or with W in a circle                                                                                          | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Regal Zonophone (Brit.)     | 1931 - 1944, with © before matrix no., \[Bc]                                                                                                           | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Regal Zonophone (Brit.)     | 1932 - 1949, with W in a circle or matrix prefix W (US COL/OKeh reissues for UK)                                                                       | 500-FLAT       |           | 500                           |                      | 0, later -12                            | PC                                   |
| Regal Zonophone (Brit.)     | 1949 - 7/1953, matrix no. CAR6800                                                                                                                      | 500-FLAT       | 500N-0    | 500                           |                      | 0                                       | JP                                   |
| Romeo                       | 1926 - 1929, sublabel of Cameo; probably W\.E.                                                                                                         | \[W\.E.]       |           | 250                           |                      | 0 / W\.E.                               | JP                                   |
| Scala                       | 1926 - 1933, with M in a circle                                                                                                                        | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Schirmer                    |                                                                                                                                                        |                |           | 1000                          |                      | -24                                     | mil                                  |
| Supraphone                  | Czech, since 1932, a subsid.of Ultraphon                                                                                                               | Telefunken     | 400N-0    | 400                           |                      | 0                                       | ES,mil                               |
| Synchrophone                | 1931 - ?, Britain                                                                                                                                      | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Technichord                 | American, all N78 from 1938 \[TCH]                                                                                                                     | Technichord    | 800N-12   | 800                           |                      | -12                                     | ES,mil,mm                            |
| Telefunken                  | 1944 - 1955, ffrr, prod. by Decca UK,                                                                                                                  | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | mm,PC                                |
| Telefunken                  | 1951-1953, (Telefunken + Decca UK = TELDEC since 1950)                                                                                                 | Telefunken     | 400N-0    | 400                           |                      | 0                                       | mm                                   |
| Tempo (American)            | Tempo Record Co. of America, Hollywood, CA; ca 1947 - late 1950s                                                                                       |                |           | 500                           |                      | -12                                     | JP                                   |
| Tempo (American)            |                                                                                                                                                        |                | 400N-6    | 400                           |                      | -6                                      | mm                                   |
| Theme                       | sublabel of Tempo (Amer.)                                                                                                                              |                |           | 500                           |                      | -12                                     | JP                                   |
| Theme                       | all N78                                                                                                                                                | American 78    | 250N-6    | 250                           |                      | -6                                      | mm                                   |
| Turicaphon                  | Switzerland, 1930 - , a subsid.of Ultraphon                                                                                                            | Telefunken     | 400N-0    | 400                           |                      | 0                                       |                                      |
| Ultraphon                   | Europe 1929-1932, taken over by Telefunken                                                                                                             | Telefunken     | 400N-0    | 400                           |                      | 0                                       | ES,mil                               |
| Unison                      | 1926 - 1933, with M in a circle                                                                                                                        | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Victor                      | 1925 - 1931, Western Electric System                                                                                                                   | \[W\.E.]       |           | 200 - 300                     |                      | 0 to -7                                 | ia,JP,ES,mil,mm                      |
| Victor                      | Victor was taken over by RCA in 1930; see: RCA-Victor                                                                                                  |                |           |                               |                      |                                         |                                      |
| Victor / Victrola           | 1925 - 1931, with VE in an oval or "Orthophonic Recording" or with Δ after matrix no. (recorded in Europe)                                             | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Vocalion (American)         | a Brunswick label since 1924; see: Brunswick (Amer.)                                                                                                   |                |           |                               |                      |                                         |                                      |
| Vocalion (British)          | 1926 - 1940; a Brunswick and since 1932 a Decca UK label                                                                                               | European 78    | 250N-0    | 250                           |                      | 0                                       | ES,mil                               |
| Vocalion (British)          | 1926 - 1933, to cat. X10029 A.0269 and K05312, with M in a circle                                                                                      | BBC 2dB/oct.   |           |                               |                      |                                         | PC                                   |
| Vocalion (British)          | 1944 - 1955, "ffrr", prod. by Decca UK, including V1000 series                                                                                         | Decca 78       | 300N-5.5  | 300                           |                      | -5,7                                    | PC                                   |
| Voice of the Stars          | 1931 - 1944, with © before matrix no., \[Bc]                                                                                                           | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |
| Zonophone                   | 1925 - 1931 UK, with Δ after matrix no.                                                                                                                | \[W\.E.]       |           | 250                           |                      | W\.E.mike                               | PC                                   |
| Zonophone                   | 1931 - ?, with swastika after matrix no.                                                                                                               | European 78    | 250N-0    | 250                           |                      | 0                                       | PC                                   |
| Zonophone                   | 1931 - 1944, with □ after matrix no., \[Bc]                                                                                                            | Blumlein300    | 300N-0    | 300                           |                      | 0                                       | PC                                   |

<details>

<summary>Remarks</summary>

* \[Bc] ... Due to changes in the setup of the Blumlein cutter the characteristic of the recordings could vary between 180 Hz-FLAT and 500 Hz-FLAT, resulting in +/- 4 dB at 50 Hz. Copeland suggests 300 Hz as an average value.
* \[CAP]... used its own “Capitol curve” 400N-12.7. Play back with “AES” 400N-12.3!
* \[MGM] ... used a special “MGM curve” 500N-12. Play back with “RCA Old Orthophonic” 500N-13.7!
* \[R-D] ... Roll-off is frequently listed as between 10 and 12 dB. But this “flattening off” to ca 10 dB at 10 kHz was an intentional high cut which must not be compensated for in playback. Thus a setting of 13.7 dB is correct!
* \[R-C] ... RCA recommends replaying with “Old Ortho.”. High frequencies were cut off more deliberately at 8,500 Hz (with no effect on playback EQ!) than in later years. \[cf. Moyer]
* \[R-B] ... From c. 1931 to 1938 high frequencies were even cut off at 5,500 Hz! The bass curve is “subject to some question, however,” since it was extensively modified by electronic filters and mechanical damping. But RCA found 500 Hz to be the best average characteristic and used this in re-recording pre-1938 masters. So in principle: “Old Ortho.” for playback again! \[cf. Moyer]
* \[TCH] ... Technichord used its own “Technichord curve” 800N-12. Play back with “RCA 45” 800N-13.7!
* \[W\.E.] ... Very early Columbia and Victor recordings (1926) used a bass turnover frequency of 250 or 300 Hz but their treble is described as “flat”. The perceived treble amplification was possibly only the result of resonant peaks of the early Western Electric condenser microphones used in recording. Background information is given in [this PDF](http://audacity.xmission.eu/Early_Western_Electric_Characteristic.pdf). An experimental replay EQ curve for this microphone / pre-emphasis combination can be downloaded ‎here.

</details>

{% file src="/files/EvBJvHQJojkSgudy3vRh" %}

### Early 33⅓ LP labels and their EQ

After the launch of the “long-playing record 33⅓ rpm” by Columbia in 1948 (which used vinyl discs and a narrower groove width – microgroove records or M33) record producers experimented a lot to fully exploit the potential of the new medium. Bass shelving came into use to limit the necessary bass boost in playback and – as a consequence of the extended frequency range – necessary gain reached values as high as +/- 20 dB. So recording characteristics varied considerably!

The “poor sound quality” of some early LPs is nowadays considered to be mostly a result of the wrong EQ in playback.

Standardization was reached with the “New Orthophonic” curve of RCA which was to become the world standard by the name of RIAA. In America most labels switched to RIAA around 1955 – Europe followed by 1962.

{% hint style="info" %}
How to identify RIAA recordings:

* “ORTHOphonic” or “New Orthophonic” (after August 1952), “NARTB” or “New NARTB” (after June 1953) or “New AES” (after 1954) indicate RIAA equalization.
* The following labels should have used only RIAA all the time: Argo, Bethlehem, Classic Editions, Chess, Clef, Composer Recordings, McIntosh, Montilla, New Jazz, Norgram, Prestige, Romany, Roulette, Savoy, Vocalion and Walden \[High Fidelity Magazine, MidiMagic].
* A “HIFi+” sticker on American Columbias or the catalogue number written in an inverted triangle on German records (like Deutsche Grammophon) is a symbol for RIAA.
* Later recordings on the labels listed below should all be RIAA.
  {% endhint %}

In case that sources did not agree on one EQ curve, their different opinions are listed and you will have to trust your ears.

#### *Table 3: Early 33⅓ LP Labels And Their EQ*

| Label                                   | Remarks                                                                                                                                                                    | Curve Name        | Code      | <p>turnover<br>bass \[Hz]</p> | <p>bass<br>shelf</p> | <p>treble roll-off<br>\[dB @ 10kHz]</p> | [Source](#sources-of-tables-2-and-3) |
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | --------- | ----------------------------- | -------------------- | --------------------------------------- | ------------------------------------ |
| Allegro                                 | 1948 - 1956                                                                                                                                                                | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES                                   |
| Allied                                  | to 1958                                                                                                                                                                    | NAB or Col.LP     | 500?-16   | 500                           | B/C                  | -16                                     | JP,Hi,ES,mil,mm                      |
| American Recording Society              | to matrix E2KP9607, mastered by RCA                                                                                                                                        | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | ES,Mc                                |
| American Recording Society              | to 1958                                                                                                                                                                    | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,mm,JP                             |
| Angel                                   | (2XEA213-392/XAX561-817)(1N,2N)                                                                                                                                            | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | ES                                   |
| Angel                                   | to 1952; to 35022                                                                                                                                                          | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | mil,mm,RF,Mc                         |
| Arizona                                 | to Sept(?) 1955                                                                                                                                                            | Capitol \[CAP]    | 400N-12.7 | 400                           | N                    | -12,7                                   | Hi,ES,mil,mm,JP                      |
| Artist                                  |                                                                                                                                                                            | NAB               | 500B-16   | 500                           | B                    | -16                                     | GH,mil                               |
| Atlantic                                | to 1953, produced by MGM                                                                                                                                                   | NAB               | 500B-16   | 500                           | B                    | -16                                     | ES,mil,mm,JP,Mc                      |
| Audio Fidelity                          | no. 901-903                                                                                                                                                                | NAB               | 500B-16   | 500                           | B                    | -16                                     | ES,mm,JP,RF                          |
| Audiophile                              | 1952 - 1976 (!); regular 33⅓ LPs up to AP-125; may also be replayed with "flat" treble; probably never used RIAA                                                           | Audiophile33      | 600N-10   | 600                           | N                    | -10.3                                   | RH,AT                                |
| Bach Guild                              | sublabel of Vanguard; BG-501 to 529 (1950 to 52)                                                                                                                           | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | GH,ES,Hk,Hi,AT                       |
| Banner                                  | to 10002                                                                                                                                                                   | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm                            |
| [Bartók](http://www.bartokrecords.com/) | to 1952                                                                                                                                                                    | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mm                                |
| Bartók                                  | 1952-1953                                                                                                                                                                  | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | mm                                   |
| Bartók                                  | no. 301-307, 309, 906-920                                                                                                                                                  | Bartok            | 630C-16   | 629                           | C                    | -16                                     | ES,mil,mm,JP,Mc                      |
| Bartók                                  | no. 308, 310-11, 901-05 and from 921                                                                                                                                       | RIAA              | 500R-13.7 | 500                           | R                    | -13,7                                   | Hi                                   |
| Blue Note                               | to Sept(?) 1955, 33⅓ and 45s                                                                                                                                               | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP, Hk,Mc               |
| Bluebird                                | Bluebird Classic (BC), a sublabel of RCA, see: RCA-Victor                                                                                                                  |                   |           |                               |                      |                                         |                                      |
| Boston                                  | to 1958, up to B202                                                                                                                                                        | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mil,mm,JP, RF                  |
| Brunswick                               | to matrix MG4400; with raised matrix\*\*                                                                                                                                   | Old RCA           | 800N-8    | 800                           | N                    | -8                                      | ES                                   |
| Brunswick                               | 1951-1955                                                                                                                                                                  | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | mm                                   |
| Caedmon (American)                      | founded 1952, TC1002 - TC1022 (1955)                                                                                                                                       | Bartok            | 630N-16   | 629                           | N                    | -16                                     | Hi,ES,mil,mm,JP                      |
| Caedmon (American)                      |                                                                                                                                                                            |                   |           | 629                           |                      | -11 or -12                              | ES,Mc                                |
| Caedmon (British)                       | early LPs "made in England", from 1953                                                                                                                                     | CCIR 78           | 350N-10.5 | 350                           | N                    | -10,5                                   | PC                                   |
| Canyon                                  | to C6160                                                                                                                                                                   | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP, Hk,Mc               |
| Capitol / Capitol-Cetra                 | 1949 - 1955 (sold to EMI-UK in 1955); 33⅓,                                                                                                                                 | Capitol \[CAP]    | 400N-12.7 | 400                           | N                    | -12,7                                   | Hi,ES,mm,JP,RF, Hk,Mc                |
| Capitol / Capitol-Cetra                 | 1949 - 1954; 45 rpm                                                                                                                                                        | NAB               | 500B-16   | 500                           | B                    | -16                                     | GH,mm                                |
| Capitol                                 | to 1954, weak bass on 45 rpm can be improved (+ 4.5 dB) by 800 Hz t/o                                                                                                      |                   |           | 500                           |                      | -12                                     | ES,Mc                                |
| Cetra-Soria                             | Am. releases of Cetra, 1948-1953 (Cetra-Soria sold to Capitol)                                                                                                             | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,GH,ES,mm,JP, RF                   |
| Colosseum                               |                                                                                                                                                                            | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | ES,mil,RF,Mc                         |
| Colosseum                               | to Jan 1954                                                                                                                                                                | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,mm,JP,RF                          |
| Colosseum                               | some long operas                                                                                                                                                           |                   |           | 1000                          |                      | -5                                      | ES                                   |
| Columbia (American)                     | 1947-1955; to matrix ML4895, XLP3200                                                                                                                                       | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,GH,ES,mil,mm, JP,RF,Hk            |
| Columbia (American)                     | 1948 - 1953; 45 rpm                                                                                                                                                        | NAB               | 500B-16   | 500                           | B                    | -16                                     | ES,mm,Mc                             |
| Columbia (American)                     | 45 rpm                                                                                                                                                                     | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | JP                                   |
| Columbia (American)                     | 1955 - ; after matrix XLP3200 or with "HiFi+" sticker                                                                                                                      | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | ES                                   |
| Columbia (British)                      | 1949 - 7/1953, matrix nos. LPs: from XA561 to XAX817; XRX12; EPs: 7TCA 7, 7TCO 6; SPs: 7XCA185, 7XCO 87                                                                    | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | PC,ES                                |
| Concert Hall (American)                 | most! 1948-1954, XTV matrix to 20383 (low take nos) produced by COL                                                                                                        | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mm,JP,RF                       |
| Concert Hall                            | E0 matrix, mastered by RCA, ca. 1950/51                                                                                                                                    | Old RCA           | 800N-8    | 800                           | N                    | -8                                      | ES                                   |
| Concert Hall                            | E1KP/E2KP matrix, mastered by RCA, ca. 1951/53                                                                                                                             | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | ES                                   |
| Concert Hall                            | marked AES,                                                                                                                                                                | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | mil,mm,RF,Mc                         |
| Concert Hall                            | CH matrix?                                                                                                                                                                 |                   |           | 500                           |                      | -10                                     | ES                                   |
| Concert Hall                            | matrix E2RP from 4095 / E2KP from 9607                                                                                                                                     | RIAA              | 500R-13.7 | 500                           | R                    | -13,7                                   | ES                                   |
| Concert Hall (British)                  | to 1956 (or 1954)                                                                                                                                                          | London LP         | 500C-10.5 | 500                           | C                    | -10.5                                   | Hi,mm,JP                             |
| Contemporary                            | 2001-02, 2501-02, 2505, 2507, 3501                                                                                                                                         | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mm,JP,Mc                       |
| Contemporary                            | 2504                                                                                                                                                                       | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,ES,mm                             |
| Contemporary                            | after matrix AP121                                                                                                                                                         | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | ES                                   |
| Cook                                    | to 1958(?), regular mono records                                                                                                                                           | Cook              |           | 500                           | N                    | var. -12 to -15                         | ES,mm                                |
| Cook                                    | Cook Laboratories                                                                                                                                                          | NAB               | 500B-16   | 500                           | B                    | -16                                     | JP                                   |
| Cook (binaural)                         | inside band -0 roll-off, outs.-11 dB                                                                                                                                       |                   |           | 500                           |                      | 0 ins./-11 outs.                        | Hi,ES,mil,mm                         |
| Coral                                   | sublabel of Decca (Amer.), est. 1949, up to MG4400, with raised matrix                                                                                                     | Old RCA           | 800N-8    | 800                           | N                    | -8                                      | ES                                   |
| Coral                                   |                                                                                                                                                                            | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | JP,Mc                                |
| Coral                                   | to 1958(?)                                                                                                                                                                 | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,mm,JP                             |
| Decca (American)                        | up to MG4400, with raised matrix                                                                                                                                           | Old RCA           | 800N-8    | 800                           | N                    | -8                                      | ES                                   |
| Decca (American)                        | 1949-1951                                                                                                                                                                  | London LP         | 500C-10.5 | 500                           | C                    | -10.5                                   | mm                                   |
| Decca (American)                        | 1953, 33⅓ and 45 rpm                                                                                                                                                       | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | mm,JP,RF                             |
| Decca (American)                        | 1953 - Nov 1955, 33⅓ and 45 rpm                                                                                                                                            | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,mm,JP,RF                          |
| Decca (British)                         | 1950-1956                                                                                                                                                                  | London LP         | 500C-10.5 | 500                           | C                    | -10.5                                   | mm                                   |
| Decca (British)                         | ffrr (from ARL1186-1B)\*\*\*                                                                                                                                               | ???London         |           | 500                           |                      | -10                                     | ES                                   |
| Decca (British)                         | ffrr (after 6/50)\*\*\*                                                                                                                                                    | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | ES                                   |
| Decca (British)                         | ffrr (from ARL2530-2A)                                                                                                                                                     | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | ES                                   |
| Decca (European)                        | 1949 - 1954, (Telefunken + Decca UK = TELDEC since 1950)                                                                                                                   | Telefunken        | 400N-0    | 400                           | N                    | 0                                       | mm                                   |
| Decca (European)                        | some 1954-1962                                                                                                                                                             | CCIR 78           | 350N-10.5 | 350                           | N                    | -10.5                                   | mm                                   |
| Decca (European)                        | most from 1954                                                                                                                                                             | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | mm                                   |
| Decca ffrr                              | 1951 \[Disputed!]\[1]                                                                                                                                                      |                   |           | 300                           |                      | -14                                     | JP,RF                                |
| Deutsche Grammophon                     | alias "DGG"                                                                                                                                                                |                   |           | LP                            |                      | -10                                     | ES                                   |
| Deutsche Grammophon                     | 1952 - 1955, early LPs, cat. no in a rectangle, bass shelf 50 Hz                                                                                                           | IEC N78           | 350A-10.5 | 350                           | A                    | -10.5                                   | PC,GH,RB                             |
| Deutsche Grammophon                     | cat. no. in an inverted triangle (RIAA symbol)                                                                                                                             | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | PC                                   |
| Deutsche Grammophon                     | 1957, test disc DG 99105, possibly the only disc to DIN 45533                                                                                                              | TELDEC            | 500R-11   | 500                           | R                    | -11                                     | PC                                   |
| Dial                                    | 1948 - 1954, 33⅓ and 45 rpm, bass of EP 45s can be improved by 700Hz t/o                                                                                                   | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm,JP                         |
| Dot                                     | to 1958, 33⅓ and 45 rpm                                                                                                                                                    | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | mm                                   |
| Ducretet Thomson                        | 10/1954 - 1958, British releases issued by London/Decca UK                                                                                                                 | London LP         | 500C-10.5 | 500                           | C                    | -10.5                                   | RF                                   |
| Elektra                                 | EKL 2-15, 18-20, 24-26 (rel. 1952-55)                                                                                                                                      | Bartok            | 630N-16   | 629                           | N                    | -16                                     | Hi,ES,mm,JP,Mc                       |
| Elektra                                 | EKL 17, 22 (released 1954)                                                                                                                                                 | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mm,JP                          |
| Elektra                                 | EKL 16, 21, 23 (rel. 1955) and from 27 up                                                                                                                                  | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | Hi,ES,mm                             |
| EMI-Angel                               | to 1952, Deutsche Grammophon releases in US                                                                                                                                | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | mm                                   |
| EMI-HMV                                 | 1949 - 1953; matrix 2XEA213-392/XAX561-817 (1N,2N) 33⅓ and 45 rpm                                                                                                          | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | ES                                   |
| EMI-HMV                                 | 1951 - 1954                                                                                                                                                                | NAB               | 500B-16   | 500                           | B                    | -16                                     | mm                                   |
| EMI-HMV                                 | 1954 - 1958?                                                                                                                                                               | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | mm,JP                                |
| EMI-HMV                                 | since July 1953                                                                                                                                                            | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | ES,PC                                |
| EMS                                     | 1951 - 1956                                                                                                                                                                | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP, RF,Hk,Mc            |
| Epic                                    | 1948 - 1954, a Columbia sublabel                                                                                                                                           | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm,JP,RF                      |
| Esoteric                                | ES 500,517 and EST 5,6                                                                                                                                                     | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP                      |
| Esoteric                                | to matrix E2KP 9607, mastered by RCA; from ES 533 => RIAA                                                                                                                  | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | ES,Mc                                |
| Festival                                | to 1955                                                                                                                                                                    | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm                            |
| [Folkways](http://www.folkways.si.edu/) | 1948 - 1955; all                                                                                                                                                           | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mm,JP,RF                       |
| Fraternity Records                      | up to F-1013                                                                                                                                                               | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | ES                                   |
| Good-Time Jazz                          | 1, 5-8                                                                                                                                                                     | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,ES,mm,JP                          |
| Good-Time Jazz                          | 3, 9-19                                                                                                                                                                    | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mm,JP,Mc                       |
| Good-Time Jazz                          | 2, 4, 20 and up; since Oct 1955 => RIAA                                                                                                                                    | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | Hi,mm                                |
| Handel Society                          | sublabel of Concert Hall, mostly produced by COL, 1951-1954; others see Concert Hall                                                                                       | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm                            |
| Haydn Society                           | sublabel of Urania; to matrix XTV20383, mastered by COL; to cat. HS-3062, HSL-84; 1949 to 1954                                                                             | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mil,mm,JP, Hk,AT               |
| His Master's Voice (Amer.)              | sublabel of RCA; to 1952; since Aug 1952 => "New Ortho." = RIAA                                                                                                            | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | ES,GH,RM                             |
| His Master's Voice (British)            | 1949 - 7/1953, EMI-UK, matrix nos. LPs: 2XEA213 - 392 and 0XAV145; EPs: 7TEA 19, 7TAV 28; SPs: 7XBA14 - 21 and 7XCS 23, 7XLA 2, 7XRA 30, 7XSB 6, 7XVH 70, 7XEA688, 7XAV227 | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | PC,ES                                |
| His Master's Voice (British)            |                                                                                                                                                                            | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | GH,JP,RF                             |
| Kapp                                    | no. 100-103, 1000-1001                                                                                                                                                     | Kapp              | 800N-16   | 800                           | N                    | -16                                     | Hi,ES,mil,mm,JP                      |
| Kendall                                 | to 1958(?)                                                                                                                                                                 | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,ES,mil,mm,JP                      |
| L'Oiseau-Lyre                           | to 1954, to matrix OL50018, prod. by Decca                                                                                                                                 | London LP         | 500C-10.5 | 500                           | C                    | -10.5                                   | Hi,ES,mil,mm,JP                      |
| London                                  | first few                                                                                                                                                                  | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | mm                                   |
| London                                  | ffrr; after 6/1950\*\*\*; to matrix ARL1186-1B                                                                                                                             | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | ES                                   |
| London                                  | ffrr; to LL-846; to matrix ARL2530-2A                                                                                                                                      | London LP         | 500C-10.5 | 500                           | C                    | -10.5                                   | Hi,mil,mm,ES                         |
| [Lyrichord](https://www.lyrichord.com/) | 1948 - 1951, XTV matrix, mastered by COL                                                                                                                                   | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | mil,mm,JP,RF,ES                      |
| Lyrichord                               | 1951 - 1957(?)                                                                                                                                                             | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,mm                                |
| Lyrichord                               | 1950 - 1952, mastered by RCA                                                                                                                                               | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | PC                                   |
| Lyrichord                               |                                                                                                                                                                            |                   |           | 400                           |                      | -16                                     | mil,JP,RF                            |
| Lyrichord                               | before 1953, (E0-E3 matrix)                                                                                                                                                | ???AES            |           | 400                           |                      | -12                                     | ES                                   |
| Lyrichord                               | if labeled "629"                                                                                                                                                           | Bartok            | 630C-16   | 629                           | C                    | -16                                     | ES,mil,JP,Mc                         |
| Mercury                                 | 1948 - 1952, marked "2000Hz/3dB p.octave", MG10000 series                                                                                                                  |                   |           | 500                           |                      | -7 (3 dB/oct.)                          | PC,ES                                |
| Mercury                                 | 1953 - Oct 1954, 33⅓ and 45s, to matrix MG50026, 7000                                                                                                                      | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP, PC,Hk,Mc            |
| MGM                                     | to 1952                                                                                                                                                                    | NAB               | 500B-16   | 500                           | B                    | -16                                     | GH,mm                                |
| MGM                                     | to 1953; to matrix M-G-M E3071; 33⅓ and 45 rpm; bass of 45s can be improved by 700 Hz                                                                                      | MGM \[MGM]        | 500N-12   | 500                           | N                    | -12                                     | ES,mm,JP,Hk,AT, Mc                   |
| MGM (British)                           | 1949 - 7/1953, matrix nos. SPs: 7XSM203                                                                                                                                    | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | PC                                   |
| Music Treasures                         | all                                                                                                                                                                        | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | mm                                   |
| New Records                             | to 1954                                                                                                                                                                    | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm                            |
| New Records                             | mastered by RCA                                                                                                                                                            | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | ES                                   |
| Nixa (British)                          | 1950 (founded) to 1955, US matrixes from Westminster                                                                                                                       | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | mm,PC                                |
| Nixa (British)                          | to 1955, if labeled AES                                                                                                                                                    | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | mm                                   |
| Nixa (British)                          | to 1955, if labeled NAB                                                                                                                                                    | NAB               | 500B-16   | 500                           | B                    | -16                                     | mm                                   |
| Nixa (British)                          | US matrixes from Polymusic or Urania; mastered by RCA Victor                                                                                                               | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | PC                                   |
| Nixa (British)                          | US matrixes from Lyrichord; see: Lyrichord                                                                                                                                 |                   |           |                               |                      |                                         | PC                                   |
| Nocturne                                | LP1-LP3 ,LP5; XP1-XP10                                                                                                                                                     | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP                      |
| Oceanic                                 | to 1958; to matrix XTV20383, low take nos.                                                                                                                                 | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mil,mm,JP, Hk                  |
| Odeon                                   |                                                                                                                                                                            |                   |           | 300                           |                      | -10                                     | ES                                   |
| Overtone                                | nos. 1-5 produced by COL; from no. 6 => RIAA                                                                                                                               | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,TP,AT                             |
| Oxford                                  | to 1958?                                                                                                                                                                   | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mil,mm,JP                      |
| Pacific Jazz                            | to 1953                                                                                                                                                                    | Pacific Jazz      | 500C-12   | 500                           | C                    | -12                                     | mm                                   |
| Pacific Jazz                            | PJLP 1-13; 10" LPs issued in 1953/54                                                                                                                                       | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP                      |
| Parlophone                              | 1947-1954                                                                                                                                                                  |                   |           | 300                           |                      | -10                                     | ES                                   |
| Parlophone                              | 1949 - 7/1953, EMI UK, matrix nos. LPs: XEX 60; SPs: 7XCE135; (EPs were probably all RIAA)                                                                                 | 500-FLAT          | 500N-0    | 500                           | N                    | 0                                       | PC,ES                                |
| Period                                  | 1949-1953; up to 576                                                                                                                                                       | NAB               | 500B-16   | 500                           | B                    | -16                                     | ES,mil,mm,Mc                         |
| Philharmonia                            | to 1958?                                                                                                                                                                   | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP, Hk,Mc               |
| Philips                                 | to 1953, 33⅓ and 45s                                                                                                                                                       | Philips           | 400N-6    | 400                           | N                    | -6                                      | mm                                   |
| Philips (British)                       | 1953 - ?, LPs with re-issues of 78s masters                                                                                                                                | CCIR 78           | 350N-10.5 | 350                           | N                    | -10.5                                   | PC,RB                                |
| Polydor                                 | sub-label of Deutsche Grammophon                                                                                                                                           |                   |           | 300                           |                      | -10                                     | ES,mil                               |
| Polymusic                               | to 1958 (regular mono records)                                                                                                                                             | NAB               | 500B-16   | 500                           | B                    | -16                                     | ES,mil,mm,JP,RF                      |
| Polymusic (binaural)                    | inside band -0 roll-off, outs.-11 dB (Cook system)                                                                                                                         |                   |           | 500                           |                      | 0 ins./-11 outs.                        | Hi,ES,mil,mm                         |
| Rachmaninoff Society                    | to 1958?                                                                                                                                                                   | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm                            |
| RCA Victor                              | 1949 - 1950, some 33⅓ and 45s; matrix from D9 to E0LRC3980                                                                                                                 | Old RCA           | 800N-8    | 800                           | N                    | -8 or -10                               | ES,mm,Mc                             |
| RCA Victor                              | 1949 - 8/1952, first 45 rpm discs (also some 33⅓)                                                                                                                          | RCA 45 \[R-D]     | 800N-13.7 | 800                           | N                    | -13.7                                   | RM,mm,PC                             |
| RCA Victor                              | 1950 - 8/1952, 33⅓ only; matrix from E0LRC3981                                                                                                                             | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | RM,ES,mm,JP,PC, Hk                   |
| RCA Victor                              | since Aug. 1952: "New Orthophonic"; all LM,WDM,DM cat. from 1701; LCT,WCT from 1112; all LHMV,WHMV,LBC,WBC and Extended Play 45s; (from E2RP4094)                          | RIAA              | 500R-13.7 | 500                           | R                    | -13.7                                   | RM,Hi,GH,ES,PC                       |
| Remington                               | to 1958(?); to matrix 199-135                                                                                                                                              | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,ES,mm,JP,Mc                       |
| Renaissance                             | 1949 - 1952                                                                                                                                                                | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | mm                                   |
| Renaissance                             | 1952 - 1954                                                                                                                                                                | Pacific Jazz      | 500C-12   | 500                           | C                    | -12                                     | ES,mil,mm,Mc                         |
| Riverside                               | to Sept (?) 1955                                                                                                                                                           | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,ES,mil,mm,JP                      |
| Stradivari                              | to 1958                                                                                                                                                                    | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | ES,mil,mm                            |
| Telefunken                              | 1951 - 1953, (Telefunken + Decca UK = TELDEC since 1950)                                                                                                                   | Telefunken        | 400N-0    | 400                           | N                    | 0                                       | mil,mm                               |
| Telefunken                              | 1954 - 1962                                                                                                                                                                | CCIR 78           | 350N-10.5 | 350                           | N                    | -10.5                                   | mm,RB                                |
| Tempo                                   | 1948 - 1953                                                                                                                                                                | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | mm                                   |
| Tempo                                   | 1954 - 1958(?)                                                                                                                                                             | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,GH,ES,mm,JP                       |
| Transradio                              | to 1958(?)                                                                                                                                                                 | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mm,JP                          |
| Urania                                  | most; to matrix XTV20383 (low take nos), mastered by COL; 1949 to 1954; since 1953 change to RIAA                                                                          | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,mil,mm,ES,Hk, AT                  |
| Urania                                  | Cat. nos. URLP 224, 603, 7059, 7063, 7065, 7066, 7069; ca 1952/53                                                                                                          | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,mm,JP,Mc,AT                       |
| Urania                                  | to matrix E2KP9243, mastered by RCA; 1950 to 1953                                                                                                                          | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | PC,ES,AT                             |
| Vanguard                                | VRS 411-42, 6000-18, up to XTV20386; VRS 7001-11, 8001-04; since 1954 RIAA                                                                                                 | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,JP,GH,Hk AT                    |
| Vox                                     | 1948 - 1954; up to matrix XTV20386, PL8400 or labeled "Lp"; mastered by COL                                                                                                | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | GH,mil,mm,JP,ES, PC,Hk               |
| Vox                                     | labeled AES                                                                                                                                                                | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | mm                                   |
| Vox                                     | 1951 - Oct 1954                                                                                                                                                            | NAB               | 500B-16   | 500                           | B                    | -16                                     | Hi,mil,mm,JP,RF                      |
| Westminster                             | 1948 - Oct 1955, to matrix XTV20383 low take nos.; mastered by Columbia                                                                                                    | Columbia LP       | 500C-16   | 500                           | C                    | -16                                     | Hi,ES,mil,mm,JP, PC                  |
| Westminster                             | EO matrix                                                                                                                                                                  | Old RCA           | 800N-8    | 800                           | N                    | -8                                      | ES                                   |
| Westminster                             | to matrix E2KP9607, mastered by RCA                                                                                                                                        | Old Ortho. \[R-D] | 500N-13.7 | 500                           | N                    | 13.7                                    | ES                                   |
| Westminster                             | labeled AES                                                                                                                                                                | AES               | 400N-12.3 | 400                           | N                    | -12.3                                   | Hi,mil,mm,JP,RF                      |
| Westminster                             | labeled NARTB                                                                                                                                                              | NAB               | 500B-16   | 500                           | B                    | -16                                     | GH,JP                                |

<details>

<summary>Remarks</summary>

* \[1]... This EQ can be traced back to Langford-Smith (1952), who vaguely describes a “London LP curve (Jan. 1951)”. Powell reads this as 300Hz (wrong!) and -14 dB (correct!). Copeland judges evidence “to be very defective.” No evidence of usage.
* \[CAP]... used its own “Capitol curve” 400N-12.7. Play back with “AES” 400N-12.3!
* \[MGM] ... used a special “MGM curve” 500N-12. Play back with “RCA Old Orthophonic” 500N-12.3!
* \[R-D] ... Roll-off is frequently listed as between 10 and 12 dB. But this “flattening off” to ca 10 dB at 10 kHz was an intentional high cut which must not be compensated for in playback. Thus a setting of 13.7 dB is correct!
* \[R-C] ... RCA recommends replaying with “Old Ortho.”. High frequencies were cut off more deliberately at 8,500 Hz (with no effect on playback EQ!) than in later years. \[cf. Moyer]
* \[R-B] ... From c. 1931 to 1938 high frequencies were even cut off at 5,500 Hz! The bass curve is “subject to some question, however,” since it was extensively modified by electronic filters and mechanical damping. But RCA found 500 Hz to be the best average characteristic and used this in re-recording pre-1938 masters. So in principle: “Old Ortho.” for playback again! \[cf. Moyer]

</details>

## Sources, links and reading references

<details>

<summary>Sources of tables 2 and 3:</summary>

* AT ... AudacityTeam own research
* ES ... [Esoteric Sound](http://www.esotericsound.com/) and the updated EQ list from the [manual](http://www.esotericsound.com/Electronics/REQ3MAN061416.pdf) of their re-equalizer pre-amp in which they also have very useful tips how to identify LPs by their matrix number (British London / Decca, American Decca, American Columbia, RCA Victor). Please mind that they quote settings of their device which have to be translated back into parameters of EQ curves.
* GH ... Graumann, Heinz; Schallplatten-Schneidkennlinien und ihre Entzerrung, in: FUNKSCHAU 1958, Heft 15, pp 359 ff
* Hi ... High Fidelity Magazine, October 1955 with revised “Dialing Your Disks” table.
* Hk ... Heathkit; Pre-amplifier WA-P2 manual; Heath Comp., Benton Harbor, Michigan; 1954
* ia ... iasa – International Association of Sound and Audiovisual Archives: [replay EQ](http://www.iasa-web.org/tc04/mechanical-carriers-replay-equalisation)
* JP ... James R. Powell Jr., “Audiophile’s Guide to Phonorecord Playback Equalizer Settings”, in: ARSC Journal 20-1, Spring 1989, pp 14-23
* Mc ... McIntosh Audio Compensator C-8 manual (1956). Please note that McIntosh lists all labels using "Columbia LP" curve with 750 Hz in error.
* mil ... [Millennia Music and Media Systems](http://www.mil-media.com/index.html) manufacturer of [LOCi pre-amp](http://www.mil-media.com/LOCi.html)and other high end professional audio recording products. Their EQ chart was initially part of the manual of the LPE-2 pre-amp. A revised version was released in 2010 as “MM Legacy Recordings“ chart.
* mm ... [MidiMagic](http://midimagic.sgc-hosting.com/mixlabls.htm) is probably the most comprehensive and reliable websource. Data were researched in the 1970s and are based on publications of the 1950s.
* PC ...Peter Copeland, [Manual](http://www.bl.uk/help/manual-of-analogue-audio-restoration-techniques) of Analogue Sound Restoration Techniques, The British Library, 2014
* RB ... Richard Brice in [PspatialAudio](http://pspatialaudio.com/record_characters.htm)
* RF ... Russell Fisher / [W.A.M.S.](http://www.shellac.org/wams/wequal.html)
* RM ... Robert C. Moyer, Evolution of a Recording Curve; in: Audio Engineering, vol.37, no.7, July 1953; pp 19-22, 53-54. (about "New Orthophonic" and previous RCA curves)
* TP ... Tom Packard of Packburn Electronics, Inc. Personal correspondence re Overtone.
* Discographical information about catalogue numbers, matrix numbers and release dates is based on [Both Sides Now](http://bsnpubs.com/), [The Online Discographical Project](http://www.78discography.com/), [45worlds](http://www.45worlds.com/) (who also show 78 rpm and LPs), [Decca Classical](http://www.charm.rhul.ac.uk/discography/decca.html) discography by Philip Stuart (July 2009 edition], [Record Information Services](http://www.record-information-services.info/uk_labels_discography/introduction.html) (post-war UK labels), [Yale University, Music Cataloging](http://www.library.yale.edu/cataloging/music/78sources.htm), [Grammophon-Platten.de](http://grammophon-platten.de/page.php?384) (German/European labels) and [Discogs](https://www.discogs.com/) (database and trading platform) as well as some discographies specialized on specific labels.

</details>

### Recommended analog reference

* James R. Powell, Jr. and Randall G. Stehle, "Playback Equalizer Settings for 78 RPM Recordings", Third Edition, Gramophone Adventures, Portage, MI, 1993, 2002, 2007. A compilation of Powell’s subjective recommendations of Owl 1 settings for approx. 1800 discs / 400 labels (mostly American and Jazz). Reprint of 3rd edition available at [Nauck’s](http://78rpm.com/).
* Fritz Langford-Smith, Radiotron Designer's Handbook, Wireless Press, Sydney, Fourth edition, 1952.
* James Moir, High Quality Sound Reproduction, Chapman & Hall Ltd., London, 1958


# External scripts

External scripts don't run within Audacity itself. Instead, they communicate with it using mod-script-pipe.

Further information can be found here:&#x20;

{% embed url="<https://manual.audacityteam.org/man/scripting.html>" %}

## vinyl2digital

For batch processing of vinyls

{% embed url="<https://pypi.org/project/vinyl2digital/>" %}
Project page
{% endembed %}


