Vad är talardiarisering? Så fungerar det och vanliga användningsområden
- Skriven av
- Jack Limebear
- Publicerad
- Senast uppdaterad
LyssnaLyssna på den här artikeln
Talardiarisering tar en ljudström med ett okänt antal talare och skapar en tidslinje med märkta segment: talare A från 0:00 till 0:42, talare B från 0:42 till 1:15 och talare A igen från 1:15 och framåt. Systemet vet inte vilka talarna är, men det vet att de är olika personer och håller deras etiketter konsekventa genom hela inspelningen.
Det är den här processen som gör ljud med flera talare användbart. Mötesanteckningar, callcenter-analyser, intervjutranskriptioner, poddredigering och juridisk dokumentation bygger alla på att veta inte bara vad som sades utan även vem som sa det.
Den här guiden förklarar hur diariseringsprocessen fungerar, hur den skiljer sig från närliggande tekniker som segmentering och identifiering, vilka verktyg med öppen källkod som hanterar den och hur du mäter om ett diariseringssystem fungerar bra.
Sammanfattning
- Talardiarisering delar upp en ljudinspelning utifrån vem som talar och skapar märkta talarturer utan att identifiera någon med namn.
- Talardiarisering skiljer sig från talarsegmentering, som hittar när talare byts, och talaridentifiering, som matchar röster mot riktiga namn.
- Diariseringens prestanda mäts med diarization error rate (DER) för övergripande noggrannhet och Jaccard error rate (JER) för att kontrollera att noggrannheten gäller för varje talare.
Vad är talardiarisering och hur fungerar det?
Talardiarisering är processen att dela upp en ljudström i segment utifrån vem som talar. En transkription med talardiarisering märker varje ljudsegment med en talaridentitet. Enkelt uttryckt besvarar den frågan ”Vem sa vad när?”
En rå transkription från ett möte ger dig orden, medan en diariserad transkription berättar att talare 1 ställde frågan, talare 2 besvarade den och talare 3 avbröt halvvägs igenom.
De flesta system för talardiarisering följer en pipeline med fyra steg:

Låt oss gå igenom dessa steg mer i detalj.
Röstaktivitetsdetektering (VAD)
Röstaktivitetsdetektering skiljer tal från allt annat: tystnad, bakgrundsljud, musik eller tangentbordsklick. Endast ljudsegment som innehåller faktiskt tal går vidare till nästa steg.
Eventuella fel i det här steget sprider sig genom resten av processen.
Segmentering
Segmenten som innehåller tal delas sedan upp vid punkter där talaren sannolikt byts, till exempel vid en förändring i röstläge, en paus mellan talarturer eller ett förändrat tonhöjdsmönster. De flesta system identifierar dessa brytpunkter direkt genom att jämföra de akustiska egenskaperna på båda sidor av en möjlig gräns.
Vissa segmenteringsverktyg delar upp ljud i korta, enhetliga fönster, exempelvis två sekunder långa delar, och förlitar sig sedan på klustringssteget för att slå ihop angränsande fönster som tillhör samma talare.
Extrahering av embeddingar
Varje talsegment omvandlas till en talar-embedding, alltså en numerisk vektor som fångar röstegenskaperna hos den som talar i segmentet. Embeddingar från samma talare klustrar nära varandra i vektorrummet, medan embeddingar från olika talare ligger längre ifrån varandra.
Klustring
Embeddingarna grupperas sedan så att segment från samma talare delar en etikett. Systemet känner vanligtvis inte till antalet talare i förväg, så klustringsalgoritmen måste dra slutsatsen själv och avgöra om det där segmentet som låter lite annorlunda kommer från en ny talare eller samma person med ett annat röstläge.

Resultatet är en uppsättning talaretiketter kopplade till tidsintervall, vanligtvis tillsammans med en transkription. En diariserad transkription från ett samtal mellan två personer kan till exempel se ut så här:
- [speaker_0] Tack för att du ringer. Hur kan jag hjälpa dig?
- [speaker_1] Hej, jag ringer angående min faktura från förra månaden.
- [speaker_0] Absolut, låt mig ta fram den.
Etiketterna är anonyma och konsekventa internt. Speaker_0 är samma röst varje gång etiketten visas, men systemet vet inte att speaker_0 heter Fergal. Att koppla riktiga identiteter är en annan uppgift, som vi går igenom nedan.
Viktiga skillnader mellan talarsegmentering och talaridentifiering
Talarsegmentering och talaridentifiering överlappar båda nära med diariseringsprocessen, vilket innebär att de tre ofta förväxlas med varandra.
De löser alla lite olika problem, så det är viktigt att förstå skillnaderna när du utvärderar verktyg.
Som vi förklarade tidigare är talarsegmentering ett steg i diariseringsprocessen som sker tidigt i pipelinen. Den hittar gränserna där talaren byts från en röst till en annan, utan att tilldela etiketter. Segmentering berättar att ett byte skedde vid 0:42. Diarisering bygger vidare på detta genom att gruppera de resulterande segmenten och skapa ett fullt märkt resultat, så att du vet att rösten vid 1:15 är samma röst som talade i början av inspelningen.
Talaridentifiering är en separat funktion utanför diariseringsprocessen, men kombineras ofta med den. Identifiering avgör vilka talarna faktiskt är. Ett identifieringssystem jämför röster med registrerade röstavtryck och använder en referens av kända talare för att fastställa identiteter. Efter identifieringen blir speaker_0 och speaker_1 ”Fergal” och ”Eric”.
Många produkter kombinerar dessa verktyg för att skapa en mer komplett slutlig transkription. Ett mötesverktyg kan göra detta automatiskt, eventuellt genom att hämta namn som någon har angett i Teams eller Meet, så att varje deltagares bidrag tillskrivs rätt namn utan manuell granskning.

Populära verktyg och bibliotek för talardiarisering med öppen källkod
Verktyg för talardiarisering med öppen källkod är värda att överväga när du behöver kontroll, flexibilitet eller lokal driftsättning. Bästa valet beror på vilken typ av ljud du hanterar (telefonsamtal, möten, poddar, sändningar), dina krav på latens och hur mycket utvecklingstid du kan investera.
Här är några av de populäraste alternativen.
Pyannote.audio
Pyannote.audio är ett PyTorch-baserat verktyg som har byggts specifikt för talardiarisering och är ett av de mest använda alternativen med öppen källkod. Det erbjuder förtränade pipelines som täcker hela diariseringsstacken, inklusive VAD, segmentering, embeddingar och klustring, samt byggblock för att träna eller finjustera modeller på dina egna data.
Dess förtränade modeller distribueras via Hugging Face och används ofta som diariseringslager i större transkriptionsprojekt.
WhisperX
WhisperX kombinerar OpenAI:s Whisper ASR med diariseringsprocessen och forcerad justering. Whisper ger i sig starka transkriptioner, men tilldelar inte talaretiketter och dess tidsstämplar är bara ungefärliga. WhisperX lägger till justering av tidsstämplar på ordnivå och integrerar pyannote-baserad diariseringsprocess, vilket ger transkriptioner där varje ord har både en exakt tidsstämpel och en talaretikett.
NVIDIA NeMo
NVIDIA NeMo inkluderar diariseringsprocessen som en del av sitt bredare ramverk för Conversational AI. Det erbjuder träningsbara diariseringsmodeller, inklusive end-to-end-metoder som hanterar överlappande tal, och är utformat för team som bygger anpassade talsystem i stor skala på GPU-infrastruktur.
Alla dessa verktyg kräver att du hanterar diariseringsinfrastrukturen, inklusive modelldriftsättning, skalning, övervakning och uppdateringar. För team som inte vill ha den driftsmässiga belastningen erbjuder hanterade API:er för talardiarisering ett enklare alternativ. De kan antingen integreras med befintliga workflows eller hantera hela diariseringspipelinen, vilket gör dem väl lämpade för produktionsanvändning, till exempel analyser av kundsupport, mötestranskribering och poddbearbetning.
Diarisering i realtid: utmaningar och användningsområden
Diarisering i realtid är betydligt svårare än diariseringsprocessen för en färdig inspelning, eftersom systemet måste fatta beslut med ofullständig kontext.
Ett offline-system ser hela inspelningen innan det bestämmer något. Det kan jämföra en röst vid minut 2 med en röst vid minut 40 och tryggt avgöra att det är samma talare, eftersom båda tillfällena är tillgängliga samtidigt. Ett realtidssystem har aldrig den möjligheten, eftersom det måste märka upp talet så fort det kommer in, utan tillgång till vad som sägs härnäst och med liten eller ingen möjlighet att ändra ett beslut när det väl är fattat.
Den saknade framtida kontexten är det som gör tre specifika problem mycket svårare att lösa i realtid:
- Latens kontra noggrannhet: Utan möjlighet att se över hela samtalet fram och tillbaka sker kortare svarstider direkt på bekostnad av noggrannheten.
- Överlappande tal: När personer talar i mun på varandra kan ett system som kan bearbeta ljudet igen kanske reda ut det. Ett realtidssystem måste tilldela det en enda etikett eller förlita sig på specialiserade modeller som hanterar överlappning i stunden.
- Korta yttranden: Ett snabbt ”ja” eller ”kör på” ger knappt systemet tillräckligt med röst att arbeta med och utan omgivande kontext att stödja sig på måste det ändå tilldela en etikett direkt.
Trots svårigheterna kan vissa tillämpningar inte vänta på att en inspelning ska bli klar. Liveundertextning för möten och sändningar behöver talaretiketter medan personer pratar. Callcenterprogramvara som visar vägledning för agenter under ett samtal måste i realtid veta vilka ord kunden använder. Röstassistenter som hanterar samtal med flera deltagare måste utan fördröjning hålla koll på vem som frågar vad. I samtliga fall är ett system som är lite mindre exakt men omedelbart bättre än ett som är mer exakt men fördröjt.
För arbetsbelastningar som inte faktiskt kräver etiketter i realtid, som analys, regelefterlevnadsgranskning och transkriptionsgenerering, är batch-diarisering fortfarande det bättre valet eftersom det är betydligt mer exakt.
Så utvärderar du prestandan för talardiarisering
Två mått är viktigast när du mäter noggrannheten i diariseringsprocessen: diarization error rate (DER), som fångar den övergripande noggrannheten, och Jaccard error rate (JER), som kontrollerar om noggrannheten håller för varje talare.
DER beräknar specifikt andelen av den totala taltiden som har tillskrivits fel. Det kombinerar tre feltyper:
- Falskt upptäckt tal: Systemet märkte ett segment som tal när ingen talade.
- Missat tal: Någon talade, men systemet märkte det som tystnad.
- Talarförväxling: Tal upptäcktes men tillskrevs fel talare.
DER = (falskt alarm + missat tal + talarförväxling) / total talduration
En DER på 10 % innebär fel motsvarande en tiondel av den totala taltiden, fördelat över dessa tre typer. Lägre är bättre, och resultat kan bara jämföras när de mäts på samma data under samma förhållanden. DER varierar kraftigt beroende på ljudkvalitet, antal talare och hur mycket överlappning inspelningen innehåller.
Jaccard error rate (JER) mäter diariseringsnoggrannheten för varje talare separat och beräknar sedan genomsnittet för alla talare. För varje referenstalare matchar utvärderaren systemets närmaste talaretikett och jämför tiden då de överlappar korrekt med den totala tid som har tilldelats någon av talarna.
Föreställ dig till exempel ett 60 minuter långt möte där talare A pratar i 50 minuter och talare B i 10. Ett diariseringssystem märker 48 av talare A:s 50 minuter korrekt, men bara 4 av talare B:s 10 minuter korrekt. Dess övergripande DER kan fortfarande se relativt stark ut eftersom större delen av mötet tillhör talare A. JER gör att talare B:s svaga resultat räknas lika mycket, eftersom talare A och talare B utvärderas oberoende innan deras resultat beräknas som ett genomsnitt.
JER_speaker = 1 - (correct_overlap / (ref_time + sys_time - correct_overlap))
Det slutliga JER-värdet är genomsnittet av dessa felfrekvenser per talare:
JER = (1 / N) * Σ[JER_speaker_i] där i = 1..N
Att följa både DER och JER ger en mer heltäckande bild av hur exakt diariseringsprocessen är: DER för övergripande noggrannhet och JER för om noggrannheten håller för varje deltagare, även personer som talar mer sällan.
Testning på ljud som representerar produktionen
När du utvärderar ett system för talardiarisering bör du beräkna både DER och JER på ljud som motsvarar dina faktiska driftsförhållanden: typiskt antal talare, ljudkvalitet och mängd överhörning.
Publicerade benchmarkresultat kan vara uppmätta på rena, kontrollerade dataset som studioinspelningar, som sällan motsvarar hur verkliga samtalsinspelningar eller live-möten låter. Ett system som får bra resultat i benchmarktester kan ändå prestera betydligt sämre på brusigt, överlappande ljud från verkliga situationer. Testa på dina egna data innan du väljer en diariseringsprodukt.
Kom igång med ElevenAPI för talardiarisering
Om du är redo att bygga en transkriptionsfunktion med stöd för flera talare, Scribe v2 från ElevenLabs gör talardiarisering tillgängligt via ett enda Speech to Text-API. Skicka ljud till endpointen med diarize=true, så märker JSON-svaret varje ord med ett talar-ID, för upp till 32 talare, på fler än 90 språk och i filer som är upp till 10 timmar långa.
Två alternativ utökar standardresultatet från diariseringsprocessen. För samtalsinspelningar märker detect_speaker_roles=true talarna som agent och kund i stället för med anonyma nummer. Om din workspace har registrerade talarprofiler kan use_speaker_library=true matcha upptäckta talare mot registrerade röster och kombinera diariseringsprocessen och identifieringen i en enda förfrågan.
En parameter för diariseringsgränsvärde låter dig justera avvägningen mellan att dela upp talare för mycket och att slå ihop dem. När dina talare redan är isolerade på separata ljudkanaler, exempelvis i stereoinspelningar av samtal, transkribering av flera kanaler tilldelar talare efter kanal och hoppar över diariseringsprocessen helt.
Snabbstartsguiden för Speech to Text går igenom den första integrationen steg för steg. För reglerade driftsättningar uppfyller plattformen kraven i SOC 2, ISO 27001, PCI DSS L1 och HIPAA, med tillgänglig EU-datalagring och nollretentionsläge.
Redo att bygga in talardiarisering i dina system? Börja med att hämta din API-nyckel eller titta på ElevenLabs Docs för att läsa mer.



