Spraak-naar-tekst met meerdere kanalen
In deze handleiding lees je hoe je de transcriptiemodus voor meerdere kanalen gebruikt met de Speech to Text-API.
Stapsgewijze handleiding · Hierbij wordt ervan uitgegaan dat je de korte introductie voor Speech to Text hebt voltooid.
Overzicht
Met de Speech to Text-functie voor meerdere kanalen kun je audiobestanden transcriberen waarin elk kanaal een afzonderlijke spreker bevat. Dit is vooral nuttig voor opnamen waarbij sprekers zijn geïsoleerd op afzonderlijke audiokanalen, zodat je schonere transcripties krijgt zonder sprekerdiarisatie.
Elk kanaal wordt onafhankelijk verwerkt en krijgt automatisch een spreker-ID toegewezen op basis van het kanaalnummer (kanaal 0 → speaker_0, kanaal 1 → speaker_1, enzovoort). Het systeem extraheert afzonderlijke kanalen uit je ingevoerde audiobestand en transcribeert ze parallel. Standaard retourneert de API één transcript per kanaal; stel multichannel_output_style=combined in om in plaats daarvan één transcript te ontvangen waarin alle kanalen zijn samengevoegd tot één lijst, gesorteerd op starttijd, waarbij elk woord is gelabeld met de bijbehorende channel_index.
Veelvoorkomende toepassingen
- Stereo-interviewopnamen - Interviewer op het linkerkanaal, geïnterviewde op het rechterkanaal
- Podcastopnamen met meerdere tracks - Elke deelnemer wordt op een afzonderlijke track opgenomen
- Callcenteropnamen - Agent en klant zijn gescheiden op verschillende kanalen
- Conferentieopnamen - Afzonderlijke deelnemers zijn geïsoleerd op aparte kanalen
- Rechtszittingen - Meerdere partijen worden op afzonderlijke kanalen opgenomen
Vereisten
- Een ElevenLabs-account met een API-sleutel
- Audiobestand met meerdere kanalen (WAV, MP3 of andere ondersteunde formaten)
- Maximaal 5 kanalen per audiobestand
- Elk kanaal mag slechts één spreker bevatten
Zo werkt het
Bereid je audio met meerdere kanalen voor
Zorg dat de sprekers in je audiobestand op afzonderlijke kanalen zijn geïsoleerd. De functie voor meerdere kanalen ondersteunt maximaal 5 kanalen, waarbij elk kanaal aan een specifieke spreker wordt toegewezen:
- Kanaal 0 →
speaker_0 - Kanaal 1 →
speaker_1 - Kanaal 2 →
speaker_2 - Kanaal 3 →
speaker_3 - Kanaal 4 →
speaker_4
Configureer API-parameters
Wanneer je een spraak-naar-tekstrequest doet, moet je het volgende instellen:
use_multi_channel:truediarize:false(de modus voor meerdere kanalen scheidt sprekers via kanalen)
Je kunt de vorm van de response optioneel bepalen met:
multichannel_output_style:separate(standaard) retourneert één transcript per kanaal. Metcombinedworden alle kanalen samengevoegd tot één transcript waarvan de woorden op starttijd zijn gesorteerd, elk met eenchannel_index— overeenkomstig de standaardresponse voor één kanaal. Voorcombinedzijn timestamps vereist (timestamps_granularitymag nietnonezijn) en dit wordt niet ondersteund met webhooklevering of entiteitsdetectie/-redactie.
De parameter num_speakers kan niet worden gebruikt met de modus voor meerdere kanalen, omdat het aantal sprekers automatisch wordt bepaald door het aantal kanalen. De modus voor meerdere kanalen gaat ervan uit dat er precies één spreker per kanaal is. Als er meer zijn, wordt dezelfde spreker-ID toegewezen aan alle sprekers in het kanaal.
Verwerk de response
Standaard (multichannel_output_style=separate) retourneert audio met meerdere kanalen een andere response-indeling dan audio met één kanaal:
Als je use_multi_channel: true instelt maar een audiobestand met één kanaal (mono) opgeeft, ontvang je
een standaardresponse voor één kanaal, niet de indeling voor meerdere kanalen. De response-indeling voor meerdere kanalen
wordt alleen geretourneerd wanneer het audiobestand daadwerkelijk meerdere kanalen bevat.
Met multichannel_output_style=combined gebruikt de response dezelfde platte structuur als een transcriptie voor één kanaal (text en words op hoofdniveau, geen transcripts-array), waarbij alle kanalen zijn samengevoegd tot één lijst die is gesorteerd op starttijd. Elk woord bevat een channel_index (en speaker_id) die het kanaal aangeeft.
Implementatie
Eenvoudige transcriptie met meerdere kanalen
Hier is een volledig voorbeeld van het transcriberen van een stereo-audiobestand met twee sprekers:
Gesprekstranscripten maken
De eenvoudigste manier om een transcript in gespreksstijl op tijdvolgorde te krijgen, is multichannel_output_style=combined aan te vragen — de API retourneert één words-lijst, al gesorteerd op starttijd, met een channel_index en speaker_id bij elk woord:
Als je de standaarduitvoer separate gebruikt, kun je de transcripten per kanaal in plaats daarvan client-side samenvoegen:
Webhooks gebruiken met meerdere kanalen
Transcriptie met meerdere kanalen ondersteunt webhooklevering voor asynchrone verwerking:
Webhooks retourneren de indeling separate (per kanaal). multichannel_output_style=combined wordt
momenteel niet ondersteund met webhooklevering — gebruik een synchrone request, of voeg de webhook-payloads
per kanaal client-side samen.
Foutafhandeling
Veelvoorkomende validatiefouten
diarize=true instellen met de modus voor meerdere kanalen
Fout: De modus voor meerdere kanalen ondersteunt geen diarization en wijst sprekers toe op basis van het kanaal waarop ze spreken.
Oplossing: Stel altijd diarize=false in wanneer je de modus voor meerdere kanalen gebruikt.
De parameter num_speakers opgeven
Fout: Kan num_speakers niet opgeven wanneer use_multi_channel is ingeschakeld. Het aantal sprekers
wordt automatisch bepaald door het aantal kanalen. Oplossing: Verwijder de parameter
num_speakers uit je request.
Audiobestand met meer dan 5 kanalen
Fout: De modus voor meerdere kanalen ondersteunt maximaal 5 kanalen, maar het audiobestand bevat X kanalen.
Oplossing: Verwerk alleen de eerste 5 kanalen of verwerk je audio vooraf om het aantal kanalen te verminderen.
Gecombineerde uitvoer zonder timestamps gebruiken
Fout: multichannel_output_style=‘combined’ vereist timestamps; stel timestamps_granularity in op ‘word’ of ‘character’.
Oplossing: De gecombineerde uitvoer sorteert woorden op tijd, dus stel timestamps_granularity in op word
(de standaardwaarde) of character.
Gecombineerde uitvoer met webhooks gebruiken
Fout: multichannel_output_style=‘combined’ wordt nog niet ondersteund met webhooklevering.
Oplossing: Gebruik een synchrone request met combined, of behoud de standaarduitvoer separate
wanneer je webhooks gebruikt en voeg client-side samen.
Best practices
Audio voorbereiden
Voor optimale resultaten: - Gebruik een samplefrequentie van 16 kHz voor betere prestaties - Verwijder stille of ongebruikte kanalen vóór verwerking - Zorg dat elk kanaal slechts één spreker bevat - Gebruik waar mogelijk lossless-formaten (WAV) voor de beste kwaliteit
Prestaties optimaliseren
De concurrencykosten nemen lineair toe met het aantal kanalen. Een bestand van 60 seconden met 3 kanalen heeft 3x de concurrencykosten van een bestand met één kanaal.
Je kunt de verwerkingstijd voor audio met meerdere kanalen schatten met de volgende formule:
Waarbij:
- = bestandsduur in seconden
- = aantal kanalen
- = verwerkingssnelheidsfactor (ongeveer 30% van realtime)
- = vaste overhead in seconden
- = overhead per kanaal in seconden
Voorbeeld: Voor een stereobestand van 60 seconden (2 kanalen):
Overwegingen voor geheugen
Overweeg voor grote bestanden met meerdere kanalen streaming of chunking:
Veelgestelde vragen
Wat gebeurt er als mijn audio meer dan 5 kanalen heeft?
De API retourneert een fout. Je moet kiezen welke 5 kanalen je naar de API stuurt of enkele kanalen mixen voordat je ze naar de API stuurt.
Kan ik mono-audio verwerken met de modus voor meerdere kanalen?
Ja, maar dat is niet nodig. Als je mono-audio verstuurt met use_multi_channel=true, ontvang je
een standaardresponse voor één kanaal, niet de indeling voor meerdere kanalen.
Kan ik één gecombineerd transcript krijgen in plaats van afzonderlijke transcripten per kanaal?
Ja. Stel multichannel_output_style=combined in om één transcript te ontvangen waarin alle kanalen
zijn samengevoegd en op starttijd zijn gesorteerd, waarbij elk woord is gelabeld met de bijbehorende channel_index. Dit komt overeen met de
standaardresponse-indeling voor één kanaal. Hiervoor zijn timestamps vereist en dit is niet beschikbaar met webhook-
levering.
Hoe worden spreker-ID's toegewezen?
Spreker-ID’s worden deterministisch toegewezen op basis van het kanaalnummer: kanaal 0 wordt speaker_0, kanaal 1 wordt speaker_1, enzovoort.
Kunnen kanalen verschillende talen hebben?
Ja, elk kanaal wordt onafhankelijk verwerkt en kan verschillende talen detecteren. De taaldetectie
vindt per kanaal plaats. Met multichannel_output_style=combined geeft language_code op hoofdniveau
het kanaal met de grootste zekerheid weer, terwijl elk woord nog steeds de bijbehorende
channel_index bevat.