audiobox aesthetics

Providerfacebook
Categoryaudio-classification
Licensecc-by-4.0
Downloads379
Stars0

Overview

Audiobox Aesthetics is a specialized audio classification model from Meta designed to quantify the subjective quality and 'pleasantness' of sound. Unlike general audio models that focus on speech-to-text or event detection, this model evaluates the sonic characteristics of a clip, making it ideal for automated quality assurance in generative AI pipelines. Developers can integrate it to filter out artifacts, rank synthetic audio outputs, or automate the curation of high-fidelity datasets. It serves as an objective scoring layer to ensure that generated audio meets professional aesthetic standards without requiring manual human review for every iteration.

Highlights

  • Quantifies subjective audio quality and aesthetic appeal
  • Automates quality filtering for generative audio pipelines
  • Reduces reliance on manual human audio auditing
  • Openly available under the flexible CC-BY-4.0 license

Usage

Install
# Install Hugging Face transformers
pip install transformers torch
SDK Usage
# Load model with transformers
from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained("facebook/audiobox-aesthetics")
tokenizer = AutoTokenizer.from_pretrained("facebook/audiobox-aesthetics")

Hugging Face Download

We recommend downloading the model via the Hugging Face CLI or Hub SDK.

Guidance:Before downloading, install huggingface_hub with:

Guidance
pip install -U huggingface_hub

CLI Download

Download the full repository

Download the full repository
huggingface-cli download facebook/audiobox-aesthetics

Download a single file to a local folder (e.g. config.json into ./dir)

Download a single file to a local folder (e.g. config.json into ./dir)
huggingface-cli download facebook/audiobox-aesthetics config.json --local-dir ./dir

See the official docs for more CLI options

SDK Download

SDK Download
# 模型下载
from huggingface_hub import snapshot_download
model_dir = snapshot_download('facebook/audiobox-aesthetics')

Git Download

Make sure git-lfs is installed first

Git Download
git lfs install
git clone https://huggingface.co/facebook/audiobox-aesthetics

To skip LFS large-file downloads, use:

Skip LFS
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/facebook/audiobox-aesthetics

Model files are hosted on the Hugging Face Hub — download directly via HF CLI / SDK / Git, not through this site.

PyTorch / Transformers Usage

Install Transformers

Install Transformers
pip install -U transformers torch

Load the model and run inference

Load the model and run inference
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained('facebook/audiobox-aesthetics')
tokenizer = AutoTokenizer.from_pretrained('facebook/audiobox-aesthetics')

Model Download

We recommend downloading the model via the ModelScope CLI or SDK.

Guidance:Before downloading, install ModelScope with:

Guidance
pip install modelscope

CLI Download

Download the full repository

Download the full repository
modelscope download --model facebook/audiobox-aesthetics

Download a single file to a local folder (e.g. README.md into ./dir)

Download a single file to a local folder (e.g. README.md into ./dir)
modelscope download --model facebook/audiobox-aesthetics README.md --local_dir ./dir

See the docs for more CLI options

SDK Download

SDK Download
# 模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('facebook/audiobox-aesthetics')

Git Download

Make sure git-lfs is installed first

Git Download
git lfs install
git clone https://www.modelscope.cn/facebook/audiobox-aesthetics.git

To skip LFS large-file downloads, use:

Skip LFS
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/facebook/audiobox-aesthetics.git

ModelScope 模型页直接下载模型文件;无需将模型文件放在本站服务器。

Notebook Quickstart

Install the ModelScope library

Install the ModelScope library
pip install "modelscope[audio,cv,nlp,multi-modal,science]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

Load the model and run inference

Load the model and run inference
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

p = pipeline('text-generation', 'facebook/audiobox-aesthetics')

Full Documentation

来源: HuggingFace

---
license: cc-by-4.0
pipeline_tag: audio-classification
tags:

  • model_hub_mixin

  • pytorch_model_hub_mixin

---

This model has been pushed to the Hub using the PytorchModelHubMixin integration:

  • Code: https://github.com/facebookresearch/audiobox-aesthetics

  • Paper: https://huggingface.co/papers/2502.05139

--- README below copied from https://github.com/facebookresearch/audiobox-aesthetics

audiobox-aesthetics

![PyPI - Version](https://pypi.org/project/audiobox-aesthetics/) ![Hugging Face Model](https://huggingface.co/facebook/audiobox-aesthetics)

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

<img src="assets/aes_model.png" alt="Model" height="400px">

Installation

1. Install via pip

code
pip install audiobox_aesthetics

2. Install directly from source

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

code
pip install -e .

Pre-trained Models

Model | S3 | HuggingFace
|---|---|---|
All axes | checkpoint.pt | HF Repo

Usage

How to run prediction using CLI:

1. Create a jsonl files with the following format

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

or if you only want to predict aesthetic scores from certain timestamp
code
{"path":"/path/to/a.wav", "start_time":0, "end_time": 5}
{"path":"/path/to/b.flac", "start_time":3, "end_time": 10}

and save it as input.jsonl

2. Run following command

code
audio-aes input.jsonl --batch-size 100 > output.jsonl

If you haven't downloade the checkpoint, the script will try to download it automatically. Otherwise, you can provide the path by --ckpt /path/to/checkpoint.pt

If you have SLURM, run the following command

code
audio-aes input.jsonl --batch-size 100 --remote --array 5 --job-dir $HOME/slurm_logs/ --chunk 1000 > output.jsonl

Please adjust CPU & GPU settings using --slurm-gpu, --slurm-cpu depending on your nodes.

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

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

Output line example:

code
{"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 the following command using jq utility:

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

code
### How to run prediction from Python script or interpreter

1. Infer from file path


from audiobox_aesthetics.infer import initialize_predictor
predictor = initialize_predictor()
predictor.forward([{"path":"/path/to/a.wav"}, {"path":"/path/to/b.flac"}])
code
2. Infer from torch tensor

from audiobox_aesthetics.infer import initialize_predictor
predictor = initialize_predictor()
wav, sr = torchaudio.load("/path/to/a.wav")
predictor.forward([{"path":wav, "sample_rate": sr}])
code
## Evaluation dataset
We released our evaluation dataset consisting of 4 axes of aesthetic annotation scores.

Here, we show an example of 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]
}
code
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 axis 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 cite the following BibTeX entry.
@article{tjandra2025aes, title={Meta Audiobox Aesthetics: Unified Automatic Quality Assessment for Speech, Music, and Sound}, author={Andros Tjandra and Yi-Chiao Wu and Baishan Guo and John Hoffman and Brian Ellis and Apoorv Vyas and Bowen Shi and Sanyuan Chen and Matt Le and Nick Zacharov and Carleigh Wood and Ann Lee and Wei-Ning Hsu}, year={2025}, url={https://arxiv.org/abs/2502.05139} }
``

Acknowledgements

Part of the model code is copied from https://github.com/microsoft/unilm/tree/master/wavlm.
Join our Telegram