Summary
whisper_at is currently a config option that only takes effect on the Python backend (it swaps whisper for whisper-at in the CLI invocation). The cpp backend has no equivalent — meaning users who choose cpp for speed and offline operation lose the ability to detect and label music, applause, ambient sound, and other AudioSet events.
Motivation
I'm building a film shotlist annotation corpus where one of the per-scene dimensions is score presence / pace / register. Whisper-AT's AudioSet labels (Music, Orchestra, Synthesizer, Acoustic guitar, Singing, etc.) would let me detect score boundaries and classify music character automatically — currently I'd have to switch from cpp to Python to get this, sacrificing the GPU-accelerated speed advantage that makes corpus-scale work practical.
This matters for any workflow analyzing film, sports doc, or branded video at scale.
Suggested approaches
-
Easiest: invoke a separate audio classifier in parallel with whisper-cli. Options include PANNs, YamNet, or a CLAP-based classifier. Outputs would populate the existing audio_tags field already in the AudioResult type.
-
More integrated: if whisper.cpp adds AudioSet tagging in a future release, route to it. (Doesn't exist today.)
-
Best fidelity: integrate with a small audio-understanding LLM (Audio-Flamingo, Pengi, GAMA) for natural-language music descriptions. Larger lift; might be a separate "backend".
Note
This is a feature request rather than a bug — current behavior (cpp returns empty audio_tags) is reasonable as a baseline. Filing because the related bug report references this gap as the workaround constraint.
Summary
whisper_atis currently a config option that only takes effect on the Python backend (it swapswhisperforwhisper-atin the CLI invocation). The cpp backend has no equivalent — meaning users who choose cpp for speed and offline operation lose the ability to detect and label music, applause, ambient sound, and other AudioSet events.Motivation
I'm building a film shotlist annotation corpus where one of the per-scene dimensions is score presence / pace / register. Whisper-AT's AudioSet labels (
Music,Orchestra,Synthesizer,Acoustic guitar,Singing, etc.) would let me detect score boundaries and classify music character automatically — currently I'd have to switch from cpp to Python to get this, sacrificing the GPU-accelerated speed advantage that makes corpus-scale work practical.This matters for any workflow analyzing film, sports doc, or branded video at scale.
Suggested approaches
Easiest: invoke a separate audio classifier in parallel with whisper-cli. Options include PANNs, YamNet, or a CLAP-based classifier. Outputs would populate the existing
audio_tagsfield already in theAudioResulttype.More integrated: if whisper.cpp adds AudioSet tagging in a future release, route to it. (Doesn't exist today.)
Best fidelity: integrate with a small audio-understanding LLM (Audio-Flamingo, Pengi, GAMA) for natural-language music descriptions. Larger lift; might be a separate "backend".
Note
This is a feature request rather than a bug — current behavior (cpp returns empty
audio_tags) is reasonable as a baseline. Filing because the related bug report references this gap as the workaround constraint.