Giter Site home page Giter Site logo

aqc's Introduction

AQC - Audio Quality Control

Tool for checking sets of audio files against a set of rules.

Installation & Usage

  1. Install Python v3.9+
  2. Install aqc with pip:
pip install git+https://github.com/schtschenok/aqc.git
  1. Run:
aqc -c /path/to/config.toml -i /path/to/input/folder -o /path/to/output/file.json

Example

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"
            }
        }
    }
}

Analyzers

Peak

Peak volume of the audio file.
Unit: dB.

True Peak

True Peak volume of the audio file using two-fold oversampling.
Unit: dBTP.

PAPR (Peak-to-Average Power Ratio)

The difference between the Peak and RMS (Root Mean Square) levels of the audio file.
Unit: dB.

RMS

The Root Mean Square volume of the audio file.
Unit: dB.

LUFS

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.

Length

The duration of the audio file.
Unit: Seconds.

Channel Count

The number of audio channels in the file.
Unit: Channels.

Sample Rate

The number of samples of audio carried per second.
Unit: Hz.

Subtype

The audio file format subtype (e.g., PCM_16, PCM_24).
Unit: N/A.

Leading Silence

The duration of silence from the start of the audio file.
Unit: Seconds.

Trailing Silence

The duration of silence at the end of the audio file.
Unit: Seconds.

Channel Difference

The maximum difference in volume between any two channels in the audio file.
Unit: dB.

TODO

  • 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

Thanks

The development of this tool has been supported by Konstantin Knerik Studio.

aqc's People

Contributors

schtschenok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

eugeneenegue

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.