iAudioTool - v5.6.3


To report bugs or ask about problems, please send an email. For general discussion about iAudioTool please visit the AudioTool discussion group.


User Guide

This User Guide is also available as a PDF document for reading in e.g. iBooks.

Main Screen

When AudioTool is started, you will see the main screen for the Real Time Analyser (RTA). The screen is divided into three regions:

  • The top region shows the RTA frequency response in ISO one octave bars, as calculated by an FFT of the incoming audio data. The vertical axis is labelled in deciBels. The horizontal axis is a logarithmic frequency scale that is marked at the ISO frequency centres (unless the user has selected the linear frequency scale option, see below). The height of the bars changes with the incoming audio signal being picked up by the microphone (or by an input device connected to the phone's headset jack). Also shown is the current peak frequency, in Hz (the screen shot shown has 121Hz) - this value is typically accurate to within a few Hz, depending on the sampling rate (see below). Also shown above each of the octave bars are blue marker lines that indicate the maximum level observed so far at that frequency.
  • The middle region shows an oscilloscope-like realtime display of the audio data being picked up by the microphone. The vertical scale dynamically adjusts to the prevailing levels. Also shown in large text in this region is the currently measured SPL level, as calculated directly from the audio data stream (this number is not FFT based.) In smaller text, at the top left of the region, are three numbers following the word "Mic". These numbers indicate:
  1. The sample rate, in samples/second (44100 in the example)
  2. The "frame time" for the FFT in milliseconds (i.e. how quickly your phone is calculating - lower numbers are better)
  3. The sample buffer size being used for FFT analysis (8192 in this example)
  • The lower region is occupied by control buttons, described below.

Button Controls

The labels on the buttons indicate the current state of the control.

  • "Running" "Paused" - this button is used to pause or run the data analysis. When "Paused", the RTA display does not change. The middle region 'scope display, however, continues to show the incoming audio.
  • "Average Off" "Averaging" - for averaging the RTA analysis. When activated, the RTA levels will be averaged continuously. The count of samples averaged appears in the top, RTA region. Averaging is arithmetic, not power.
  • "1/1 Octave" "1/3 Octave" "1/6 Octave" "Full Res" "Spectrogram" "SPL" "Chart Recorder" - this is the button used to switch between the various modes available in the RTA, each is explained further in the next section.
  • "Peak On" "Peak Off" - this controls whether peak levels in the RTA display are shown or not. To reset the levels is simply a matter of pressing this button to Off then On again.
  • "Valley On" "Valley Off" - controls whether valley levels (lowest levels) are shown. Reset by turning off then on again.
  • "Medium" "Fast" "Slow" - this control selects the speed of the RTA bars and the dB SPL measurement. Exponential filters are used with time constants of 0.5, 0.125 and 1.0 seconds, respectively.
  • "Flat" "A Weight" "C Weight" - this control selects between no filter (flat) and A and C weight filters, which are applied to the raw audio data and thus affect the RTA levels and the dB SPL level.

The bottom row of buttons, in pink, select major functions of AudioTool.

To hide the buttons from the screen simply tap in the top region of the display. To restore the buttons, tap anywhere in the display.


  • "Store"  - This allows you to store the current RTA analysis, Chart or RT60 data into a file in memory. A dialog box will appear in which you can enter the name of the file in which the data will be stored. These files are written to the "iAudioTool" directory in memory, and have a file type of ".at", ".rt60" or ".cht" depending on which mode you are in. They are text files and can be read by any text editor.
  • "Load" - This allows you to load a previously saved AudioTool .at file - it will be displayed alongside the real time data.  A list will be shown of available files, together with two other options:

Selecting <CANCEL> will return you to the main display, selecting <CLEAR> will remove an existing loaded file from being displayed. Selecting one of the files results in it being shown on the main display thus:

  • RT60 - Pushing this button starts the RT60 feature - see below.
  • Generator - This starts the signal generator - see below.


The real time analyzer (RTA) has several modes, described below. 

Leq Calculation

The Leq calculation is the average of the  power sum of the measured instantaneous dB SPL levels over an interval of time. For more details about Leq see, for example, http://www.cassafe.com/science-safety/leq.html . It is the "equivalent continuous sound level".

The Leq calculation will continue to run indefinitely, but it can be stopped by pressing the RTA "Running" button (top left) - if you press that button again, a new Leq calculation is started afresh. 

Shown below is a screenshot of the Leq being calculated. Note that, if you change filters, then the Leq integration re-starts from the moment the filter was changed.

(Normally, Leq measurements are made using the A Weight filter.) The Leq calculation can be disabled completely by selecting the "Hide Leq" option in the Menu.

1/1 Octave

Frequency response is shown in the ten ISO 1 octave bands.

1/3 Octave

Frequency response is shown in the thirty ISO 1/3 octave bands.

1/6 Octave

Frequency response is shown in ISO 1/6 octave bands.

Full Resolution

Frequency response is shown as a line graph at the maximum available resolution.


Frequency response is shown as a function of time: the spectrum at each moment is drawn as one row of a bitmap. The colour of each pixel indicates the intensity of the sound at that position in the spectrum. The most recent time is at the bottom of the display.

You can change the speed of the spectrogram (the rate at which new rows of the bitmap are drawn) between Fast and Slow using the option available in the Menu.


In this mode, the display simply shows the dB SPL figure.


In the RTA and Spectrogram modes, the user may choose to have AudioTool use a logarithmic or a linear scale for the frequency (Hz) axis. The choice is made via the menu, shown below:

Choosing "Set Lin Hz" menu option will change to the linear scale.

The frequency limits for the Hz scale can be adjusted, using the menu option. Here is a linear scale:

Note that the Hz scale limits, and the dB scale limits, are saved by AudioTool when the user terminates the app: they are restored when the user restarts AudioTool.


There are two independent methods of Calibration provided with AudioTool. You can select which method to use in the Menu. The first is a "single value" method where you can enter a single number to offset the broadband SPL measurement so that it matches an external SPL meter. This is useful for simplicity. The second is an ISO Octave Calibration where you can correct for the response of the phone's microphone in each of 10 octave bands. In either case, to calibrate you will select "Calibrate" from the Menu.

AudioTool will store and remember the calibration number(s) you enter, and will also remember whether you are using the single value or octave based method.

For the octave based method you will see a screen similar to that shown below:

Move the calibration discs up or down so as to obtain a flat response, and match the overall SPL to that of an external meter. In the example shown above, the discs have been adjusted to produce a flat response. Each disk is labelled with the number of deciBels correction - for example there is a -9dB correction at 1kHz.

Note that, on the phone shown (a Google Nexus One), there is so little signal response in the 16kHz band it is not possible to fully correct for it. Indeed, if too high a correction is applied then the risk is of boosting electrical noise.

When satisfied with the results, choose "Finish Calibration" from the Menu, and confirm whether you want to save the values. These values will be retained on your phone and will be loaded every time AudioTool starts.

Chart Recorder

The time history of SPL readings is shown: the chart recorder "pen" at the right hand side of the screen draws the latest value. The axis is labelled in seconds in the past. At most 10,000 SPL readings are stored, corresponding to a few minutes of history (this value varies from one iOS device to another). The chart data can be stored using the Store button, if so desired. (Note the use of the cursors in the example below.) 


You can measure room reverberation times in RT60 mode, selected using the RT60 button.

If the Signal Generator is Off when RT60 mode is started, the system waits for a loud impulse signal, such as a clap to trigger the measurement. This sound will energise the room, and how quickly the sound pressure falls off with time will be measured. The longer the sound takes to die away, the more reverberant is the room.

After the clap is detected, the measurement starts. Since the RT60/reverberation time for a room will be different depending on frequency, AudioTool makes a wideband (all frequencies) measurement, as well as measurements in each of the ISO octave bins. To do this, the data are passed through a bank of IIR octave filters centred on the desired frequencies. The results are displayed in tabular form, and may be exported to a file using the "Store" button.

RT60 measurement can also be made using the signals (e.g. White Noise) from the generator to energise the room. If the Signal Generator is On when RT60 mode is started, then the Trigger button:

can be pressed when the RT60 measurement should be made. When the Trigger button is pressed, the output from the Signal Generator is stopped, and the RT60 measurement of the decaying sound intensity is made.

Technical notes: the RT60 uses a Schroeder integral to work backwards from the noisefloor to the detected peak intensity. The Schroeder integral is shown as a red trace on the RT60 display. The RT Early number is the time for the intensity to drop from the peak to 10dB below the peak, multiplied by 6. The 15-20 number is the time for the intensity to drop from 5dB below the peak to 20dB below the peak, multiplied by 4. 

The screen shot below shows an example of an RT60 measurement.

The RT60 results table can be hidden or shown by using the Menu option:

Hiding the RT60 table allows closer inspection of the RT60 curve data:

Export iAudioTool Files

Using the "Email AudioTool File" Menu option, you will be presented with a list of all iAudioTool files present on your iPad/iPhone. You may select one of the files for sending as an Email - the Email interface will appear allowing you to do so. RTA files (.at file suffix), Chart files (.cht) and RT60 files (.rt60) may all be sent in this way.

Note that the format of the data in the .at file is a little unusual:

Column 1: Frequency in Hz
Column 2: Raw voltage level from FFT
Column 3: sqrt(dB)

So, to get the dB level at a particular frequency, square the number in column 3!


The Signal Generator allows you to produce several different types of waveforms from the phone/tablet's audio subsystem.
  • Impulse: this is a periodic pulse that is produced once every second or so
  • Ramp: this is a waveform which ramps from negative to positive, then drops to negative - also called a sawtooth
  • Triangle: this waveform is triangular in shape
  • Square: a rectangular waveform with 1:1 duty cycle
  • Polarity: a special waveform used to test loudspeaker polarity
  • Sine: a sine wave
  • Pink Noise: a pseudo random noise signal whose frequency content falls as 1/frequency.
  • White Noise: a pseudo random noise signal whose frequency content is flat and has no frequency dependence
  • Silence: a zero output waveform
  • Sweep: a sine wave that changes frequency linearly between a low and a high limit

For the periodic signals, like Sine, Square etc., the frequency of the wave may be set using two methods:

  • Via the text entry box (showing "800" in the example above) - simply enter the desired frequency, in Hertz. You must press the "Set Frequency" button after entering the desired frequency.
  • Via the "<<", "<" etc. buttons - these buttons adjust the frequency in large and small steps.

To turn the generator output on and off, use the large button so labelled.

Technical note: The precision with which AudioTool can generate a given frequency depends on the internal samplerate being used and the sample buffer length. Typically, you can expect AudioTool to generate a frequency within 10Hz or less of the value you specify.


When the Sweep button is selected, AudioTool will generate swept sine waves.

To adjust the start and stop frequencies, and the duration of the sweep, enter the start and stop frequencies, and the duration in seconds of the sweep, in the text fields above the "Set Sweep Limits" button and then press that button to store the values.

In the example above, the settings will cause a sine wave starting at 100Hz to be swept up in frequency to 10000Hz, over a duration of 10 seconds.

Frequency Response with Sweeps

If the generator is in Sweep mode, then the current sweep frequency is stored for every value of SPL measured by AudioTool. The current sweep frequency is also displayed on the main screen. In addition, if Chart Recorder mode is selected, and the chart saved using the Store button, then the SPL readings coupled with the generator frequency will be saved in the file.

The chart file may then be read in to e.g. Excel and a frequency response curve created by plotting the SPL readings versus the frequency values. Here is an example:

Each row of the Chart Recorder file contains the time, the measured dB SPL, the detected peak frequency, and optionally the sweep generator frequency at that time if sweeps were running at the time.


There are two cursors that can be enabled via the main menu:

Initially, both cursors are positioned mid-screen - you can move the cursors simply by touching them and sliding your finger to the desired position. In RTA mode, the cursors show the frequency and dB level at the cursor position. In Chart Recorder mode they show the time and dB SPL.

Noise Curves

In 1/1 Octave mode you can display the Noise Curve family, via the menu, and AudioTool will calculate the prevailing NC value.

For more information on Noise Curves see here.

Polarity Checking

The loudspeaker polarity checker can be used to check whether a loudspeaker is wired in phase: connect the AudioTool output to the speaker under test, select "Polarity" from the signal generator screen, then return to the RTA screen. If the speaker is out of phase (polarity reversed) AudioTool will show "Pol ---", otherwise "Pol +++" if the speaker is in phase.

Peak Detect

With Peak On, AudioTool keeps track of the maximum dB levels observed at each frequency, and shows these as blue bars (or a blue line) on the screen. To reset the peak levels, simply turn Peak off then on again.

Filter Speeds

Three speeds are provided, selected by the "Medium"/"Fast"/"Slow" button in the RTA screen. This control selects the speed of the RTA bars and the dB SPL measurement. Exponential filters are used with time constants of 0.5, 0.125 and 1.0 seconds, respectively.


Three weights are provided: no filter (flat) and A and C weight filters, which are applied to the raw audio data and thus affect the RTA levels and the dB SPL level.


Frequency response data may be averaged - if averaging is enabled then the dB levels at each frequency are averaged for each sample that is acquired.