BS.1387
ITU-R recommendation BS.1387 is the document that defines Perceptual Evaluation of Audio Quality (PEAQ), an objective measurement technique used to measure the quality of encoded/decoded audio files. It acts in contrast to more the common place subjective testing methodology deployed using ABX and ABC/HR reference testing -- frequently preferred by hydrogenaudio. PEAQ returns an "ODG" rating, which is intended to match the difference in subjective (1–5) scores between the two input samples.
Structure
PEAQ has two versions: basic and advanced. The basic version only uses an FFT-based ear model. The advanced version uses both FFT and filter bank and is expected to be more accurate.
History
BS.1387 was initially published in 1998. It was updated to BS.1387-1 in 2001 and BS.1387-2 in 2023.
- BS.1387-2 seems to have no real change, except for removal of references to BS.1115, addition of a table of contents, and extensive reformatting.
FIXME: download the doc standards and use the compare function to find out what changed.
EAQUAL
EAQUAL (Evaluation Of Audio Quality) is an open-source software that implements PEAQ's advanced model. Several tests have been performed using EAQUAL most notably using numerous AAC encoders to determine via a Pearson Correlation the linear relationship between human ratings and EAQUAL ratings on a given set of test samples. The results, however when using objective testing methodologies are still inconclusive and mostly only used by codec developers and researchers.
Invoking EAQUAL
As of version 0.1.3alpha, the -h argument can be used to find out how to use eaqual (ex: eaqual -h).
To compare a test wave file to a reference wave file, one can use for example: eaqual -fref ref.wav -ftest test.wav.
Interpreting EAQUAL output
EAQUAL outputs one score, the PEAQ "ODG" rating. This ODG (Objective Difference Grade) rating is designed by ITU to match an SDG (Subjective Difference Grade) rating, which is the difference between the subjective (1–5) scores between the two input samples.
Status of the project
Development of EAQUAL was halted in 2002 due to patent concerns. This is not a problem for PEAQ compilance, however, considering BS.1387 never changed much.
Versions of EAQUAL include:
- EAQUAL Sourcecode linux archive of c code used to implement EAQUAL provided by Gabriel Bouvigne, mirrored on github by spxnn
- EAQUAL Tools zip compression archive of the utility used to perform EAQUAL tests provided by Rarewares.
- ivan-codelegs github fork, adds macOS support
Other implementations
PEAQ is simple enough to have many implementations.
- peaqb is another implementation of PEAQ. Last updated 2003.
- There a good number of Matlab implementations for researchers. But it's Matlab, so there's gonna be academic code smell.
External links
- ITU BS.1387 download -- free full text of the standard, straight from the official site.