Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 137

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 259

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 1149

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 1034

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/ncorlett/neillcorlett.com/wiki/wikka.php:137) in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 1136

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/ncorlett/neillcorlett.com/wiki/wikka.php:137) in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 1136
<br /> <b>Deprecated</b>: Function ereg() is deprecated in <b>/home/ncorlett/neillcorlett.com/wiki/wikka.php</b> on line <b>439</b><br /> Informer<br /> <b>Deprecated</b>: Function ereg() is deprecated in <b>/home/ncorlett/neillcorlett.com/wiki/wikka.php</b> on line <b>439</b><br /> - Neill Corlett's Home Page


Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 439
Informer


Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/actions/header.php on line 55


Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 41

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 46

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 61

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 62

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 70

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 72

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 79

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 80

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/handlers/page/show.php on line 85

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 630

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 632

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 632

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 632

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 635

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 630

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 632

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 632

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 632

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 630

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 630

Deprecated: Function ereg() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 628

Deprecated: Function ereg_replace() is deprecated in /home/ncorlett/neillcorlett.com/wiki/wikka.php on line 630

Informer - Detect lossy audio!



Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/safehtml.php on line 308

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 159

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 161

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 162

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 163

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 165

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 166

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 167

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 243

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 250

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 259

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 266

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 273

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 280

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 467

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 469

Deprecated: Assigning the return value of new by reference is deprecated in /home/ncorlett/neillcorlett.com/wiki/3rdparty/core/safehtml/classes/HTMLSax.php on line 471
Is that CD legit? Are those FLAC files just recoded MP3s in disguise? Now you know. Informer is a real-time spectrograph with a special purpose: To help detect lossy encoding (such as MP3) in an audio stream. Informer listens to your sound card's wave output and creates a graph that makes lossy compression easily visible.

MP3, and other lossy formats, create conspicuous patterns in tonality. High frequencies may change from frame to frame, or certain frequencies may be omitted, in unusual and artificial-looking shapes. The general rule is look for rectangular or stair-step patterns in Informer's output, especially between the red and green lines.

Informer is good for finding many types of lossy formats:
  • MP3 is visible at all bit rates.
  • WMA is visible at all bit rates.
  • Musepack is visible at all bit rates.
  • Ogg Vorbis is visible at under 300 kbits/sec, but becomes difficult above that.
  • MPEG-4 AAC is visible at under 200 kbits/sec, but becomes difficult above that.
The future is lossless. Make sure your stuff really is lossless.

Download


Latest version:

Download Informer v1.02 (Win32 installer)
Download Informer v1.02 source code

Previous versions:

Download Informer v1.01 (Win32 installer)
Download Informer v1.01 source code

Release notes - What's new in each version.

How to use


First, set up your PC sound card to record its own wave output. Depending on your sound card or motherboard, this option may be called "Stereo Mix", "Wave", "What U Hear", etc.

Now run Informer, and play a song in any media player, such as Winamp. You should see the analysis of the sound start to scroll by. If not, try selecting a different audio device in the Input → Device menu.

The X axis represents frequency, with 0 Hz on the left, and 24 KHz on the right. The red line is 16KHz (the limit for many MP3s); the green line is 22.05 KHz (the limit for CDs). The Y axis represents time.

Test it out by playing some MP3s, and then some lossless tracks. Things you should watch out for:
  • Rectangular, jagged, or stair-step patterns are caused by abrupt changes in the stream's frequency response, usually coinciding with frame boundaries in lossy formats such as MP3.
  • The patterns may be worst between the red line (16 KHz) and green line (22.05 KHz).
  • If everything to the right of the red line (16 KHz) is dark, it's probably lossy.
  • The patterns may also be more apparent if you switch to a different channel (Side, Left or Right).
  • If you see a mirror image, either the player or sound card is resampling improperly. Try YouTube for an example.
Hold the left mouse button anywhere in the window to freeze the output momentarily.

Menu options


Input
  • Device
    • Selects which sound device to use for recording. Any device which supports DirectSound can be used. Under Windows Vista or later, native devices (marked as [Vista]) should work best.
  • Sample Rate
    • Selects the sample rate. 48 KHz is the default. Some devices may be locked to a specific sample rate, in which case you won't be able to change it.
View
  • Channel
    • Center: Examine the center (L+R) signal.
    • Side: Examine the side (L-R) signal.
    • Left: Examine the left (L) signal.
    • Right: Examine the right (R) signal.
  • Algorithm
    • Roundoff Error: Computes tonality and then enhances the roundoff error. This is the mode which is most useful for detecting lossy audio, and is the default.
    • Tonality: Measures the predictability of magnitude and phase at each frequency bin.
    • Amplitude (dB): Amplitude of each frequency bin in decibels.
  • Palette
    • Select which color palette to use for the spectrograph.
  • Scrolling
    • Enable or disable scrolling of the spectrograph.
  • Show frequency tooltip
    • Enable or disable the frequency tooltip.
  • Actual Width
    • Snap the window to the actual size of the analysis (1 pixel = 1 frequency bin).
Priority
  • Use this menu to adjust the process priority. If you're running many other CPU-intensive programs, you might find Informer runs more smoothly set to Above Normal or High. As with any program, be careful when increasing the priority.


Troubleshooting


The application failed to initialize properly (0xc0000135).

This error message will appear if you don't have the .NET Framework installed. You can get this from Windows Update.

The window fills with noise when there's no sound.

This is normal and is attributable to roundoff error, especially when the "Roundoff Error" algorithm is selected. As soon as you play a sound with sufficient volume, the spectrograph should lock on to the relevant frequencies again. If you can't get it to work, try changing the input device from the Input menu.

The window doesn't scroll at all when there's no sound.

This is normal under Windows Vista or later.

Requirements

  • Windows 2000, XP, Vista or later.
  • .NET Framework 2.0. If you don't have this, you can get it via Microsoft Update.
  • The latest version of DirectX.
  • A fairly fast CPU (1 GHz recommended).
  • A sound card or motherboard that can record via DirectSound.


Terms of use


Informer is distributed under the terms of the GNU General Public License Version 3.

Acknowledgments


Informer makes use of the excellent FFTW library by Matteo Frigo and Steven G. Johnson.

Informer also makes use of the research notes of Bosse Lincoln: An Experimental High Fidelity Perceptual Audio Coder.




Wiki

contact Neill Corlett