Tool for checking sets of audio files against a set of rules.
- Install Python v3.9+
- Install aqc with pip:
pip install git+https://github.com/schtschenok/aqc.git
- Run:
aqc -c /path/to/config.toml -i /path/to/input/folder -o /path/to/output/file.json
This config (config_examples/test_config.toml
)
# Peak
[peak]
reference_values.maximum = -3 # dB
reference_values.minimum = -9 # dB
# True Peak
[true_peak]
reference_values.maximum = -1 # dB
# Peak-to-Average Power ratio in dB, also known as Crest Factor
[papr]
reference_values.minimum = 3 # dB
can produce this output.json
{
"date": "2024-07-12T17:03:03.707922+04:00",
"base_directory": "D:\\Projects\\Python\\Git\\aqc\\test_files",
"files": {
"short.wav": {
"peak": {
"pass": "true",
"value": -6.000037678251388,
"unit": "dB"
},
"true_peak": {
"pass": "true",
"value": -3.915757140377444,
"unit": "dBTP"
},
"papr": {
"pass": "false",
"value": 2.884500243168704,
"unit": "dB"
}
}
}
}
Peak volume of the audio file.
Unit: dB.
True Peak volume of the audio file using two-fold oversampling.
Unit: dBTP.
The difference between the Peak and RMS (Root Mean Square) levels of the audio file.
Unit: dB.
The Root Mean Square volume of the audio file.
Unit: dB.
The integrated loudness of the audio file measured in Loudness Units relative to Full Scale. For files shorter than 4 seconds, it uses a modified algorithm that works better for short files but is not entirely standard-compliant.
Unit: dB.
The duration of the audio file.
Unit: Seconds.
The number of audio channels in the file.
Unit: Channels.
The number of samples of audio carried per second.
Unit: Hz.
The audio file format subtype (e.g., PCM_16, PCM_24).
Unit: N/A.
The duration of silence from the start of the audio file.
Unit: Seconds.
The duration of silence at the end of the audio file.
Unit: Seconds.
The maximum difference in volume between any two channels in the audio file.
Unit: dB.
- DC offset analyzer (learned the hard way)
- Detect cut tails at the end of the file
- Better exclude silence from PAPR calculation
- Proper GUI (but do we need it?)
- Output formats
- Documentation
- Tests maybe
The development of this tool has been supported by Konstantin Knerik Studio.