Flerkanalig tal-till-text
Den här guiden visar hur du använder flerkanalig transkriberingsläge med Speech to Text API:t.
Guide · Förutsätter att du har slutfört snabbstarten för Speech to Text .
Översikt
Den flerkanaliga Speech to Text-funktionen låter dig transkribera ljudfiler där varje kanal innehåller en egen talare. Det är särskilt användbart för inspelningar där talare är isolerade på separata ljudkanaler, vilket ger renare transkriberingar utan behov av talardiarisering.
Varje kanal bearbetas oberoende och tilldelas automatiskt ett talar-ID baserat på kanalnumret (kanal 0 → speaker_0, kanal 1 → speaker_1 osv.). Systemet extraherar enskilda kanaler från din ingående ljudfil och transkriberar dem parallellt. Som standard returnerar API:t en transkribering per kanal. Ange multichannel_output_style=combined för att i stället få en enda transkribering där alla kanaler är sammanfogade till en lista sorterad efter starttid, med varje ord märkt med sitt channel_index.
Vanliga användningsfall
- Stereoinspelade intervjuer - Intervjuare på vänster kanal, intervjuad på höger kanal
- Poddinspelningar med flera spår - Varje deltagare spelas in på ett separat spår
- Inspelningar från kundtjänstcenter - Agent och kund på olika kanaler
- Konferensinspelningar - Enskilda deltagare isolerade på separata kanaler
- Domstolsförhandlingar - Flera parter spelas in på separata kanaler
Krav
- Ett ElevenLabs-konto med en API-nyckel
- Flerkanalig ljudfil (WAV, MP3 eller andra format som stöds)
- Högst 5 kanaler per ljudfil
- Varje kanal ska endast innehålla en talare
Så fungerar det
Förbered ditt flerkanaliga ljud
Se till att talarna är isolerade på separata kanaler i din ljudfil. Den flerkanaliga funktionen stöder upp till 5 kanaler, där varje kanal mappas till en specifik talare:
- Kanal 0 →
speaker_0 - Kanal 1 →
speaker_1 - Kanal 2 →
speaker_2 - Kanal 3 →
speaker_3 - Kanal 4 →
speaker_4
Konfigurera API-parametrar
När du gör en tal-till-text-begäran måste du ange:
use_multi_channel:truediarize:false(flerkanaligt läge hanterar talarseparering via kanaler)
Du kan även styra svarsformatet med:
multichannel_output_style:separate(standard) returnerar en transkribering per kanal.combinedsammanfogar alla kanaler till en enda transkribering vars ord sorteras efter starttid, där varje ord har ettchannel_index— vilket motsvarar standardformatet för svar med en kanal.combinedkräver tidsstämplar (timestamps_granularityfår inte varanone) och stöds inte med webhook-leverans eller entitetsidentifiering/-maskering.
Parametern num_speakers kan inte användas med flerkanaligt läge eftersom antalet talare automatiskt bestäms av antalet kanaler. Flerkanaligt läge förutsätter att det finns exakt en talare per kanal. Om det finns fler tilldelas alla talare i kanalen samma talar-ID.
Bearbeta svaret
Som standard (multichannel_output_style=separate) returnerar flerkanaligt ljud ett annat svarsformat än en kanal:
Om du anger use_multi_channel: true men tillhandahåller en ljudfil med en kanal (mono) får du
ett standardsvar för en kanal, inte det flerkanaliga formatet. Det flerkanaliga svarsformatet
returneras bara när ljudfilen faktiskt innehåller flera kanaler.
Med multichannel_output_style=combined använder svaret samma platta format som en transkribering med en kanal (text och words på toppnivå, ingen transcripts-array), där alla kanaler är sammanfogade till en lista sorterad efter starttid. Varje ord innehåller ett channel_index (och speaker_id) som identifierar kanalen.
Implementering
Grundläggande flerkanalig transkribering
Här är ett komplett exempel på hur du transkriberar en stereoljudfil med två talare:
Skapa konversationstranskriberingar
Det enklaste sättet att få en tidsordnad transkribering i konversationsstil är att begära multichannel_output_style=combined — API:t returnerar en enda words-lista, redan sorterad efter starttid, med ett channel_index och speaker_id för varje ord:
Om du använder standardutdata separate kan du i stället sammanfoga transkriberingarna per kanal på klientsidan:
Använda webhooks med flera kanaler
Flerkanalig transkribering stöder webhook-leverans för asynkron bearbetning:
Webhooks returnerar formatet separate (per kanal). multichannel_output_style=combined stöds
för närvarande inte med webhook-leverans — använd en synkron begäran eller sammanfoga
webhook-payloaden per kanal på klientsidan.
Felhantering
Vanliga valideringsfel
Ange diarize=true med flerkanaligt läge
Fel: Flerkanaligt läge stöder inte diariseringsfunktionen och tilldelar talare baserat på kanalen de talar på.
Lösning: Ange alltid diarize=false när du använder flerkanaligt läge.
Ange parametern num_speakers
Fel: Det går inte att ange num_speakers när use_multi_channel är aktiverat. Antalet talare
bestäms automatiskt av antalet kanaler. Lösning: Ta bort parametern num_speakers
från din begäran.
Ljudfil med fler än 5 kanaler
Fel: Flerkanaligt läge stöder upp till 5 kanaler, men ljudfilen innehåller X kanaler.
Lösning: Bearbeta endast de första 5 kanalerna eller förbearbeta ljudet för att minska antalet kanaler.
Använda kombinerad utdata utan tidsstämplar
Fel: multichannel_output_style=‘combined’ kräver tidsstämplar; ange timestamps_granularity till ‘word’ eller ‘character’.
Lösning: Kombinerad utdata sorterar ord efter tid, så ange timestamps_granularity till word
(standard) eller character.
Använda kombinerad utdata med webhooks
Fel: multichannel_output_style=‘combined’ stöds ännu inte med webhook-leverans.
Lösning: Använd en synkron begäran med combined, eller behåll standardutdata separate
när du använder webhooks och sammanfoga på klientsidan.
Bästa praxis
Förbereda ljud
För bästa resultat: - Använd samplingsfrekvensen 16 kHz för bättre prestanda - Ta bort tysta eller oanvända kanaler före bearbetning - Se till att varje kanal endast innehåller en talare - Använd förlustfria format (WAV) när det är möjligt för bästa kvalitet
Prestandaoptimering
Kostnaden för samtidighet ökar linjärt med antalet kanaler. En fil på 60 sekunder med 3 kanaler har tre gånger så hög samtidighetskostnad som en fil med en kanal.
Du kan uppskatta bearbetningstiden för flerkanaligt ljud med följande formel:
Där:
- = filens längd i sekunder
- = antal kanaler
- = bearbetningshastighetsfaktor (cirka 30 % av realtid)
- = fast omkostnad i sekunder
- = omkostnad per kanal i sekunder
Exempel: För en stereofil på 60 sekunder (2 kanaler):
Minneshantering
För stora flerkanaliga filer bör du överväga streaming eller uppdelning i segment:
Vanliga frågor
Vad händer om mitt ljud har fler än 5 kanaler?
API:t returnerar ett fel. Du behöver antingen välja vilka 5 kanaler som ska skickas till API:t eller mixa ned några kanaler innan du skickar dem till API:t.
Kan jag bearbeta monoljud med flerkanaligt läge?
Ja, men det är onödigt. Om du skickar monoljud med use_multi_channel=true får du
ett standardsvar för en kanal, inte det flerkanaliga formatet.
Kan jag få en kombinerad transkribering i stället för separata transkriberingar per kanal?
Ja. Ange multichannel_output_style=combined för att få en enda transkribering med alla kanaler
sammanfogade och sorterade efter starttid, där varje ord är märkt med sitt channel_index. Detta motsvarar
standardformatet för svar med en kanal. Det kräver tidsstämplar och är inte tillgängligt med webhook-
leverans.
Hur tilldelas talar-ID:n?
Talar-ID:n är deterministiska baserat på kanalnummer: kanal 0 blir speaker_0, kanal 1 blir speaker_1 och så vidare.
Kan kanaler ha olika språk?
Ja, varje kanal bearbetas oberoende och kan identifiera olika språk. Språkidentifieringen
sker per kanal. Med multichannel_output_style=combined återspeglar language_code på toppnivå
kanalen med högst säkerhet, medan varje ord fortfarande har sitt
channel_index.