Mehrkanal-Speech-to-Text
Mehrkanal-Speech-to-Text
Diese Anleitung zeigt, wie Sie den Mehrkanal-Transkriptionsmodus mit der Speech to Text API verwenden.
Anleitung · Setzt voraus, dass Sie den Speech to Text- Schnellstart abgeschlossen haben.
Überblick
Mit der Mehrkanal-Funktion von Speech to Text können Sie Audiodateien transkribieren, bei denen jeder Kanal einen eigenen Sprecher enthält. Das ist besonders für Aufnahmen nützlich, bei denen Sprecher auf separaten Audiokanälen isoliert sind. So erhalten Sie sauberere Transkriptionen ohne Sprecherdiarisierung.
Jeder Kanal wird unabhängig verarbeitet und anhand seiner Kanalnummer automatisch einer Sprecher-ID zugeordnet (Kanal 0 → speaker_0, Kanal 1 → speaker_1 usw.). Das System extrahiert die einzelnen Kanäle aus Ihrer Eingabe-Audiodatei und transkribiert sie parallel. Standardmäßig gibt die API ein Transkript pro Kanal zurück. Legen Sie stattdessen multichannel_output_style=combined fest, um ein einzelnes Transkript mit allen Kanälen in einer nach Startzeit sortierten Liste zu erhalten, wobei jedes Wort mit seinem channel_index gekennzeichnet ist.
Häufige Anwendungsfälle
- Stereo-Interviewaufnahmen – Interviewer auf dem linken Kanal, Interviewte Person auf dem rechten Kanal
- Mehrspurige Podcast-Aufnahmen – Jeder Teilnehmer wird auf einer separaten Spur aufgenommen
- Callcenter-Aufnahmen – Agent und Kunde auf unterschiedlichen Kanälen
- Konferenzaufnahmen – Einzelne Teilnehmer auf separaten Kanälen isoliert
- Gerichtsverfahren – Mehrere Parteien auf unterschiedlichen Kanälen aufgezeichnet
Anforderungen
- Ein ElevenLabs-Konto mit einem API-Schlüssel
- Mehrkanal-Audiodatei (WAV, MP3 oder andere unterstützte Formate)
- Maximal 5 Kanäle pro Audiodatei
- Jeder Kanal sollte nur einen Sprecher enthalten
Funktionsweise
Mehrkanal-Audio vorbereiten
Stellen Sie sicher, dass die Sprecher in Ihrer Audiodatei auf separaten Kanälen isoliert sind. Die Mehrkanal-Funktion unterstützt bis zu 5 Kanäle, wobei jeder Kanal einem bestimmten Sprecher zugeordnet wird:
- Kanal 0 →
speaker_0 - Kanal 1 →
speaker_1 - Kanal 2 →
speaker_2 - Kanal 3 →
speaker_3 - Kanal 4 →
speaker_4
API-Parameter konfigurieren
Bei einer Speech-to-Text-Anfrage müssen Sie Folgendes festlegen:
use_multi_channel:truediarize:false(der Mehrkanalmodus trennt Sprecher über Kanäle)
Optional können Sie das Antwortformat festlegen:
multichannel_output_style:separate(Standard) gibt ein Transkript pro Kanal zurück.combinedführt alle Kanäle in einem einzelnen Transkript zusammen, dessen Wörter nach Startzeit sortiert sind und jeweils einenchannel_indexenthalten – entsprechend dem Standard-Antwortformat für einen einzelnen Kanal.combinederfordert Zeitstempel (timestamps_granularitydarf nichtnonesein) und wird nicht mit Webhook-Bereitstellung oder Entitätserkennung/-schwärzung unterstützt.
Der Parameter num_speakers kann im Mehrkanalmodus nicht verwendet werden, da die Sprecheranzahl automatisch durch die Anzahl der Kanäle bestimmt wird. Der Mehrkanalmodus setzt voraus, dass jeder Kanal genau einen Sprecher enthält. Bei mehreren Sprechern wird allen Sprechern im Kanal dieselbe Sprecher-ID zugewiesen.
Antwort verarbeiten
Standardmäßig (multichannel_output_style=separate) gibt Mehrkanal-Audio ein anderes Antwortformat zurück als ein einzelner Kanal:
Wenn Sie use_multi_channel: true festlegen, aber eine einkanalige (Mono-)Audiodatei bereitstellen, erhalten Sie
eine Standardantwort für einen einzelnen Kanal und nicht das Mehrkanalformat. Das Mehrkanal-Antwortformat
wird nur zurückgegeben, wenn die Audiodatei tatsächlich mehrere Kanäle enthält.
Mit multichannel_output_style=combined verwendet die Antwort dieselbe flache Struktur wie eine Transkription für einen einzelnen Kanal (oberste Ebene mit text und words, ohne transcripts-Array). Alle Kanäle werden in einer nach Startzeit sortierten Liste zusammengeführt. Jedes Wort enthält einen channel_index (und speaker_id) zur Identifizierung seines Kanals.
Implementierung
Einfache Mehrkanal-Transkription
Hier ist ein vollständiges Beispiel für die Transkription einer Stereo-Audiodatei mit zwei Sprechern:
Gesprächstranskripte erstellen
Am einfachsten erhalten Sie ein nach Zeit geordnetes Transkript im Gesprächsstil, indem Sie multichannel_output_style=combined anfordern. Die API gibt eine einzelne words-Liste zurück, die bereits nach Startzeit sortiert ist und bei jedem Wort einen channel_index und speaker_id enthält:
Wenn Sie die Standardausgabe separate verwenden, können Sie die Transkripte pro Kanal stattdessen clientseitig zusammenführen:
Webhooks mit Mehrkanal verwenden
Die Mehrkanal-Transkription unterstützt die Webhook-Bereitstellung für die asynchrone Verarbeitung:
Webhooks geben das Format separate (pro Kanal) zurück. multichannel_output_style=combined wird derzeit
nicht mit Webhook-Bereitstellung unterstützt – verwenden Sie eine synchrone Anfrage oder führen Sie die Nutzdaten
der Webhooks pro Kanal clientseitig zusammen.
Fehlerbehandlung
Häufige Validierungsfehler
diarize=true im Mehrkanalmodus festlegen
Fehler: Der Mehrkanalmodus unterstützt keine Diarisierung und weist Sprecher anhand des Kanals zu, auf dem sie sprechen.
Lösung: Legen Sie bei Verwendung des Mehrkanalmodus immer diarize=false fest.
Parameter num_speakers bereitstellen
Fehler: num_speakers kann nicht angegeben werden, wenn use_multi_channel aktiviert ist. Die Sprecheranzahl
wird automatisch durch die Anzahl der Kanäle bestimmt. Lösung: Entfernen Sie den Parameter num_speakers
aus Ihrer Anfrage.
Audiodatei mit mehr als 5 Kanälen
Fehler: Der Mehrkanalmodus unterstützt bis zu 5 Kanäle, aber die Audiodatei enthält X Kanäle.
Lösung: Verarbeiten Sie nur die ersten 5 Kanäle oder bereiten Sie Ihr Audio vorab so auf, dass sich die Anzahl der Kanäle reduziert.
Kombinierte Ausgabe ohne Zeitstempel verwenden
Fehler: multichannel_output_style=‘combined’ erfordert Zeitstempel; setzen Sie timestamps_granularity auf ‘word’ oder ‘character’.
Lösung: Die kombinierte Ausgabe sortiert Wörter nach Zeit. Setzen Sie daher timestamps_granularity auf word
(den Standardwert) oder character.
Kombinierte Ausgabe mit Webhooks verwenden
Fehler: multichannel_output_style=‘combined’ wird noch nicht mit Webhook-Bereitstellung unterstützt.
Lösung: Verwenden Sie eine synchrone Anfrage mit combined, oder behalten Sie die Standardausgabe separate
bei Webhooks bei und führen Sie die Ergebnisse clientseitig zusammen.
Best Practices
Audio vorbereiten
Für optimale Ergebnisse: - Verwenden Sie eine Abtastrate von 16 kHz für bessere Leistung - Entfernen Sie stille oder ungenutzte Kanäle vor der Verarbeitung - Stellen Sie sicher, dass jeder Kanal nur einen Sprecher enthält - Verwenden Sie nach Möglichkeit verlustfreie Formate (WAV) für beste Qualität
Leistung optimieren
Die Parallelitätskosten steigen linear mit der Anzahl der Kanäle. Eine 60-sekündige Datei mit 3 Kanälen verursacht die dreifachen Parallelitätskosten einer einkanaligen Datei.
Sie können die Verarbeitungszeit für Mehrkanal-Audio mit der folgenden Formel schätzen:
Dabei gilt:
- = Dateidauer in Sekunden
- = Anzahl der Kanäle
- = Faktor für die Verarbeitungsgeschwindigkeit (etwa 30 % der Echtzeit)
- = fester Overhead in Sekunden
- = Overhead pro Kanal in Sekunden
Beispiel: Für eine 60-sekündige Stereo-Datei (2 Kanäle):
Speicheraspekte
Bei großen Mehrkanaldateien sollten Sie Streaming oder Aufteilung in Chunks erwägen:
FAQ
Was passiert, wenn mein Audio mehr als 5 Kanäle hat?
Die API gibt einen Fehler zurück. Sie müssen entweder auswählen, welche 5 Kanäle Sie an die API senden, oder einige Kanäle vor dem Senden an die API zusammenmischen.
Kann ich Mono-Audio im Mehrkanalmodus verarbeiten?
Ja, aber das ist nicht nötig. Wenn Sie Mono-Audio mit use_multi_channel=true senden, erhalten Sie
eine Standardantwort für einen einzelnen Kanal und nicht das Mehrkanalformat.
Kann ich ein kombiniertes Transkript statt separater Transkripte pro Kanal erhalten?
Ja. Setzen Sie multichannel_output_style=combined, um ein einzelnes Transkript mit allen Kanälen zu erhalten,
die zusammengeführt und nach Startzeit sortiert sind. Jedes Wort ist mit seinem channel_index gekennzeichnet. Dies entspricht dem
Standard-Antwortformat für einen einzelnen Kanal. Es erfordert Zeitstempel und ist nicht mit Webhook-
Bereitstellung verfügbar.
Wie werden Sprecher-IDs zugewiesen?
Sprecher-IDs werden anhand der Kanalnummer deterministisch zugewiesen: Kanal 0 wird zu speaker_0, Kanal 1 wird zu speaker_1 usw.
Können Kanäle unterschiedliche Sprachen haben?
Ja, jeder Kanal wird unabhängig verarbeitet und kann unterschiedliche Sprachen erkennen. Die Spracherkennung
erfolgt pro Kanal. Mit multichannel_output_style=combined spiegelt der language_code auf oberster Ebene
den Kanal mit der höchsten Erkennungswahrscheinlichkeit wider, während jedes Wort weiterhin seinen
channel_index enthält.