> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://dev.hume.ai/expression-measurement/docs/audio/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://dev.hume.ai/_mcp/server. # Audio **The audio endpoints measure emotional expression in speech.** The server detects speech, groups it into utterances, and measures each utterance at a fixed interval. Every measurement has two lists of scores: `expressions`, such as `amusement`, and `voice_attributes`, such as `monotone`, which describe how the voice and the recording sound. ## Upload or realtime Both endpoints return the same measurements for the same audio. They differ in how the audio arrives and how the results come back.
[Upload](/expression-measurement/docs/audio/upload) [Realtime](/expression-measurement/docs/audio/realtime)
Endpoint `POST /v1/expression/audio/file` `WSS /v1/expression/audio/realtime`
Audio A WAV file or headerless samples, up to 25 MB Headerless samples, streamed as binary frames
Results Every utterance and every measurement in one response `utterance.start` , `measurement.result` , and `utterance.end` messages while speech continues
Configuration A `config` part `session.update` , before the first audio frame
Recorded as A run under the `run_id` A run under the `session_id`
Use for Recorded media, for example to label a dataset or to evaluate generated audio Media as it happens, for example to route or monitor a live call
Both endpoints accept one audio format: signed 16-bit little-endian PCM at 16,000 Hz, mono. > **Warning** > > **The audio model measures one speaker at a time.** To measure a conversation with more than one speaker, record each speaker on an isolated channel, then send each channel as separate mono audio in its own upload or realtime session. ## Supported languages **The model behind the audio endpoints measures expression in speech in more than 50 languages, including 16 core languages:** Arabic, Bengali, English, French, German, Hebrew, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Turkish, and Vietnamese. Requests have no language parameter, so the same request works across languages. ## Next steps #### [Audio upload](/expression-measurement/docs/audio/upload) Upload an audio file and receive measurements for every utterance. #### [Audio realtime](/expression-measurement/docs/audio/realtime) Stream audio and receive measurements for each utterance. ## Docs - [Audio upload](https://dev.hume.ai/expression-measurement/docs/audio/upload.md): Upload an audio file and receive measurements for every utterance in it. - [Audio realtime](https://dev.hume.ai/expression-measurement/docs/audio/realtime.md): Stream audio and receive measurements for each utterance while it is still being spoken. - [Audio measurements](https://dev.hume.ai/expression-measurement/docs/audio/measurements.md): The expressions and voice attributes the audio endpoints measure.