Completed Proposal Improvement of Meter Toolbar UI

From Audacity Wiki
Revision as of 18:08, 3 March 2012 by BillWharrie (talk | contribs) (add my support and votes)
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This page is a proposal to improve the User Interface relating to the Metering and Monitoring functionality in Audacity, the Meter Toolbar.
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.

  • Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.

The Problem

  • There is no visual indicator to show whether monitoring is on or off - I know the meters will bounce when monitoring is on - but not if you have a null or very low signal or if you have equipment with a very low noise floor.
  • It is far from intuitively obvious in the GUI how you turn monitoring on or off. Many new users of Audacity are totally foxed by this. Evidenced by many forum postings on this topic.
  • Many users over-saturate their signal sometimes provoking extended clipping.
  • It is also far from obvious to the user how to turn Software Playthrough or Overdub on - or indeed for them to understand if and when they need them (and when they don't). Also evidenced by many postings on the forum.
  • The default initialized meter width is far too small to be effectively useful and it is not intuitively obvious how to change the size and position.
  • Settings that a user makes in the meter drop down menus are lost on exit from Audacity and not retained for the next Audacity session.

Proposed Feature

  • Visual indicator to show whether monitoring is on or off.
    • Note that this would not be an issue if monitoring was always "on" - see "Previous Feature Requests relating to this proposal" below.
  • Separate controls for Software Playthrough and Overdub should be provided in Meter Toolbar.
  • Optimum recording level indicator to be provided in the recording meter.
  • Larger initialized default width for the meters
  • Optionally, an improved graphic display for the meters.
  • Enhance the Meter Preferences by moving items currently in the drop-down menu into the meter Preferences dialog and store those settings in the preferences file.

Developer/QA Backing

  • Peter Sampson (I favor the alternative multi-colored display that is proposed, the one with the green/red/yellow gradations.)
  • Bill Wharrie:
    • +1 for expanded preferences
    • +1 for multi-coloured meters
    • +1 for removing RMS display from meters
    • +0.5 for monitoring on/off indication in Meter Toolbar
    • 0 for overdub and playthrough indicators/buttons in Meter Toolbar, although I can see a case for having them in the GUI somewhere
    • 0 for "optimum recording level" lines in the waveform display.

Use Cases

  • User reports that they cannot hear any audio playing (many instances on the forum).
  • User reports that they cannot find how to turn monitoring on (many instances on the forum).
  • Until a user knows how to turn monitoring on, it can be hard to ascertain whether Audacity is receiving a signal.
  • User gets feedback on their signal when recording audio playing on the computer and software playthrough is set to be "on".
  • User may be tempted to plunge straight into recording rather than monitoring and setting a sensible input signal level in advance.
  • Because the default waveform view is linear (where 50% would be a good recording level) many users needlessly oversaturate their signal believing that the waveform should fill the display area.
  • Users are surpised that their chosen settings for meter display are not retained on next use of Audacity (from postings on the forum).


Monitoring on/off indicator

  • The Microphone icon in the Input meter to be used as a monitoring state indicator:
    • It should remain black/gray while monitoring is off.
    • It should change to green when monitoring is turned on and flipped around its vertical axis
    • If the monitored signal goes into clipping by exceeding 0 dB, at any stage while monitoring is on, then the icon should change to red - and remain red until monitoring is re-set or turned off. The icon should be flipped back to its original orientation. The red thin vertical line clip indicator which currently shows at the right edge of the meter would then be redundant and could be removed if required.
      • Flipping the icon as it changes state from black/gray to green to red will assist red-green color-blind users to differentiate the metering states.
  • Tooltip to change when monitoring is active, to say "Input Level Meter- click to turn metering off". It would help people who are colour-blind (and will help the blind if and when Meter Toolbar is screen-reader accessible). It would also be more accurate in what it says depending on the monitoring state.
  • The Microphone icon at the bottom left of the input meter acts as an active switch to facilitate turning input metering on/off (actually any part of the recording meter, except the drop-down, turns monitoring on and off with one click).
  • Start and Stop Monitoring to remain as menu commands accessible from the input meter's drop-down menu.
  • Similarly the speaker icon in the output should be colour coded to indicate the output metering state:
    • black/gray while inactive,
    • green (and flipped around vertical axis) while active,
    • red (and flipped back around vertical axis) if clipping has occurred while output metering is active.

GUI Example


When monitoring is turned on the image of the mic icon changes from black to green and also flipped around the vertical axis. If overload occurs the mic icon changes to red and is flipped back to its original orientation. This will help red-green color-blind users differentiate the states.

Additional controls for Software Playthrough and Overdub

  • A separate control for Software Playthrough to be provided in Meter Toolbar enabling it to be toggled on/off, with a tooltip to provide basic information on playthrough (e.g. "Ensure Software Playthrough is off when recording audio playing on the computer"). Default setting to be "off".
  • A separate control for Overdub to be provided in Meter Toolbar enabling it to be toggled on/off, with a tooltip saying "Play other tracks while recording new one". Default setting to be "off".
  • These commands to remain in the Transport menu and to remain settable in Recording Preferences.

This proposal specifically does not require that Software Playthrough should also be on by default.

  • On Linux software playthrough can often prevent Audacity from recording and there is no obvious indication of what is wrong.
  • Having software playthrough on will cause feedback if the user is trying to record audio playing on the computer.

Optimum recording level indicator

  • A coloured band, yellow say, in the record meter between -9.0dB and -6.0dB (or at 50% if the meter display has been set to linear rather than the default dB) to indicate the optimum maximum peak recording level.
  • This could either be in the meter bar itself or in the grey section below, where the numbers are. If it is in the meter bar then the red colouring of the bar would over-ride the yellow advisory colouring when the signal exceeds -9.0 dB (or 50%).
  • If this is seen as a "regression" rather than an improvement then a new Preferences setting (in either the "Interface" or the "Warnings" section) could be created to toggle this functionality on/off - the default setting to be "on".
    • See also the proposal extension at the foot of this page proposing optimum level indicators on the waveform display.

Increase the default size of the meters

  • Increase the default size of the meter to a functionally usable state (precise details TBD).
    • Peter 28Oct11: I stretch mine across the whole width of the Audacity Window.
  • Default display type for the meters to remain as dB and horizontal display, as now.
  • User settings for the meter size and display to be stored in the user’s Preferences settings and restored on next invocation of Audacity.

Enhanced Meter Preferences

  • Increase the functionality of the Meter Preferences dialog by moving the four items "Horizontal Stereo", "Vertical Stereo", "Linear" and "dB" option selections from the droop-down menu into the meter Preferences dialog.
  • Initial default settings to be "Horizontal Stereo" display and "dB" scale.
  • Selecting "Vertical Stereo" will deselect "Horizontal Stereo" and vice versa, controlled via radio buttons.
  • Selecting "Linear" scale will deselect "dB" scale and vice versa, controlled via radio buttons.
  • The settings that the user makes for these to be stored in the audacity preferences file.

GUI Example

Trimmed drop-down menu for the recording meter:

Meter dropdown menu trimmed.PNG

Meter Preferences dialog with the additional choices (showing default settings):

Meter preferences.png

Note: the selctors should be radio buttons and not the tick-boxes shown here.

Alternative Metering Display

An alternative possibility for an optimum and overload indicator in the meters (thanks to Bill Wharrie for providing this):

New Record Meter.png

If it is easier to implement we could have a sharp transition from green to yellow at -12 dB and yellow to red at -6 dB. Then we'd have a simulation that resembles LED meters.


Both the input meter and the output meter to have the same multi-colored gradations, green/red/yellow as in the graphic, with the color achieved indicating current strength of signal (signal level),

  • advancing along the meter, green in color, with increasing signal strength,
  • changing from green to yellow at -12 dB (25% if linear metering is in use) when the signal is getting towards optimal level,
  • fading to red from -6 dB at the "optimum" recording level (50% if linear metering is in use) and onwards when it is clipping or approaching clipping.

As the proposed playback and recording meters have the same colours for bars and icon, in order to aid differentiation we should retain some distinction with some part of the meter border in red for recording but green for playback.

The input meter will only be active when monitoring is turned "on". The output meter will only be active when output is actually active, i.e. when playback is in operation or the user is recording with software playthrough turned "on".

Current RMS Level

As now, the “Current RMS Level” could be indicated by the color bar being lighter in shade with the signal level that extends from the “Current RMS Level” to the “Current Peak Level” being darker in shade.

Alternatively the “current RMS” level indication could be removed entirely from the meter bars (but remain in the waveform display). This would have the advantage of simplifying the meter displays (and I am sure that not many users understand the “current RMS” display anyway). It would also align better with the metering displays found on most tape and MiniDisc recorders.

I personally favour the latter option.
Ed 27Oct11: +1 the latter option

Recent Peak Level

“Recent Peak Level” to be indicated by a vertical colored bar but rather than just being a red (for record) or green (for playback) the bar would take the green, yellow or red color attained recently in the meter.

Maximum Peak Level

“Maximum Peak Level” to retain the blue vertical bar, as now.

Clipping indicator

Retain the red Clipping warning line at the far right of the meters if clipping has occurred while metering is active.

This may be thought redundant if the gray/green/red Mic/Speaker icon monitoring state indicator idea is implemented.

Note the graphic example above shows a signal which is currently and actively clipping.

Remove the thin color bar to the left of the meters

Optionally remove the thin bar of color which displays to left of the meters, currently present when the meters are quiescent. It almost looks like the meter is running just above the bottom of the scale.

I propose removing those color flashes as they seem to serve no purpose whatsoever.
Ed +1

Previous Feature Requests relating to this proposal

  • Greater initialised width: (9 votes) In 1.2 the initialised width took up the whole width of the initialised window (about 580 px); as at May 2011 the initialised width in Audacity Beta is 255 px. This is too narrow for practical use. Users may not realise meters can be resized, especially if docked.
  • Headroom indicators drawn at user-specified n dB below 0 dB FS with fill color change when headroom level exceeded (green below headroom, yellow above, red when clipping. (3 votes)

Taken from the "Highest-rated" section of the Feature Requests page:

  • Preference for monitoring on by default (17 votes)
      We initially didn't do this because of concerns about performance on lower powered machines. We've since had feedback on this that is works fine and that not having monitoring "on" is causing a bigger problem - especially with new users. This however is not such an easy change as it appears - handling the situation when a device is changed/swapped out for example but Audacity is still looking for an input to read - it may not be fixed quickly
    • Until monitoring is "always on", should be a way of indicating if monitoring is on or not, because on a quiet system, noise may be off the meter (7 votes)
        Possible ways of doing so: a different background colour for the meter bars; a dynamic tooltip (maybe not possible with wxWidgets); a button and LED? Note that 1.3.5 lets you choose the display range minimum for the meters.
  • Meter Toolbar:
    • Preferences for meters: ability to save the meter preferences from the meter toolbar drop down menu. The options referred to here are in the meter drop down menu (click on the little black down-pointing arrow just below either of the meters). I'm not talking about adding any new options, just adding the options that are already there to the "Preferences" section that is also there. This way, people that use any of those options can set use them and set them so that they are still the way that they prefer when they restart Audacity. (5 votes)

Extension to this proposal: Graphic indicator of optimum recording level on the waveform display

As stated above in the Problem statement: "Many users over-saturate their signal sometimes provoking extended clipping." The default display of a Linear waveform encourages many users to try to fill the whole of the available 0.0 to plus or minus 1.0 of the gray space leading to an over-saturated (and sometimes clipped) capture. Note that this is less of a problem with the "Waveform (dB)" display mode as the signal fills much more the visually available gray space, however the default view is the linear waveform display and this is the display type that most users will deploy.

As a sensible corollary to the this proposal therefore, it would make sense to include an further optimum recording level on the waveform display.

I would propose:

  • A grey dashed line extending along the available wave form display set at +0.5 and -0.5 for linear waveform displays and set at -6dB for Waveform (dB) display.
  • The gray dashed line should be super-imposed on the waveform so that it remains visible once the waveform exceeds the optimum level.
  • This indicator display to be controlled by a Preferences setting (on or off) in the Recording section - default to be "on".
  • Optionally (if thought useful) the user could set their own "optimal" recording level via a further additional Preferences setting in the Recording section - default to be +/-0.5 or -6dB.

GUI example

Linear waveform with optimum recording level indicators.PNG

Previous Feature Requests relating to this proposal extension

The following Feature Requests relate to this proposal extension:

  • Waveform Grid lines:
    • Horizontal: (8 votes)
      • Helps alignment with a specific level on the vertical scale when working at the other end of the track (4 votes)
      • Headroom lines at user-specified dB below and above 0dB FS. (1 votes) Gives compliance with SMPTE and EBU standards calling for specified amount of headroom before full-scale clipping.
      • Vertically draggable, like a ruler, showing the dB level (1 votes)
      • Line at 0.0 visible at all zoom levels so as to splice together without clipping. (1 votes)
          You can use Edit > Find Zero Crossings to snap selection regions to safe zero crossing points without having to zoom in.
    • Horizontal and vertical: (4 votes) turned on and off on the fly, to help with aligning audio and setting levels. Fixed number of vertical lines on the screen - about 30 (or user could chose a number). Zooming should retain the number and pixel distance spacing of the gridlines.