Skip to main content

DEBUSSY

CI PyPI version License: MIT Python 3.10+ HuggingFace Demo

DEBUSSY is a Python toolbox that computes a fixed set of twelve acoustic reporting parameters from an audio stimulus, in a single call, with output formats designed for reproducible psychophysiology and autonomic-arousal research.

Statement of need

Researchers preparing auditory stimuli for autonomic-arousal experiments — sleep, anxiety, cardiac vagal tone, biofeedback — routinely characterise their stimuli using a custom subset of level, temporal, spectral, and psychoacoustic descriptors, then report them in tables. Building this characterisation usually means gluing together at least two Python libraries (librosa for time-frequency descriptors, MOSQITO for ISO/DIN-aligned psychoacoustic metrics) and writing several hundred lines of bookkeeping per study. The resulting reports are not directly comparable across labs because each lab implements the same parameter with slightly different choices (window length, A-weighting timebase, onset detector, mosqito version).

DEBUSSY closes this gap with three design choices:

  1. One call, twelve parameters, one schema. A single analyze_audio() returns a dataclass with the twelve parameters in the order and units of the reporting table used in our companion review paper.
  2. Standardised internals. Window lengths, A-weighting filter coefficients, and the spectral-slope band are fixed and documented.
  3. Tier-1 / Tier-2 / Tier-3 evaluation built in. Each parameter is tagged with a tier indicating whether it is a universal design check, a directional guideline, or an exploratory descriptor.

The twelve parameters

# Parameter Unit Family
1 LAeq dBFS-A Level
2 Dynamic range dB Level
3 Crest factor dB Level
4 Attack time (mean, median, SD) ms Temporal envelope
5 Tempo BPM Temporal envelope
6 Modulation peak Hz Temporal envelope
7 Spectral centroid Hz Spectral shape
8 Spectral slope β — Spectral shape
9 HNR dB Tonal
10 Spectral flatness [0, 1] Tonal
11 Roughness, sharpness asper, acum Psychoacoustic

Install

pip install debussy-audio

To install from source:

git clone https://github.com/hyeonjoong/debussy.git
cd debussy
pip install -e .

Optional extras: pip install debussy-audio[plot] for matplotlib plots, debussy-audio[test] for the test suite, debussy-audio[demo] for the Gradio web UI.

Quickstart

from debussy import analyze_audio

result = analyze_audio("stimulus.wav")
print(result)
# Result(file='stimulus.wav', duration_s=45.06, sample_rate=44100,
#        laeq_dbfs_a=-17.89, dynamic_range_db=8.1, crest_factor_db=10.93,
#        attack_mean_ms=101.59, attack_median_ms=56.11, attack_sd_ms=124.35,
#        roughness_asper=0.07, tempo_bpm=132.5, modulation_peak_hz=1.154,
#        spectral_centroid_hz=3070.1, sharpness_acum=1.521,
#        spectral_slope_beta=-5.368, hnr_db=2.12, spectral_flatness=0.0011, ...)

# Tier framework
from debussy import tier1_compliance, format_compliance
print(format_compliance(result))

Validation

DEBUSSY has been validated on a 60-track open-dataset + clinical benchmark:

  • A2 (DEAM low-arousal) n=10
  • B1 (DEAM mid-to-high arousal) n=15
  • B2 (FMA medium) n=15 (genre-stratified)
  • C1 (BELL-001 SleepThera) n=20 (breath-paced biofeedback stimuli)

Fifty-eight of the sixty tracks produce twelve non-null parameters within physiologically plausible ranges; the two exceptions are ~10 s breath clips with no autocorrelation peak above the voicing gate, so HNR is undefined for them. See paper/ for the JOSS paper, including distribution figures and effect-size analysis.

The manifest, the raw per-track parameter matrix and the scripts that regenerate both live in validation/ — analyze_results.py runs on the published matrix with no audio required.

Citation

If you use DEBUSSY in your research, please cite:

@article{Kim2026,
  title   = {DEBUSSY: A Python toolbox for 12-parameter acoustic reporting of audio stimuli used in autonomic-arousal research},
  author  = {Kim, Hyeon-Joong and others},
  year    = {2026},
  journal = {Journal of Open Source Software},
  note    = {Manuscript in preparation}
}

Architecture

debussy/
├── level          (LAeq, dynamic range, crest factor)
├── envelope       (attack time, tempo, modulation peak)
├── spectral       (centroid, slope β)
├── tonal          (HNR, spectral flatness)
├── psychoacoustic (roughness asper, sharpness acum via MOSQITO)
└── _core          (single-call analyze_audio orchestrator + Result dataclass)

The Gradio interface at https://huggingface.co/spaces/jjjooong/debussy is a demo UI built on top of the library; it is not the primary deliverable. The library is the artefact intended for citation and reuse.

Contributing

See CONTRIBUTING.md. Bug reports, feature requests, and pull requests welcome.

License

MIT. See LICENSE.

Acknowledgements

DEBUSSY builds directly on librosa and MOSQITO. We are grateful to both communities.

Metadata

Release files for debussy-audio 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for debussy-audio 0.2.1
File Size Uploaded
debussy_audio-0.2.1.tar.gz 2.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for debussy-audio 0.2.1
File Interpreter ABI Platform
debussy_audio-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.4 MB

Release files / debussy_audio-0.2.1.tar.gz

Download URL debussy_audio-0.2.1.tar.gz
Size 2.4 MB
Tags Source
SHA-256 checksum
How to use checksums
3fee13e0075acf72e8d1e8a98726ba9e2198dca9a75291640d4f37e064982230
BLAKE2b-256 checksum
How to use checksums
91fdf8f172de11042639bb0fa6f9675b621d24d46255394db6bb2158e1ecef63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / debussy_audio-0.2.1-py3-none-any.whl

Download URL debussy_audio-0.2.1-py3-none-any.whl
Size 25.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
322206f6dbaef5a9b5213bab762770f4133d0c957523869271a7ca098c2ee83c
BLAKE2b-256 checksum
How to use checksums
01aa1e45085142581273c7197f72ae2aef3f4c0fb7528731407618c78d2a427c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

This release

0.2.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page