Audio-Analyzer

The Audio-Analyzer project is a set of tools for measuring the frequency response, distortion, and quality of audio equipment. It includes test signal generators and spectrum analyzers.

Project detail and discuss


It would be good to have some tools for investigating audio equipment
quality and response.  Both for live and stored reproduction.
This would include amplifiers, tape-decks, speakers, microphones, 
MP3 players, and even the effects of various compaction formats
like MP3, OGG, and all their variants and quality levels.

It would be nice to generate various kinds of test signals,
and to be able to analyze the reproductions.  Analysis should
reveal frequency response, distortion, noise, IMD, and maybe any
other unexpected artifacts.  Consider the new digital world of
non-linear compressed formats.  Are there visible quantization
or levels or limits in the number of simultaneous tones that can be reproduced?
OGG and MP3 reduce file size by 10:1.  What are we loosing?
What is it doing to the sound, especially to complex music?
Some reports say OGG is cleaner than MP3 or vice versa.
Which is it, and by how much? 
Does noise or distortion level rise with volume level, or is it constant? 

It would be nice to visualize the audio waveform in various ways.
For example, to see the time-domain values generated, to confirm
and understand their structure and range, and to compare the
applied reference signal directly with the output signal coming
out of the audio equipment.  This is easier said than done.
Merely sending four minutes of audio samples to gnuplot or Matlab results
in a solid page of ink.  Old osciloscopes had a way of synching onto a
signal and showing just a few cycles.  We need some software program that
does that on the computer by reading any audio file.  It would be nice to plot the
frequency spectrum, and show distortion versus frequency and
volume.

Basic questions:
  What are we putting into our ears?
  What are the devices we use doing to it?

In the past, such test equipment was incredibly expensive, and rare.
Such results could only be viewed in audio magazines, few and far between.

Now that digital audio cards are becoming available in most PCs, all
we need is some cheap software to do all this analysis ourselves, and much
more.

So I am beginning to search for the following capabilities:

 1. Signal generators:
     - Pure sine waves of various frequencies
     - Frequency sweeps from low to high.
     - Impulses, because impulse response reveals wide-band
        response and transient characteristics
     - White noise
     - Square and triangle waves
     - Ideally should write WAV, OGG, and MP3 formats that
       can be played or feed into audio devices.

 2. Audio Plotters
     - Time domain and frequency domain.
     - Ideally that read WAV, OGG, and MP3 formats that can
	be recorded from various audio devices.
     - Distortion versus frequency or volume.

 3. Analyzers
     - Compute spectrum for frequency response display.
     - Reveal THD and IMD.


I am finding some projects that have rather monolithic tools, where the
tool basically does some of these things, but not necessarily
in the flexible way I am looking for.

For example, probably coming from the earlier days of analog
audio, some test programs expect to apply a test signal and
be analyzing the output at the same time.  This works great
for speaker analysis, but doesn't apply for studying recording
media.

I have not been happy with what I have found so far.
And it does not seem like it would be difficult to put something
together closely matching what I need.  It might be interesting
to others as well.  So I plan to post it.

First I am developing simple text programs that generate
test frequencies based on command arguments.  These work
great for scripting tests.

Next, we need a good way to record audio from various sources
onto the computer, and to possibly edit the recording to select
specific test sections perhaps.

{more to come}
...