Suggested Frequency Analysis Capabilities

From Audacity Wiki
Revision as of 15:48, 11 May 2012 by BillWharrie (talk | contribs) (use menu template, not menugrey)
Jump to: navigation, search
This page contains many single-vote suggestions for enhancements to Audacity's frequency analysis capabilities. Currently Analyze > Plot Spectrum offers a "Frequency Analysis" window where the amount of energy (dB) in each frequency is represented. The Track Drop-down menu offers an alternative "Spectrogram" display of the audio track where the frequency spectrum of the audio is displayed over time.
To add a vote for individual items listed here, please cut them out from here and move them to the Frequency Analysis Capabilities section of Feature Requests.
Related article(s):

Plot Spectrum

  • More automatic: Frequency analysis window which would update itself as I moved or adjusted my selection, rather than me having to bring up new frequency analysis myself. Or a window which showed instantaneous frequency analysis for wherever I clicked on the timeline, based on the size sample needed to make that spectrum. Maybe it could be active during sound playback, like the visualizers in other programs.
  • Selection Tool for spectrum: with upper and lower frequency thresholds to apply effects to selected frequencies. I'd like to be able to draw a box on the spectrum and know my effect would only be applied in there. Ideally we could draw any shaped selection we wanted, not just a rectangle.
  • Wikipedia suggests the correct name for Hanning window is Hann window - named after the inventor.
  • The displayed "peak frequency" shown in the "Frequency Analysis" window is useful for tuning musical instruments. (I use this for tuning harmonica reeds.) However it displays to only the nearest cycle per second. When checking a high "A" at 1760Hz the 1Hz resolution is ample. But at a low "A" of 110Hz an error of 1Hz represents a significant fraction of a semitone. For this purpose long duration tones can easily be recorded, giving ample data for the analysis to chew on - if only an option to analyse at higher resolution was available (in that drop down list that currently goes from 128 to 16382?).
  • Which audio track is being displayed in the spectrum when viewing a stereo file? Currently this is confusing -- is just the first channel of the file being displayed? Are both channels being mixed before the frequency transform is being done? It would be nice for the user to be aware of which channel is being used for the spectrum analysis, or to allow the user to choose how to select the audio tracks for generating the spectrum.
  • It would be nice to have a keyboard short-cut to open/close the "Frequency Analysis" window.
  • Convert the options at the bottom of the window into a toolbar such as the ones at the top of the main Audacity window (such as "Audacity Control Toolbar" which contains the play button.
  • I like the display of the frequency at the cursor point as a musical pitch-class/octave. Could you add a cents qualifier to the musical pitch discription. For example if the cursor is located at 443 Hz, that would be the pitch A4, but slightly sharper, so it would be nice to have the cursor display for that frequency read: A4+12, since it would be 12 cents sharp of A4 in equal temperament at A4 = 440 Hz. If the frequency were 437, then the cursor display could read A4-12, which would stand for A4 minus 12 cents.
  • The peak value in the cursor status area of the "Frequency Analysis" window is somewhat confusing. This is mostly due to the low resolution (zoomed out) of the spectrum. Currently it is not a useful value. There is a recommendation about spectral peak measurement below which might tend towards having the "Peak" entry in the cursor status region removed.
  • The axes of the spectrum display is overly verbose. For example, the frequency axis is labeled like: "22Hz, 3KHz, 6kHz, 10KHz, 13KHz, 16KHz, 19KHz). It would be a lot cleaner if instead the frequency axis were labeled something like: ".22, 3, 6, 10, 13, 16, 19 [kHz]". Likewise for the magnitude axis and the redundant dB unit specifiers.
  • When the frequency axis is zoomed in very far, it would be nice for the individual frequency bins to be displayed as dots on the spectrum function, just like zooming into the time-domain audio in the main Audacity window.
  • It would be nice to add a few more window types which are common in audio analysis, such as the Blackman 2, 3, and 4 term windows. Also there are a few windows with a tunable parameter, such as the Kaiser window, so it might be nice to think on how to add an extra option for this parameter to the toolbar when that type of window is selected.
  • Should be window choices for different weighting
  • Once zooming on the frequency axis has been implemented, it will be useful to add an option to the analysis toolbar which controls a "zero padding factor". This option would control the amount of frequency interpolation between bins in the frequency transform. The factor would control the amount of zero padding done in the time domain before the transform is taken. For example 0 would mean no zero padding, 1 would mean to add one extra frame of zeros to the analysis window, 3 would mean to add 3 extra frames of zeros to the analysis window. Same for 7, 15, and as high as is practical. Zero padding in the time domain is equivalent to interpolation in the frequency domain. Therefore zero padding will generate higher resolution of the frequency values in the spectrum plot.
  • Along with zero padding, it would be nice to have a button in the analysis toolbar which could be clicked on in order to have the computer search for the exact frequency value of the nearest peak to the cursor. The cursor would then move to that position, and the peak information would be displayed in the Cursor status area in the "Frequency Analysis" window. This is useful for very exact measurement of the frequency represented by the peak in the spectrum. It can be measured by a combination of a high zero padding factor (which could be left up to the user), and then some interpolation method, such as "parabolic peak interpolation" where you would take the top three points in the peak, fit a parabola through them, and identify the highest point in the fitted parabola.
  • It would be nice if more than one frequency were displayed on the graph. Preferably, a range of frequencies would be represented on the Y axis, a range of time would be represented on the X axis, a per-pixel color value would represent the Z axis, the magnitude of the frequency.
  • It would be nice to be able to analyze a selection longer than 23.8s with Plot Spectrum (looking at a WAV file, for example). If that is a hard limit, then give the user some control over how to distribute that time over an entire song. Something like 1s every 10s, 1s every 15s, type of thing.
      Current Audacity allows up to 237.8 seconds of audio to be analysed.
  • To facilitate comparison of different tracks, the ability to have a separate (independent) analysis display per track (hence multiple windows) would be great.
      Current Audacity allows separate plot windows for each project window. You can switch plot between different tracks in the same project by using the Replot button in the plot window.
  • Currently there is a hard upper limit of 100KHz for the maximum visible frequency in the spectrogram view. Most users will have audio files with a sample rate of 192KHz or less, and that a 100KHz limit is a reasonable default computationally and memory wise, however a warning might be more appropriate than a hard limit. (request from bsmiller in the official forum, useful for bioacoustics)
  • Please get rid of the default "512", and let it be the reasonable "4096". Or let Audacity remember my selection next time. I have specified "4096" in preferences, but that seems to be for decoration only. It doesn't work. I have to re-select 4096 every time.
      In the current Audacity, the Size choice in the plot window is remembered.
  • Please let the default graph be NOT filled, and also allow the user to use any color beside purple, if they want it filled. A simple line without the area being filled would be the best.
  • Make an Equalization plug-in to import Spectrum data and build curve from it?


The demon module (demodulation) would provide an analysis window like the Analyze > Plot Spectrum but instead of showing the frequency domain of the time series selected, it would show the frequency domain of the power amplitude of the signal. A spike on this display would show the frequency that a sound's volume changes over time.

  • This is a useful in analysis of machinery audio (my main reason)
  • May also be used to indicate the quality of sound produced by an amplifier to see if it is not providing constant power.