Skip to main content

Unified automatic quality assessment for speech, music, and sound.

Project description

audiobox-aesthetics

Unified automatic quality assessment for speech, music, and sound.

Read our paper here.

Installation

This repository requires Python 3.9 and Pytorch 2.2 or greater. To install, you can clone this repo and run:

pip install -e .

Pre-trained Models

Model Link
All axes checkpoint.pt

Usage

How to run prediction:

  1. Create a jsonl files with the following format

    {"path":"/path/to/a.wav"}
    {"path":"/path/to/b.wav"}
    ...
    {"path":"/path/to/z.wav"}
    

    or if you only want to predict aesthetic score from certain timestamp

    {"path":"/path/to/a.wav", "start_time":0, "end_time": 5}
    {"path":"/path/to/b.wav", "start_time":3, "end_time": 10}
    

    and save it as input.jsonl

  2. Run following command

    audio-aes input.jsonl --ckpt "/path/to/checkpoint.pt" > output.jsonl
    

    If path for ckpt didn't exist or you haven't download the checkpoint, the script will try to download it automatically.

  3. Output file will contains same number of rows as input.jsonl. Each rows contains 4 axes prediction with JSON-formatted dictionary. Check following table for more info:

    Axes name Full name
    CE Content Enjoyment
    CU Content Usefulness
    PC Production Complexity
    PQ Production Quality

    Output line example:

    {"CE": 5.146, "CU": 5.779, "PC": 2.148, "PQ": 7.220}
    
  4. (Extra) If you want to extract only one axis (i.e. CE), post-process the output file with following command using jq utility:

    jq '.CE' output.jsonl > output-aes_ce.txt

Evaluation dataset

We released our evaluation dataset consisted of 4 axes of aesthetic annotation scores.

Here, we show an example on how to read and re-map each annotation to the actual audio file.

{
    "data_path": "/your_path/LibriTTS/train-clean-100/1363/139304/1363_139304_000011_000000.wav", 
    "Production_Quality": [8.0, 8.0, 8.0, 8.0, 8.0, 9.0, 8.0, 5.0, 8.0, 8.0], 
    "Production_Complexity": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], 
    "Content_Enjoyment": [8.0, 6.0, 8.0, 5.0, 8.0, 8.0, 8.0, 6.0, 8.0, 6.0], 
    "Content_Usefulness": [8.0, 6.0, 8.0, 7.0, 8.0, 9.0, 8.0, 6.0, 10.0, 7.0]
}
  1. Recognize the dataset name from data_path. In the example, it is LibriTTS.
  2. Replace "/your_path/" into your downloaded LibriTTS directory.
  3. Each axes contains 10 scores annotated by 10 different human annotators.
data_path URL
LibriTTS https://openslr.org/60/
cv-corpus-13.0-2023-03-09 https://commonvoice.mozilla.org/en/datasets
EARS https://sp-uhh.github.io/ears_dataset/
MUSDB18 https://sigsep.github.io/datasets/musdb.html
musiccaps https://www.kaggle.com/datasets/googleai/musiccaps
(audioset) unbalanced_train_segments https://research.google.com/audioset/dataset/index.html
PAM https://zenodo.org/records/10737388

License

The majority of audiobox-aesthetics is licensed under CC-BY 4.0, as found in the LICENSE file. However, portions of the project are available under separate license terms: https://github.com/microsoft/unilm is licensed under MIT license.

Citation

If you found this repository useful, please use the following BibTeX entry. (will include arXiv link soon)

@article{tjandra2025aes,
    title={Meta Audiobox Aesthetics: Unified Automatic Quality Assessment for Speech, Music, and Sound},
    author={Tjandra, Andros and Wu, Yi-Chiao and Guo, Baishan and Hoffman, John and Ellis, Brian and Vyas, Apoorv and Shi, Bowen and Chen, Sanyuan and Le, Matt and Zacharov, Nick and Wood, Carleigh and Lee, Ann and Hsu, Wei-ning},
    publisher={Meta AI},
    year={2025},
    url={https://ai.meta.com/research/publications/meta-audiobox-aesthetics-unified-automatic-quality-assessment-for-speech-music-and-sound/}
}

Acknowledgements

Part of model code are copied from https://github.com/microsoft/unilm/tree/master/wavlm.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audiobox_aesthetics-0.0.1.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

audiobox_aesthetics-0.0.1-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file audiobox_aesthetics-0.0.1.tar.gz.

File metadata

  • Download URL: audiobox_aesthetics-0.0.1.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for audiobox_aesthetics-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4c2cd08f1ac28fad89cadf7834ca5b60a16f90852b360ccee879b569bb26d189
MD5 485e6f9371a4f09380eb28b3f50498b2
BLAKE2b-256 bd7644381162d52613240569f0179456186b5396e11190d24ddc9e9a3dbc581f

See more details on using hashes here.

File details

Details for the file audiobox_aesthetics-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for audiobox_aesthetics-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2069f6a6223dfb0459713968152252b427925317dd3f42cfde31f57b7b4b3a9
MD5 54241c56ae85c2c604abb708c1b5b7c0
BLAKE2b-256 33b7b85934e30b2dc7c74a5a247fb4840150431dd3b199bf88667283078915fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page