Extracting one specific frequency from a recording

Hello, my name is Mr. Patel and I am a fourth year project student. My question is related to the programme itself and its capabilities.

I understand that sound can be recorded and an analysis can be performed on a specific sound (or the whole) of the recording by: highlighting the desired sound > Opening the analyze tab > clicking plot spectrum. This then gives a graph that plots frequency vs intensity.

I would like to know from these given results (or by any other means such as the spectogram view:

How to extract a specific frequency from the recording and then plot the intensity as a function of time?
and can you extract the spectrum as a function of time?

If the programmes ability meets my criteria, it will allow me to complete my project and I will be very appreciative of a response.

Thanks very much for your help and if there is any other information you require please let me know.


Discrete “frequencies” (sinusoidal waveforms) only occur in synthesized sounds. In “real world” audio there are always an “infinite” number of frequencies, so the amplitude of “one” frequency must be zero! Of course that is nonsense, but it illustrates the impossibility of measuring “a specific frequency”.

In frequency analysis, we are not dealing with “specific frequencies”, but with “frequency bands”. When looking at “Plot Spectrum”, you are not looking at “specific frequencies”, but rather the amount of energy within a large number of narrow frequency bands. The number of bands is determined by the “Size” parameter (the larger the “Size”, the greater the number of frequency bands).

The frequency spectrum as a function of time is displayed in the track “Spectrogram” view (see: http://manual.audacityteam.org/man/spectrogram_view.html) In this view, the intensity in each frequency band is mapped to a colour (or a shade of grey if “greyscale” is selected in the Spectrogram preferences). This view is not intended for numerical analysis, and it would not be very practical to export as numeric data because of the vast amount of data (thousands of numeric values per second of audio).

To extract a “frequency band”, you need to apply a “band pass filter”. The intensity as a function of time can then be seen by the amplitude of the filtered waveform.
Note that the steeper the filter (the greater the frequency resolution), the less the resulting time resolution. As an example, with FFT analysis (https://en.wikipedia.org/wiki/Fast_Fourier_transform), to increase the frequency resolution (to look at narrower frequency bands), the larger the FFT size must be (more samples per FFT frame), thus the time period over which the frequency is being measured is greater.

Here is a simple but effective narrow band pass filter that can be run in the Nyquist Prompt effect (http://manual.audacityteam.org/man/nyquist_prompt.html)

(setf hz 440)
(mult 2.0 ;compensate for -3dB drop at corner frequency
(highpass8 (lowpass8 *track* hz) hz))

The first line “(setf hz 440)” determines the centre frequency of the filter. The filter slope is 48 dB per octave.
Note that the filtered audio is delayed by a few milliseconds (the “filter delay” https://en.wikipedia.org/wiki/Group_delay_and_phase_delay) and that transients will ring for a few milliseconds (https://en.wikipedia.org/wiki/Gibbs_phenomenon)

Dear Steve and Audacity team,

This is exactly what I was seeking for. After applying the parameters today with (altered) Nyquist code, I am able to isolate a frequency. Amazing, thanks every so much!