ASR transcript schema
Format JSON transcripts correctly to ensure accurate processing.
When Medallia Speech ingests audio via the Speech API, we create a transcript in JSON format containing utterances and attributes that are used by Text Analytics and Reporting. All metrics and insights are calculated from that transcript rather than directly from the audio.
If you wish to provide your own complete JSON transcript rather than raw audio or video, you must be careful to format the transcript exactly as the Speech pipeline would have formatted it, including all necessary attributes, so that services further along the pipeline can work with the data.
Example transcript
For your convenience, you can copy the template below or download an example JSON file.
{
"request_id": "074b5760-a128-420f-b7e6-1cevn098765c",
"confidence": 0.91,
"duration": 166.38,
"channels": 2,
"utterances": [
{
"confidence": 0.88,
"end": 7.03,
"start": 5.85,
"channel": 0,
"speakerId": "spk_0",
"emotion": null,
"sentiment": null,
"text": "How can I help you?",
"events": [
{
"confidence": 0.95,
"end": 6.01,
"start": 5.85,
"word": "How"
},
{
"confidence": 0.93,
"end": 6.19,
"start": 6.01,
"word": "can"
},
{
"confidence": 0.92,
"end": 6.27,
"start": 6.19,
"word": "I"
},
{
"confidence": 0.94,
"end": 6.91,
"start": 6.71,
"word": "help"
},
{
"confidence": 0.91,
"end": 7.03,
"start": 6.91,
"word": "you?"
}
]
},
{
"confidence": 0.92,
"end": 70.56,
"start": 69.96,
"channel": 1,
"speakerId": "spk_1",
"emotion": null,
"sentiment": null,
"text": "Good morning.",
"events": [
{
"confidence": 0.90,
"end": 70.14,
"start": 69.96,
"word": "Good"
},
{
"confidence": 0.92,
"end": 70.30,
"start": 70.14,
"word": "morning."
}
]
}
],
"language": "en_us"
}Schema attributes
The following table describes the attributes that must be present in the schema:
| Attribute | Data type | Description | Notes |
|---|---|---|---|
| request_id | string | Unique identifier for the transcription request | |
| confidence | number (double) | Overall model confidence score for the transcription, typically between 0 and 1 | |
| duration | number (double) | Total duration of the audio, in seconds | Required to populate the duration field |
| channels | integer | Number of audio channels present in the source file | |
| utterances | array<utterance> | Ordered list of utterances (speech segments) that make up the transcription | |
| utterances.confidence | number (double) | Model confidence score for this utterance | Required to calculate agent and customer clarity fields |
| utterances.end | number (double) | End time of the utterance, in seconds, from the beginning of the audio | Required to calculate silence, overtalk, words per minute, talk rate, and talk streak fields |
| utterances.start | number (double) | Start time of the utterance, in seconds, from the beginning of the audio | Required to calculate silence, overtalk, words per minute, talk rate, and talk streak fields |
| utterances.channel | integer | Audio channel on which this utterance was detected | |
| utterances.gender | string | The gender of the speaker |
|
| utterances.speakerId | string | Identifier of the speaker attributed to this utterance | Required to calculate silence, overtalk, words per minute, talk rate, and talk streak fields |
| utterances.emotion | string |
Emotion detected for this specific utterance Accepted values:
|
|
| utterances.sentiment | string | Sentiment detected for this specific utterance Accepted values:
| |
| utterances.text | string | The transcribed text of the utterance | |
| utterances.events | array<event> | Ordered list of word-level events within this utterance | |
| utterances.events.confidence | number (double) | Model confidence score for this word | Required to calculate silence, overtalk, words per minute, talk rate, and talk streak fields |
| utterances.events.end | number (double) | End time of the word, in seconds, from the beginning of the audio | Required to calculate silence, overtalk, words per minute, talk rate, and talk streak fields |
| utterances.events.start | number (double) | Start time of the word, in seconds, from the beginning of the audio | Required to calculate silence, overtalk, words per minute, talk rate, and talk streak fields |
| utterances.events.word | string | The recognized word or token | Required to calculate silence, overtalk, words per minute, talk rate, and talk streak fields |
| language | string | Detected or specified language of the audio (a language/locale code) | For a list of supported language codes, see Supported languages. |
