오디오 AI 가이드

화자 분할

Speaker diarization splits a recording into time segments and labels each one by speaker, answering the question of who spoke when without needing to know anyone's name.

이 가이드를 들어보세요AI 내레이션 · ~7 min

이 페이지에서8분 읽기
  1. 개요
  2. 주요 시사점
  3. 심층 분석
  4. Diarizing and scoring a five-minute meeting clip
  5. 실제 구현
  6. 화자 분할의 미래
  7. 실천에 옮기기
  8. 출처 및 추가 자료
  9. 계속 탐색하세요
  10. 자주 묻는 질문

개요

It turns raw transcripts of meetings, calls and interviews into readable dialogue, and it is measured by diarization error rate, which still ranges from about 8% to 50% across public benchmarks for a leading open-source pipeline.

주요 시사점

  1. Speaker diarization labels who spoke when in a recording with anonymous speaker tags; naming the speakers is a separate identification task.
  2. Typical pipelines run local segmentation, speaker embeddings and clustering, as described for pyannote.audio in a 2023 Interspeech paper.
  3. Diarization error rate adds missed speech, false alarms and speaker confusion, divided by total reference speech time.
  4. pyannote's speaker-diarization-3.1 reports DER from 7.8% on broadcast news to 50.0% on movie clips under strict scoring with no collar.
  5. A 2025 independent benchmark found missed speech was the largest error source and recordings with many speakers were the hardest.

심층 분석

Speaker diarization is the task of working out who spoke when in an audio recording. The output is a list of time segments, each tagged with a speaker label such as SPEAKER_00 or SPEAKER_01. The labels are anonymous: diarization says that the same voice returns at 3:15 and 7:40, not that the voice belongs to a particular person. Naming speakers is a separate task, speaker identification, which compares voices with enrolled samples. Diarization is usually paired with automatic speech recognition, so a transcript of a meeting or phone call can show turns of dialogue instead of one undivided block of text.

The standard approach is a pipeline. Hervé Bredin's Interspeech 2023 paper on pyannote.audio 2.1 describes three stages that are typical of modern systems. First, a segmentation model slides a short window over the audio and decides, frame by frame, whether anyone is speaking and how many local speakers are active. This folds in voice activity detection, separating speech from silence, music and noise. Second, a speaker embedding model turns each local speaker's speech into a fixed-length vector, a list of numbers designed so that two clips of the same voice land close together and clips of different voices land far apart. Third, a clustering algorithm groups those vectors across the whole recording, so speaker 2 in minute one and speaker 1 in minute ten can be recognized as the same person. Agglomerative clustering, which starts with every segment as its own group and merges the closest pairs, is the method pyannote uses.

Overlapping speech, when two people talk at once, is the hardest part. Older pipelines assigned each moment to one speaker and simply lost the second voice. In 2019 Yusuke Fujita, Shinji Watanabe and colleagues proposed end-to-end neural diarization (EEND), a single network that outputs, for every frame, an independent yes or no for each speaker, which allows overlap. Because speaker labels have no natural order, they trained it with a permutation-free objective that scores the best matching between predicted and true speakers. On simulated mixtures it reached 12.28% diarization error rate against 28.77% for a clustering-based baseline.

pyannote's current segmentation model takes a further step. Alexis Plaquet and Hervé Bredin's 2023 paper replaced the per-speaker yes or no outputs with powerset classification, in which each class is a specific combination of active speakers. The segmentation-3.0 model card lists seven classes for each 10-second chunk: no speech, each of three speakers alone, and each of the three possible pairs. The authors report better results on 9 benchmarks, mostly on overlapping speech, and removal of the detection threshold that the older formulation depended on. The speaker-diarization-3.1 pipeline combines this model with embeddings and clustering, runs in pure PyTorch, and is released under the MIT license.

Performance is measured with diarization error rate (DER), the share of reference speaking time that is wrongly handled. According to the dscore toolkit, which follows NIST's RT-09 evaluation plan, DER is the sum of three errors: missed speech, false alarm speech where silence was labeled as speech, and speaker confusion where speech went to the wrong speaker. Before scoring, system labels are mapped to reference labels so the arbitrary names do not count against the system. Two settings change results a lot: a forgiveness collar, a short window around each boundary that is not scored, and whether overlapping speech is included. pyannote reports its numbers with no collar and with overlap scored, the strictest setup.

Those strict numbers show how much the domain matters. The speaker-diarization-3.1 model card reports DER of 7.8% on the REPERE broadcast set, 11.3% on VoxConverse, 12.2% on the AISHELL-4 meeting corpus, 18.8% on AMI headset mixes, 21.7% on DIHARD 3 and 50.0% on AVA-AVD, a set of movie clips. A September 2025 independent benchmark by Lanzendörfer and colleagues evaluated five systems on 196.6 hours of audio in five languages and found the commercial PyannoteAI model best at 11.2% DER, with the open-source DiariZen at 13.3%. It found most errors came from missed speech, followed by speaker confusion, and that recordings with many speakers were hardest.

Common failure modes follow from the pipeline. Short interjections such as yeah or right are often missed or given to the wrong person, because a fraction of a second carries little voice information. Similar voices, such as relatives, get merged. A single speaker who changes microphone, moves across a room or raises their voice can be split into two. Background music, television and crosstalk create false alarms. Errors also compound: the 2025 benchmark notes that diarization mistakes spread to downstream uses such as transcription and summaries, so a confused speaker turn can put words in the wrong mouth.

In practice, pyannote pipelines run in PyTorch and can be moved to a GPU with one call, which matters for long files. pyannote's pipelines are gated on Hugging Face, so users must accept the conditions and use an access token before downloading. Audio is downmixed to mono and resampled to 16 kHz on loading. Supplying the number of speakers when it is known, or a minimum and maximum, can reduce clustering mistakes. Because accuracy varies so much by domain, the reliable way to choose a system is to hand-label a few minutes of your own audio and measure DER with a fixed collar and overlap setting.

04실제 사례

Diarizing and scoring a five-minute meeting clip

  1. Pick a five-minute recording with three or four speakers and some crosstalk, and convert it to 16 kHz mono WAV.

  2. Listen through once and hand-label speaker turns in an RTTM file, the plain-text format diarization scorers read, including overlapping regions.

  3. Accept the model conditions on Hugging Face, then run pyannote's speaker-diarization-3.1 pipeline on the clip and save its output as RTTM.

  4. Score the output against your labels with dscore, once with no collar and once with a 0.25 second collar, and note the missed speech, false alarm and confusion parts.

  5. Re-run the pipeline with the true number of speakers supplied and score it again.

  6. Listen to the segments with the largest errors and classify them as overlap, short interjection or speaker mix-up.

그것이 보여주는 것

Two or three DER figures and a list of error types for your own audio. Expect the collar to lower DER and a known speaker count to reduce confusion; if most error is missed speech in overlaps, that matches the 2025 benchmark's finding.

실제 구현

Producing a speaker-labeled meeting transcript by running pyannote's open-source speaker-diarization-3.1 pipeline, which accepts 16 kHz mono audio and needs no manual speaker count, alongside a speech recognizer.

Adding Speaker 1 and Speaker 2 labels to Whisper output with WhisperX, which calls a pyannote diarization model and attaches its speaker labels to the word-timed transcript.

Scoring a diarization system against hand labels with the dscore toolkit, which computes diarization error rate using NIST's md-eval scoring and the Jaccard error rate introduced for the DIHARD II challenge.

Building speaker-attributed speech-to-text with NVIDIA's Sortformer, a 2024 model released in the NeMo framework that feeds speaker labels into a transcription model's encoder.

Comparing systems across meeting, broadcast and in-the-wild audio using public sets such as AMI, AISHELL-4, DIHARD 3 and VoxConverse, the benchmarks reported on pyannote's model card.

화자 분할의 미래

Several research directions are visible in recent primary sources. The September 2025 benchmark by Lanzendörfer and colleagues concluded that diarization remains unsolved, with missed speech the largest error source and many-speaker recordings the hardest, which keeps attention on overlap and detection rather than only clustering. Joint modeling of transcription and speakers is a second direction: NVIDIA's Sortformer, published at ICML 2025, feeds speaker labels into a speech-to-text encoder so that words and speaker turns are predicted together rather than stitched afterward. A third is evaluation itself. The gap between pyannote's 7.8% DER on broadcast news and 50.0% on movie clips shows that single benchmark numbers say little about a new domain, and scoring choices such as collars change results. Multilingual and far-field recordings, many-speaker scenes and long recordings with speakers who change acoustically over time remain difficult. Whether end-to-end models will fully replace modular pipelines is an open question, since current production tools still combine segmentation, embeddings and clustering.

실천에 옮기기

왜 중요한가요?

  • 접근 및 도달. 전사, 내레이션, 음성 인터페이스를 통해 접근성을 향상시킵니다.
  • 비용 및 예산. 미디어 팀은 더 적은 예산으로 세련된 오디오를 더 빠르게 출시할 수 있습니다.
  • 속도와 규모. 고객 대면 시스템은 음성 상호 작용을 더 큰 규모로 처리할 수 있습니다.

조심하세요

  • 동의가 없으면 음성 오용 및 명의 도용 위험이 높아집니다.
  • 악센트, 방언 또는 시끄러운 환경에서는 정확도가 떨어질 수 있습니다.
  • 합성 오디오는 명확한 라벨링이 없으면 실제 음성으로 오인될 수 있습니다.

다음 단계

  1. 음성 캡처, 복제 및 재사용에 대한 명시적인 동의를 얻습니다.
  2. 다양한 화자와 배경 조건에서 품질을 테스트합니다.
  3. 사람이 출력을 검토하거나 승인해야 하는 시기를 정의합니다.
  4. 합성 오디오에 라벨을 붙이고 책임을 묻기 위해 출처 기록을 보관하세요.

출처 및 추가 자료

  1. Hugging Face (pyannote)pyannote/speaker-diarization-3.1
  2. Hugging Face (pyannote)pyannote/segmentation-3.0
  3. ISCA (Interspeech 2023)pyannote.audio 2.1 speaker diarization pipeline: principle, benchmark, and recipe
  4. arXiv (Interspeech 2023)Powerset multi-class cross entropy loss for neural speaker diarization
  5. arXiv (Interspeech 2019)End-to-End Neural Speaker Diarization with Permutation-Free Objectives
  6. arXiv (ICML 2025)Sortformer: A Novel Approach for Permutation-Resolved Speaker Supervision in Speech-to-Text Systems
  7. GitHubnryant/dscore: Diarization scoring tools
  8. arXivBenchmarking Diarization Models

계속 탐색하세요

무료 뉴스레터

일일 AI 브리핑 받기

매주 평일 아침마다 3개의 검증된 AI 스토리를 일반 영어로 작성합니다. 무료이며, 광고 없음.

매주 평일마다 한 번 이메일을 받습니다. 한 번 클릭으로 구독 해지. 주소를 판매하거나 공유하지 않습니다.

자신을 테스트해 보세요

Take the Speaker Diarization quiz

모든 답변에 즉각적인 피드백과, 과정을 통과하면 검증 가능한 ID가 있는 공유 가능한 인증서를 제공합니다.

퀴즈 시작

무료 AI 교육을 지원합니다. AI Understanding는 501(c)(3) 비영리 단체입니다 — 광고 없음, 유료 장벽 없음, 영원히. 기부하기

자주 묻는 질문

What is Speaker Diarization?

Speaker diarization splits a recording into time segments and labels each one by speaker, answering the question of who spoke when without needing to know anyone's name. It turns raw transcripts of meetings, calls and interviews into readable dialogue, and it is measured by diarization error rate, which still ranges from about 8% to 50% across public benchmarks for a leading open-source pipeline.

Speaker diarization is often summarized by which question?

분할은 단어 자체를 기록하는 대신 시간이 지남에 따라 화자별로 오디오를 분할하여 "언제 누가 말했는지"에 답합니다.

스피커 임베딩이란 무엇입니까?

화자 임베딩은 같은 사람의 클립이 서로 가까이 있는 고정 길이 벡터로, ID별로 클러스터링할 수 있습니다.

분할 시스템을 평가하는 데 일반적으로 사용되는 측정항목은 무엇입니까?

DER은 부재중 음성, 허위 경보 및 화자 혼동을 단일 비율로 결합하여 표준 분할 측정항목으로 만듭니다.

표준 분할에서는 화자의 실제 이름을 미리 알아야 합니까?

분할은 음성을 클러스터링하고 익명 레이블을 할당합니다. 사람들의 이름이 실제로 누구인지 알 필요는 없습니다.

What problem does permutation-invariant training solve in end-to-end neural diarization?

Speaker-output indices are arbitrary in diarization. Permutation-invariant training finds a matching between predicted and reference speaker streams so the loss does not depend on their index order; this is distinct from representing overlap with multiple active labels.