FAQ¶
What does DEBUSSY compute?¶
The eleven-item minimum reporting guideline for autonomic-arousal stimuli: A-weighted level (LAeq, dBFS-A), dynamic range, crest factor, onset attack times, roughness (asper), tempo / amplitude-modulation rate, spectral centroid, sharpness (acum), spectral slope, harmonics-to-noise ratio, spectral flatness, plus the two categorical fields (lyrics, delivery). Length-aware temporal-coverage descriptors report the proportion of a clip that crosses each Tier-1 threshold.
How do I analyse one file?¶
from debussy import analyze_audio
r = analyze_audio("stimulus.wav")
print(r.laeq_dbfs_a, r.roughness_asper)
print(r.to_json()) # full result as JSON
Which file formats and sample rates are supported?¶
Anything soundfile/libsndfile can read (WAV, FLAC, OGG, AIFF …). MP3 support
depends on your libsndfile build; if it fails, decode to WAV first (see
Troubleshooting). Any sample rate is accepted; mosqito
resamples to 48 kHz internally for the psychoacoustic metrics and prints a
notice — pass suppress_warnings=True to silence it.
Why is laeq_dbfs_a negative?¶
Digital audio carries no absolute SPL, so LAeq is reported in dBFS-A (A-weighted,
full-scale relative), which is ≤ 0. For true dB SPL, calibrate against a reference
recording and pass calibration_offset_db=<offset>; the offset is added directly
to LAeq and nothing else.
Why are some parameters None?¶
Some metrics are undefined on adversarial inputs: a pure tone has no amplitude
modulation (roughness/modulation may be None), and a clip with fewer than two
detected onsets has no attack estimate. None means "not well-defined here", not
"error".
Do I need a GPU?¶
No. Analysis is CPU-only. mosqito's roughness runs at roughly real time, so files
longer than ~50 s are characterised from evenly spaced probes rather than in full;
set DEBUSSY_MAX_ANALYZE_S to change the cap.