Skip to content

Use cases ​

Options are chosen for the job: what a call needs only gets in a meeting's way. Three ready-made sets, and what raises accuracy in all of them.

Call centre ​

A call recording is almost always two-channel: telephony has already put the client and the manager on separate channels. That is the best thing that can happen to recognition, so separating by voice is not needed here at all.

json
{"stereo_channels_as_speakers": true, "diarization": false, "speaker_roles": true,
 "call_direction": "inbound", "speaker_identification": true, "pii": false}

call_direction is passed per call: it says who rang whom, and that decides which side is called the client and which the manager. If the recording is mono, turn diarization on and set max_speakers: 2 — roles need exactly two voices.

Keep "Recognise by voice" on and name your managers once: after that they arrive with a name in every recording rather than a number. Company and product names belong in the vocabulary — they are what calls say most often.

Personal data multiplies the tariff by 1.2. Turn it on when you will actually read it: Options.

Meetings ​

A meeting is a mono recording with several voices, and only speaker separation can pull them apart.

json
{"diarization": true, "max_speakers": 4, "speaker_identification": true,
 "speaker_roles": false, "word_timestamps": true, "pii": false}

The model tells apart up to four voices — a ceiling, not a preference: in a meeting of six the extra voices merge into their neighbours. With more people, record closer to whoever is speaking, or split the recording.

"Client and agent" goes off here: roles are only looked for in a conversation of exactly two, and a meeting would give nonsense.

The most useful option in meetings is "Recognise by voice". Name the participants once and the next recordings come back with names instead of "Voice #100". The team is usually the same, so a name pays off at the very next meeting — and a named voice stops being a candidate, which means it no longer expires. Voices and speakers.

Interviews and dictaphone ​

Two people in mono, often in a noisy room. The set is simple:

json
{"diarization": true, "max_speakers": 2, "speaker_identification": true, "pii": false}

max_speakers: 2 is not a formality here: without it noise and echo can make the model "hear" a third person. The interviewer is the same from recording to recording, so name that voice and it stops being a number.

What raises accuracy ​

Five things, best first:

  1. The vocabulary. Company, product and brand names, people's names — what ordinary speech does not carry. How it works.
  2. Stereo channels instead of separation by voice. If telephony gives you two channels, leave stereo_channels_as_speakers on: the sides are already apart, and there is nothing to get wrong.
  3. max_speakers when you know the number of voices. The model stops looking for extra ones.
  4. call_direction on every call. It directly raises the accuracy of the client / manager split.
  5. More prints for the voices you know. If identity.score keeps landing just under the threshold, the voice is short of samples: add one more from a good recording.

What does not help: switching everything on. Extra options do not make the text more accurate, and Personal data multiplies the tariff on top of that.