Audiotools

by Andrew Fish & Scot McSweeney-Roberts

Overview

If you've ever tried to create audio cd's from your tapes and lp's you have probably found that it can be a very time-consuming task which requires vast amounts of spare hard-drive space and a lot of patience. First you have to record your sample to hard-disk with a package which can handle huge samples and then you have to load it into your editor, trim the silences from the front and back, possibly cut it into tracks and save it as one or more files to your hard-disk before deleting your temporary file. Only then can you put your audio onto CD. What you should be able to do is run one program which does the whole thing.

Audiotools is a step in the right direction - whilst it can't write CD-R's, it can automate the rest of the process of recording audio, reducing noise levels, removing extraneous silences and dividing it up into tracks.

Basic Concepts

Sound is a wave; a constantly varying analogue signal which oscillates between peak values. When sampled into a PC it is represented as a series of sample values which generally range from -128 to +127 (8 bit) or -32768 to +32767 (16 bit). The higher the absolute value of the samples the louder the wave is at that point.

The audio to the right of the yellow line is our signal, to the left is what we regard as silence. As can be seen, even in the silent area there is some noise either side of the zero dB line (the blue line). The maximum and minimum values of this noise (in absolute sample values) are known as the "noise floor". Due to the nature of samples, the signal spends some of its time below the noise floor, but this is for a limited period of time. Similarly "clicks" and "pops" may take the silence above the noise floor for limited periods. If we specify a minimum period of time below the noise floor to regard as a silence and a minimum time above it to regard as a signal, we can break audio into separate tracks or samples.

Audiotools interface

The Main Dialog

When you run the program you are presented with a dialog which has the following controls:

METHOD

Selects one of the three recording methods:

"Straight Record" Just record from the source to a file

"Top 'n' Tail" Record from the source, removing silence from the beginning and end of the recording. A silence of 20 seconds is automatically interpreted as the end of the recording, otherwise recording ends when you tell it to stop.

"Auto Tracking" This creates a series of numbered files which are all individually "topped 'n' tailed". A period of silence specified on the format dialog tells the algorithm when to start a new track.

SOURCE

Selects one of:

"File"

All methods can be applied to a file, although currently "Straight Record" has no real meaning with files. Working from file to file is faster than working from a soundcard, but requires that the file has been recorded already.

"Soundcard"

Performs methods on the system's default soundcard (See Windows 95 help on how to set this up)

RECORD

Starts recording from the specified input, using the specified method to the specified destination file(s).

PLAY

Plays the specified source file.

STOP

Stops playing or recording.

TRACK

When working from the soundcard in "Straight Record" or "Top 'n' Tail" modes, this allows you to manually break your recording into tracks. This is useful for live recordings where there isn't necessarily a silence between songs.

CLOSE

Exits the program

SOURCE ...

Selects a file for input both for file methods and for playback. This also sets the SOURCE to "File" to save time. If SOURCE is set to file, this must be selected before recording can commence.

DESTINATION ...

Selects a file for output. When creating a series of files, the first will have the chosen name and subsequent files will have numbers from 1 upward appended (e.g. FRED.WAV, FRED1.WAV FRED2.WAV...). This must be selected before recording can commence.

GAIN FADERS

If gain is enabled this allows you to change the gain levels dynamically as you record.

The General Menu

FORMAT / OPTIONS

Pulls up the format dialog for more detailed configuration.

EXIT

Quits the application

 

The Format Dialog

The format dialog configures the recording process and allows you to set parameters for the auto-tracking / top 'n' tailing operations. The dialog consists of a number of pages..

General Page

GAIN - USE GAIN

Enables the gain faders on the main dialog. The left fader is used when the signal is mono.

GAIN - USE BIAS ADJUST

A sample, when looked at closely oscillates between maximum and minimum values. The average value is it's dc offset. If a sample has a dc offset which is not zero, this is known as dc bias - it can lead to noticeable pops when a sample starts and stops and limits how much gain can be applied to the sample. DC bias adjustment can be used to return DC offset to zero, either by manually applying a DC Bias value or using Analyse on a portion of sample.

METERS

Allows you to select whether the main dialog meters display the input signal, the output signal or nothing at all.

DYNAMICS - USE NOISE REDUCTION

Enables noise reduction. ANALYSE takes you to the page where you can collect noise information. PROFILE takes you to the NOISE PROFILE.

DYNAMICS - USE PARAMETRIC EQ

Enables the six-band parametric eq. CONFIG takes you to the PARAMETRIC EQ page.

Soundcard Page

RECORD FORMAT

Choose from 22KHz, 32KHz, 44KHz or 48KHz, Mono or Stereo

RECORD CARD, PLAYBACK CARD

Allows you to select the soundcards for record and playback.

Track Operations Page

NOISE FLOOR LEVELS

This controls the noise-floor used in silence detection, usually you will use the "Analyse File" and "Analyse i/p" functions to set these, but you can set them manually.

MINIMUM SIL

The minimum length of time to be regarded as silence in milliseconds.

MINIMUM SIG

The minimum length of time to be regarded as a signal in milliseconds.

AUTO-TRACK INITIAL SEQUENCE NUMBER

Tracks generated by auto-track are derived from a basic filename (such as file.wav) with a sequence number added (e.g. fred0.wav, fred1.wav ...). This allows you to select the number on which recording will start.

Noise Reduction Page

This page serves purely to show a profile of the current noise reduction filter settings.

Analyse Page

NOISE FLOOR ANALYSIS

Enables analysis of noise floor information.

NOISE REDUCTION ANALYSIS

Enables analysis of noise reduction information.

BIAS ANALYSIS

Enables analysis of dc bias.

ANALYSE FILE

Requests a file and then analyses the selected file to gather the information for the selected options. It is best to use a silent section of the audio if you are collecting noise floor / noise reduction levels. Currently Audiotools cannot help you to create this file and it is best to use an application such as Cool Edit to cut a silent portion of audio from a recording of part of your source file.

ANALYSE I/P

Begins to analyses the soundcard input to gather the information for the selected options. It is best to use a silent section of the audio if you are collecting noise floor / noise reduction levels. Press the button again to stop analysing.

Parametric EQ Page

Parametric equalisation is like the graphic eq on your hi-fi except that you can change the frequency and bandwidth of each filter. Dragging each of the six squares (representing a filter) around allows you to adjust the gain at a given frequency and if you hold down on shift and drag up and down you can adjust the bandwidth of the filter.

Tips on using Audiotools

Top-n-Tail / Auto-track

Before recording with either of these methods, you should perform noise-floor analysis on a silent portion of audio by using Analyse i./p or Analyse file on the file dialog. This sets up the maximum and minimum levels for noise. You can also adjust these manually. Typically, these levels will be similar between similar media recorded using the same soundcard.

Noise reduction

Before using noise reduction you should perform analysis on a silent portion of audio by using Analyse i./p or Analyse file on the file dialog. The information generated (generally referred to as a noise profile) cannot be edited or viewed at the moment (this may be added later).

Speed issues

Some operations, such as noise-reduction, can take considerable amounts of processor power. If a computer is too slow to support it, this may lead to break-up of the sound when recording from a soundcard (but not from files). In extreme cases, Audiotools will detect that your machine is too slow and report an error. For some PC's there will be no alternative, but to perform a recording with auto-tracking and then noise reduce the individual files. These speed issues will be addressed by means of further code optimisation and by allowing more control over the slower components. If you want to improve your PC for using audio programs such as Audiotools, the best place to start is with your hard-disk and the IDE / SCSI controller. Basic recording operations are not processor intensive, but can be very hard-disk intensive. It is also advised that you look at the cache settings in Windows 95.

Version history

March 1998 v1.0 - First release version. Basic recording / playback and Top-n-tail / Autotrack facilities.

April 1998 v1.1 - Improved auto-tracking, improved interface feedback and added lms noise reduction. About box now reports registered user. File based operations accelerated, particularly during complex save operations such as Auto-Track. Removed embedded test data to reduce file size for release versions.

May 1998 v1.2 - Accelerated file operations, particularly for playback. Fixed a bug in "Analyse input". Added clock modes and disable meters capability. Moved enable noise reduction to "Format/Options". Added "Initial Sequence Number" (requested by Jeff Velt).

June v1.21 - Fixed the "too slow" problem that came up during prolonged sessions.

September 1998 v2.0 - Added keyboard tab order, restructured main control panel. Added realtime gain. Added parametric equalisation. Restructured format panels. Added 32khz sampling frequency. Added dc bias adjust. Added noise profile. Allowed input metering. Added soundcard selection. Added track number for manual tracking.

Things yet to come

Offline capability has been bounced until the next version - I feel that there are too many features to hold back here. There's plenty of scope for more to be added to Audiotools, extra file formats and CD-DA reading are currently under investigation. Any suggestions, bug reports or requests for features can be emailed to me at amfish@globalnet.co.uk - I can't promise to add everything, but I'll see what I can do.

Shareware

Audiotools is shareware - it can be registered by credit-card through RegNet (http://www.swregnet.com/) for a sum of $15 US or through UK ShareReg (www.uksharereg.com/atools.html) for £10 UK. UK ShareReg will also take Switch and can, for a small extra charge, handle postal dispatch of registration keys.

The unregistered version is limited to 5 minute recordings. Please register - it will allow Audiotools to develop into an affordable and poweful solution to creating audio tracks and sound effects.

Acknowledgements

Thank you to everyone who has registered so far - it makes the effort worthwhile. A special thank you also to Joel Curtis, Jeff Velt and Scott Born, all of whom have provided invaluable feedback and to Duncan Russell who supplied technical information on filtering and noise reduction and Paul Williams who supplied information to allow me to perfect my parametric eq.