Skip to content

Whisper.cpp backend: support audio tagging (Whisper-AT or parallel classifier) for music / non-speech annotation #41

Description

@jorboyd

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

  1. 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.

  2. More integrated: if whisper.cpp adds AudioSet tagging in a future release, route to it. (Doesn't exist today.)

  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions