Con tecnologiaChatGPTClaudeGoogle Gemini
Funziona conGoogle DriveDropboxOneDrive

Features

Speaker Diarization

Detect distinct speakers in a recording and label every word and utterance with who said it.

Speaker diarization detects the distinct voices in a recording and attributes every word to one of them. Turn it on with a single flag, speaker_labels: true, on the create request. Speakers are labeled A, B, C, and so on in order of first appearance.

Quickstart

bash
curl -s -X POST https://api.realtimevoicekit.com/v2/transcripts \
  -H "Authorization: Bearer rtvk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://example.com/panel-discussion.mp3",
    "speaker_labels": true
  }'

Then poll GET /v2/transcripts/{id} as in the quickstart until the status is completed.

Reading the response

With diarization on, the completed transcript carries two speaker views: utterances, an ordered list of speaker turns, and a speaker label on each entry in words. Timestamps are milliseconds.

utterances (excerpt)
{
  "utterances": [
    {
      "speaker": "A",
      "text": "Welcome back to the show. Today we are talking pricing.",
      "start": 130,
      "end": 4620,
      "confidence": 0.98
    },
    {
      "speaker": "B",
      "text": "Great to be here. Let us dive right in.",
      "start": 4980,
      "end": 7410,
      "confidence": 0.97
    }
  ]
}

A simple way to render a conversation:

python
for turn in transcript["utterances"]:
    print(turn["speaker"] + ": " + turn["text"])

Best practices

  • Diarization works best when speakers talk in turns; heavy crosstalk lowers attribution accuracy.
  • Clean, close-mic recordings separate voices better than distant or noisy ones.
  • Give each speaker at least a few seconds of speech; very short interjections are harder to attribute.
  • Labels are per transcript: speaker A in one file is not the same person as speaker A in another. Map labels to real names in your own application layer.
4.2su 21 recensioni