Feature #1359
Loudness Normalisation
Status: | Resolved | Start date: | 2015-07-30 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | Nicholas Jillings | % Done: | 0% | |
Category: | - | |||
Target version: | - |
Description
Perhaps we should make some python script to pre-normalise audio.
This would allow for a complete system for evaluation, from preprocessing to graph production.
Related issues
History
#1 Updated by Nicholas Jillings over 9 years ago
Agreed, would be easier for web audio to do that on the fly. New option, just need to work out which loudness standards (LUFS?)
#2 Updated by Brecht De Man over 9 years ago
Perhaps worth to have a look at my MATLAB code for APE, under 'aux/'; I've got scripts I use for any test (including tests with WAET).
Basically, I
- check the sampling rate and bit depth is right and resample/reformat if not: batchresample.m
- superficially check none of the files are the same (I've had the issue of having A.wav and B.wav being the same file), by doing a 'checksum' of some sort: finddouble.m
- chop away all zero-samples at beginning and end of each file: stripzeros.m
- align them so the crosscorrelation peak is at zero (by inserting zeros at beginning of all but one file): autoalign.m
- clip the exact same fragment from each of the fragments and apply a linear fade of a specified length at beginning and end: clipfade.m
- put them at the same loudness: I use the 'R128x-GUI' app for this, and then apply gain using 'gain.m'. There's some issues with the other loudness normalising scripts.
You may or may not want to do all of these, or make it configurable. Specifically chopping out a fragment is something you will not always need.
#3 Updated by Nicholas Jillings about 9 years ago
- Assignee set to Nicholas Jillings
Some of these scripts can be used to improve the test creation, such as the resample option, find double and others.
Otherwise in the actual WAET launch, alignment should be trivial as should the loudness. The rest we should assume was done 'by design' of the test.
#4 Updated by Nicholas Jillings almost 9 years ago
- Related to Feature #1478: Element Volume Control added
#5 Updated by Nicholas Jillings almost 9 years ago
- Status changed from New to In Progress
Features to add:
- Allow a setting of desired LUFS level
- Have a loudness node to track the master output loudness levels and report the test integrated loudness
- Loudness normalisation per page or by test?
#6 Updated by Nicholas Jillings almost 9 years ago
- Status changed from In Progress to Resolved
Giving this a resolved as the implementation is done (XML side and things), need to confirm the loudness script is actually working but that is in a different bug report.