Do Audio LLMs HEAR Pain? Tracing Acoustic Evidence from Speech to Language Reasoning
Organizations: Microsoft
Abstract
Large audio language models (LALMs) can process speech directly, but it remains unclear how well they use the non-lexical acoustic information that speech carries. We study this question through pain, using TAME-Pain, which contains pain-neutral Harvard sentences and spoken pain ratings recorded at different self-reported pain levels. We introduce HEAR, a four-stage diagnostic framework that traces pain-related information from the speech signal to the model's prediction, and apply it to seven closed-source and open-weight LALMs. On the Harvard sentences, where pain can only be inferred from the voice, all models perform at chance level, and same-speaker references or few-shot examples improve balanced accuracy by no more than six points. On the spoken ratings, the same models reach 87.5-99.7% balanced accuracy. Layer-wise probing of open-weight LALMs shows that pain can be decoded from early audio representations (74.1% balanced accuracy for binary prediction and 45.0% for three-class severity), but that this information, along with most pain-associated acoustic cues, decreases in deeper layers. In an acoustic perception test, weaker models cannot distinguish even large changes in these cues, whereas stronger models can but still fail to infer pain. Finally, we recover pain-related acoustic cues and directly reinject them as structured text into the prompt, which improves pairwise pain prediction by up to 32 points. These results indicate that current LALMs encode paralinguistic information in early layers that is largely unavailable when the model produces its answer.
Figures & tables
| Neutral Harvard Sentence | Spoken Pain Rating | Neutral + Pairwise | Neutral + 20-shot | ||||||||
| Model | Text ∗ | Audio | Text+Audio | Text | Audio | Text+Audio | Audio | Text+Audio | Audio | Text+Audio | |
| Pain vs. No Pain (Balanced Accuracy, %) | |||||||||||
| Closed- Weight | gpt-realtime-mini | 92.7 | 48.1 | 50.2 | 98.9 | 98.7 | 98.7 | 48.6 | 45.2 | 52.8 | 50.4 |
| gpt-realtime | 93.7 | 49.6 | 50.7 | 98.7 | 98.9 | 98.9 | 50.0 | 50.0 | 54.0 | 48.5 | |
| gemini-3.5-flash | 99.1 | 49.9 | 50.0 | 98.8 | 99.2 | 99.2 | 40.9 | 43.3 | 47.6 | 47.2 | |
| gemini-3.1-pro-preview | 99.5 | 50.0 | 50.0 | 99.0 | 99.7 | 99.4 | 52.4 | 49.5 | 49.8 | 51.9 | |
| Pain vs. No Pain | 3-Class Severity | |||
|---|---|---|---|---|
| Probe | Layer | BA | Layer | BA |
| Linear | Block 1 | 68.8 0.8 | Block 1 | 45.0 0.9 |
| MLP | Block 1 | 67.1 2.0 | Input | 43.1 1.7 |
| CRNN | Block 1 | 74.1 1.6 | Input | 44.4 3.5 |
| Pain vs. No Pain | 3-Class Pain Severity | |||||||||||
| Pairwise | 20-shot | Pairwise | 20-shot | |||||||||
| Model | Audio | Text+Audio | AF | Audio | Text+Audio | AF | Audio | Text+Audio | AF | Audio | Text+Audio | AF |
| gpt-realtime-mini | 66.3 17.7 | 64.9 19.7 | 77.4 | 63.1 10.3 | 60.1 9.7 | 58.8 | 40.0 6.8 | 38.2 4.6 | 39.1 | 36.5 2.4 | 35.9 3.8 | 38.4 |
| gpt-realtime | 53.8 3.8 | 51.9 1.9 | 67.8 | 60.4 6.4 | 63.7 15.2 | 60.7 | 34.6 0.5 | 34.7 1.6 | 36.2 | 38.3 3.3 | 37.9 6.6 | 46.6 |
| gemini-3.5-flash | 71.6 30.7 | 61.5 18.2 | 84.6 | 54.5 6.9 | 53.1 5.9 | 54.4 | 40.0 6.9 | 36.5 4.9 | 38.7 | 29.4 5.8 | 33.8 2.1 | 37.5 |
| gemini-3.1-pro-preview | 82.2 29.8 | 81.7 32.2 | 89.4 | 60.7 10.9 | 60.6 8.7 | 58.8 | 33.3 0.2 | 32.5 0.8 | 42.6 | 41.9 5.8 | 42.6 4.0 | 43.0 |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Test Speaker IDs | ||||
|---|---|---|---|---|
| p10555 | p12460 | p18355 | p40505 | p50580 |
| p52610 | p59520 | p77220 | p79550 | p91315 |
| Hyperparameter | Search space |
|---|---|
| Layer | Encoder input; encoder blocks 1, 7, 13, 19, 25, 32; projector; LM layers 5, 11, 16, 22, 28 |
| Head | Linear, MLP, CRNN |
| Prompt | Setting | Input | Description | |
| Pain vs. No Pain | ||||
| P H.1 | Spoken Pain Rating | Audio | Classify pain from a single recording. | 856 |
| P H.1 | Neutral Harvard Sentence | Audio | Classify pain from a single recording. | 3,802 |
| P H.1 | Spoken Pain Rating | Text | Classify pain from the transcript only. | 856 |
| P H.1 | Neutral Harvard Sentence | Text | Classify pain from the transcript only. | 3,802 |
| P H.1 | Spoken Pain Rating | Text+Audio | Classify pain from a recording and its transcript. | 856 |
| Model | Version / Checkpoint | Decoding | Max Tokens |
| Closed-Source Models | |||
| gpt-realtime-mini ( OpenAI, 2025a ) | API (Sep. 2026) | default | 1024 |
| gpt-realtime ( OpenAI, 2025b ) | API (Sep. 2026) | default | 1024 |
| gemini-3.5-flash ( Google DeepMind, 2026b ) | API (Sep. 2026) | 4096 | |
| gemini-3.1-pro-preview ( Google DeepMind, 2026a ) | API (Sep. 2026) | 1024 | |
| Open-Weight Models | |||
| gpt-realtime-mini | gpt-realtime | gemini-3.5-flash | gemini-3.1-pro-preview | Qwen2.5-Omni-7B | Qwen3-Omni-30B-A3B | Kimi-Audio | ||||||||
| Modality | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class |
| Neutral Harvard Sentence | ||||||||||||||
| Text | 100.0 | 99.8 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 99.9 | 100.0 | 100.0 | 100.0 | 100.0 | – | – |
| Audio | 97.3 | 98.7 | 100.0 | 100.0 | 99.4 | 99.8 | 100.0 | 99.8 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 |
| Text+Audio | 100.0 | 100.0 | 100.0 | 100.0 | 99.8 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 |
| Spoken Pain Rating | ||||||||||||||
| Feature | 95% CI | ||
| Frequency | |||
| F0semitoneFrom27.5Hz_sma3nz_amean 1 | 0.05 | [0.01, 0.08] | .011 |
| F0semitoneFrom27.5Hz_sma3nz_stddevNorm | 0.19 | [0.15, 0.22] | .001 |
| F0semitoneFrom27.5Hz_sma3nz_percentile20.0 | 0.00 | [ 0.04, 0.03] | .846 |
| F0semitoneFrom27.5Hz_sma3nz_percentile50.0 | 0.16 | [0.13, 0.20] | .001 |
| F0semitoneFrom27.5Hz_sma3nz_percentile80.0 | 0.15 | [0.11, 0.18] | .001 |
| Group / eGeMAPSv02 feature | Group / eGeMAPSv02 feature |
|---|---|
| Pitch level | Formants |
| F0semitoneFrom27.5Hz_sma3nz_percentile50.0 | F1frequency_sma3nz_stddevNorm |
| F0semitoneFrom27.5Hz_sma3nz_percentile80.0 | F3amplitudeLogRelF0_sma3nz_stddevNorm |
| Pitch variability | Spectral flux |
| F0semitoneFrom27.5Hz_sma3nz_stddevNorm | spectralFlux_sma3_amean |
| F0semitoneFrom27.5Hz_sma3nz_pctlrange0-2 | spectralFlux_sma3_stddevNorm |
| Cue | Target feature | Manipulation method | Range | Target shift | Largest off-target feature | Off-target shift | Pairs |
| Spectral balance | alphaRatioV_sma3nz_amean | High-shelf filter at 1 kHz | 4 dB | 0.89 | mfcc1V_sma3nz_amean | 1.46 | 760 |
| hammarbergIndexV_sma3nz_amean | (SciPy biquad) | 4 dB | 0.87 | mfcc1V_sma3nz_amean | 1.36 | ||
| slopeV0-500_sma3nz_amean | |||||||
| slopeV500-1500_sma3nz_amean | |||||||
| Loudness | loudness_sma3_amean | Waveform gain | 1 dB | 0.71 | spectralFluxUV_sma3nz_amean | 1.23 | 760 |
| (NumPy) | 2 dB | 1.28 | spectralFluxUV_sma3nz_amean | 2.10 |
| Attribute | Effect | 95% CI | Sym. | Null slopes | Verdict | Flip (+ / ) |
|---|---|---|---|---|---|---|
| Spectral balance | 0.62 | [0.59, 0.66] | 0.05 | 0.62 / – | credible | 0.22 / 0.18 |
| Loudness | 0.13 | [0.11, 0.14] | 0.03 | 0.13 / – | credible | 0.03 / 0.04 |
| Loudness variability | 0.02 | [0.01, 0.05] | 0.01 | 0.02 / – | credible | 0.01 / 0.01 |
| Mean pitch | 0.19 | [0.04, 0.34] | 0.20 | 0.10 / 0.24 | credible | 0.11 / 0.18 |
| Pitch variability | 0.23 | [ 0.43, 0.001] | 0.23 | 0.06 / 0.17 | no effect | 0.19 / 0.12 |
| Speech rate | 0.14 | [ 1.03, 0.23] | 0.57 | 1.84 / 0.06 | artifact | 0.22 / 0.26 |
| Cue | Target feature(s) | Manipulation method | Low | High | target | Pairs |
| Pitch level | F0semitoneFrom27.5Hz_sma3nz_amean | PSOLA F0 shift (Praat) | 8 st | 8 st | 15.87 | 100 |
| Pitch variability | F0semitoneFrom27.5Hz_sma3nz_stddevNorm | PSOLA F0-range scaling (Praat) | 0.0 | 2.5 | 3.96 | 100 |
| F0semitoneFrom27.5Hz_sma3nz_pctlrange0-2 | ||||||
| Loudness level | loudness_sma3_amean | Waveform gain | 20 dB | 20 dB | 30.95 | 100 |
| equivalentSoundLevel_dBp | ||||||
| Loudness dynamics | loudness_sma3_stddevNorm | Envelope exponent (Hilbert) | 0.3 | 2.0 | 10.62 | 100 |
| Feature | L1 | L2 | L3 | Pooled |
|---|---|---|---|---|
| Pitch level | 100 | 100 | 100 | 100.0 |
| Loudness level | 100 | 100 | 100 | 100.0 |
| Spectral tilt | 100 | 100 | 100 | 100.0 |
| Pitch variability | 100 | 90 | 100 | 96.7 |
| Loudness dynamics | 100 | 95 | 95 | 96.7 |
| Overall | 100 | 97 | 99 | 98.7 |
| gpt-realtime-mini | gpt-realtime | gemini-3.5-flash | gemini-3.1-pro-preview | Qwen2.5-Omni-7B | Qwen3-Omni-30B-A3B | Kimi-Audio | ||||||||
| Modality | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class | Binary | 3-class |
| Neutral + Pairwise | ||||||||||||||
| Audio | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 |
| Text+Audio | 100.0 | 100.0 | 100.0 | 100.0 | 99.5 | 99.6 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 |
| AF | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 98.9 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 | – | – |
| Neutral + 20-shot | ||||||||||||||
| Pain vs. No Pain | 3-Class Pain Severity | |||||||||||
| Neutral Harvard Sentence | Spoken Pain Rating | Neutral Harvard Sentence | Spoken Pain Rating | |||||||||
| Model | Audio | Text+Audio | AF | Audio | Text+Audio | AF | Audio | Text+Audio | AF | Audio | Text+Audio | AF |
| gpt-realtime-mini | 50.8 2.7 | 50.3 0.1 | 49.8 | 98.5 0.2 | 98.2 0.5 | 50.5 | 34.0 0.3 | 33.7 0.2 | 34.3 | 90.7 5.3 | 88.3 5.3 | 33.0 |
| gpt-realtime | 50.0 0.4 | 51.7 1.0 | 50.0 | 98.8 0.1 | 98.9 0.0 | 50.0 | 31.2 1.6 | 33.4 0.7 | 33.3 | 98.9 0.0 | 98.8 0.5 | 34.3 |
| Qwen2.5-Omni-7B | 50.0 0.2 | 50.1 0.1 | 50.4 | 98.1 0.7 | 98.8 0.2 | 48.4 | 33.4 0.0 | 33.4 0.3 | 33.9 | 93.6 4.4 | 89.6 3.7 | 33.4 |
| Qwen3-Omni-30B | 50.3 0.1 | 49.9 0.2 | 50.2 | 99.5 0.0 | 99.2 0.1 | 50.1 | 33.4 0.0 | 33.3 0.0 | 34.5 | 99.5 0.0 | 99.0 1.2 | 32.1 |
| Group / eGeMAPSv02 feature | Group / eGeMAPSv02 feature |
| Pitch level (4) | Formants (14) |
| F0semitoneFrom27.5Hz_sma3nz_amean † | F1frequency_sma3nz_amean † |
| F0semitoneFrom27.5Hz_sma3nz_percentile20.0 | F1frequency_sma3nz_stddevNorm |
| F0semitoneFrom27.5Hz_sma3nz_percentile50.0 | F1bandwidth_sma3nz_amean |
| F0semitoneFrom27.5Hz_sma3nz_percentile80.0 | F1bandwidth_sma3nz_stddevNorm |
| Pitch variability (5) | F1amplitudeLogRelF0_sma3nz_amean |
| Neutral Audio (Pairwise) | Neutral Audio+Text (Pairwise) | |||||
|---|---|---|---|---|---|---|
| Model | Base | +Features | Base | +Features | ||
| gpt-realtime-mini | 18.38 | 18.41 | 0.03 | 17.80 | 19.79 | 1.99 |
| gpt-realtime | 20.75 | 23.90 | 3.15 | 18.83 | 22.37 | 3.54 |
| Qwen2.5 | 28.18 | 27.07 | 1.11 | 18.47 | 25.99 | 7.53 |
| Qwen3 | 28.79 | 35.94 | 7.15 | 25.93 | 33.72 | 7.79 |
| Cue | Question |
|---|---|
| Pitch level | Which clip has the higher mean pitch? |
| Pitch variability | Which clip has more pitch variation? |
| Loudness level | Which clip is louder overall? |
| Loudness dynamics | Which clip has greater loudness variation? |
| Spectral tilt | Which clip sounds brighter or sharper? |
Audio-Language Model Evaluation
Audio-language model evaluation tests whether systems understand speech, music, and environmental sound reliably, fairly, and with evidence grounded in audio.
See all 208 papers