TAC2: Timestamped Audio Captioning as Composable Functions
1University of Surrey, UK 2Adobe Research, USA
Abstract
Real-world audio applications require precise, queryable representations grounded in physical time. Yet modern Large Audio-Language Models (LALMs) increasingly favor conversational generation, producing free-form descriptions that conflate acoustic perception with higher-level reasoning and lack precise temporal grounding. We introduce TAC2, a foundation model that casts timestamped audio captioning as composable functions to construct granular, speaker-attributed acoustic timelines directly from in-the-wild audio. To avoid prohibitively expensive manual annotation, we programmatically fuse complementary predictions from specialized weak teachers through time-registered IoU matching. We model the resulting multi-granularity schema of timestamped events, speaker turns, and fine-grained speech attributes using an Instruction-Input-Output (IIO) completion format, in which each task is a function of the audio, an instruction, and an optional input. A single call decodes the full description autonomously, while composing calls lets earlier outputs or external priors, such as a reference transcript, condition later ones. We further extend TAC2 with expressive speech attributes to obtain TAC2-S, using parameter-efficient specialists to elicit latent paralinguistic capabilities from the pre-trained backbone and distill them into a unified model. We validate the resulting representation in two complementary settings. Paired with frozen text-only LLMs, it yields strong spoken audio understanding across diverse reasoning backends, demonstrating the utility of decoupling fine-grained acoustic perception from downstream reasoning. Used as paired supervision for text-to-audio generation, it supports semantically and temporally grounded reconstruction, together with explicit zero-shot control over event timing, speaker attributes, and word-level emphasis.
Captioning as composable functions
Each IIO task is a function f(audio, input). One call's output can be the next call's input.
Instruction, input and output of each call
Raw TAC2-S output
Source: Tears of Steel, © Blender Foundation, CC BY 3.0
One model, many functions (TAC2)
Same function, different input
Single call vs. composed calls
TAC2-S, MMSU accuracy with a text-only reasoner.
Understanding: describe, then reason
A frozen text-only LLM answers from the TAC2-S description alone.
Reasoner trace
TAC2-E cascade: 82.9
Gemini-3.7 Flash: 68.7
Tier 1: 79.2 · Tier 2: 86.6
MMAR: 68.0
Full results: MMSU, MMAR, MMAU
| MMSU | MMAR | MMAU | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | DtR | Perc. | Reas. | Overall | Speech | Sound | Music | Overall | Speech | Sound | Music | Overall | Avg. |
| Kimi-Audio | ✗ | 44.8 | 75.7 | 59.8 | 58.5 | 49.7 | 33.0 | 48.0 | 62.2 | 75.7 | 66.8 | 68.2 | 58.7 |
| Qwen2.5-Omni | ✗ | 42.7 | 77.6 | 58.1 | 59.9 | 58.8 | 40.8 | 56.7 | 70.6 | 78.1 | 65.9 | 71.5 | 62.1 |
| StepAudio2 | ✗ | 42.9 | 73.2 | 57.6 | 61.2 | 54.6 | 42.2 | 56.8 | 68.2 | 79.3 | 68.4 | 72.7 | 61.9 |
| UAS-Audio | ✗ | 55.7 | 77.4 | 66.2 | 66.0 | 58.8 | 45.2 | 60.1 | 67.0 | 70.0 | 71.3 | 69.4 | 65.2 |
| Gemini-3.7 Flash | ✓ | 68.7 | 84.4 | 76.3 | 82.7 | 51.5 | 56.8 | 69.5 | 80.5 | 66.1 | 67.1 | 71.2 | 72.3 |
| Qwen3-Omni-Captioner | ✓ | 63.5 | 83.4 | 73.1 | 77.6 | 59.4 | 54.4 | 69.2 | 84.1 | 73.0 | 68.0 | 75.0 | 72.4 |
| TAC | ✓ | 63.8 | 84.8 | 74.0 | 83.7 | 62.4 | 57.3 | 71.1 | 82.0 | 69.4 | 69.8 | 73.7 | 72.9 |
| TAC2-E | ✓ | 79.0 | 87.1 | 82.9 | 84.0 | 56.4 | 52.9 | 70.3 | 80.5 | 71.8 | 68.3 | 73.5 | 75.6 |
| TAC2-S | ✓ | 77.8 | 86.4 | 81.9 | 79.6 | 53.3 | 51.0 | 68.0 | 82.3 | 73.9 | 70.7 | 75.6 | 75.2 |
Examples
Audio-visual (TAC2-S-V)
TAC2-S + a visual grounder. Daily-Omni 79.8 · Video-Holmes 65.1.
Generation: reconstruction from the description
A text-to-audio model trained on TAC2-S descriptions, conditioned on the description alone.
2.93 s without timestamps
Seed Audio 1.0: 3.53
Seed Audio 1.0: 4.05