용어집 / 알아듣는 방식

화자 분리

다른 이름: 화자 레이블

업데이트

정의

화자 분리는 녹음에서 누가 언제 말했는지 알아내 전사본에 화자별 레이블을 붙일 수 있게 하는 과정입니다. “무엇을 말했나?”가 아니라 “누가 말했나?”에 답합니다.

화자 분리는 음성 인식과는 별개의 모델입니다. 목소리의 변화를 듣고, 같은 사람처럼 들리는 구간을 묶고, 각각에 레이블을 붙입니다. 이름을 붙이기 전까지는 보통 화자 1, 화자 2로 표시됩니다. 전사본과 합치면 각 줄에 말한 사람이 표시된 익숙한 회의록 형식이 됩니다.

이는 받아쓰기 기능이 아니라 전사 기능입니다. 받아쓰기를 할 때는 화자가 한 명, 바로 사용자 자신이므로 받아쓰기 도구에는 화자 분리가 필요 없고, 이 기능이 없다고 낮게 평가해서도 안 됩니다. 회의, 인터뷰, 팟캐스트를 전사할 때는 화자 분리에 따라 제대로 된 전사본이 되느냐, 텍스트 덩어리가 되느냐가 갈립니다.

어려운 이유

목소리가 비슷한 두 사람, 감기로 목소리가 바뀐 사람, 겹치는 말, 모든 사람을 같은 실내 잡음 속에 뭉개 버리는 노트북 마이크는 모두 이런 묶기를 무너뜨립니다. 화자 수는 보통 알 수 없어서 추측합니다. 가장 좋은 시스템도 팟캐스트처럼 깨끗하게 번갈아 말하는 오디오에서는 잘하지만, 세 사람이 서로 끼어드는 실제 회의에서는 훨씬 못합니다. 레이블은 손으로 고쳐야 한다고 생각하세요.

이 기능이 있는 도구

Otter.ai 같은 회의 전사 도구는 이 기능을 중심으로 제품을 만듭니다. MacWhisper 같은 파일 전사 도구는 녹음에 화자 레이블을 제공합니다. 받아쓰기 도구에는 대개 이 기능이 없습니다. 화자가 둘인 경우가 없기 때문입니다. 화자 분리가 필수 조건이라면 찾고 있는 것은 전사 도구입니다.

Mac에서 녹음에 화자 레이블을 추가하는 방법

오픈 소스 툴킷 pyannote.audio는 컴퓨터에서 로컬로 화자 분리를 실행합니다. 누가 언제 말했는지를 각 발화의 시작 시간과 끝 시간과 함께 알려 줍니다. 단어는 만들지 않으므로, 결과를 음성 인식기의 전사본과 함께 사용합니다.

아래 단계에서는 커뮤니티 파이프라인을 사용합니다. 이 파이프라인은 CC-BY-4.0 라이선스로 공개되어 있으며, 내려받으려면 무료 Hugging Face 계정이 필요합니다.

  1. ffmpeg이 설치되어 있는지 확인하세요. 예를 들어 다음 명령으로 설치할 수 있습니다: brew install ffmpeg
  2. 터미널에서 다음 명령으로 툴킷을 설치하세요: pip install pyannote.audio
  3. Hugging Face에 로그인하고 pyannote/speaker-diarization-community-1 페이지에서 사용자 조건에 동의하세요.
  4. hf.co/settings/tokens에서 Hugging Face 액세스 토큰을 만드세요.
  5. Python에서 Pipeline.from_pretrained에 파이프라인 이름과 토큰을 전달해 파이프라인을 불러온 다음, 오디오 파일에 대해 호출하세요.
  6. 출력의 speaker_diarization 필드를 반복하며 각 발화의 시작 시간, 끝 시간, 화자 레이블을 읽으세요.
  7. 말한 사람 수를 알면 파이프라인을 호출할 때 num_speakers를 전달하세요. 범위만 안다면 min_speakers와 max_speakers를 전달하세요.

Whisper나 Parakeet은 화자를 구별할 수 있나요?

아니요. 둘 다 음성 인식 모델이며, 어느 쪽도 화자에 라벨을 붙이도록 만들어지지 않았습니다. Whisper 모델 카드에 따르면 이 모델은 화자 분류나 화자 분리에 대해 충분히 평가되지 않았습니다. NVIDIA의 Parakeet TDT 0.6B v2 모델 카드에는 기능 목록에 화자 분리가 없습니다.

Whisper 논문에는 이와 관련된 특이한 동작이 기록되어 있습니다. 초기 모델은 화자 이름을 그럴듯하지만 거의 항상 틀리게 추측해 쓰는 경향이 있었는데, 학습용 전사본 중 상당수에 말하는 사람의 이름이 들어 있었기 때문입니다. 저자들은 화자 표기가 없는 전사본으로 미세 조정해 이 동작을 없앴습니다. 인식 모델만으로 만든 전사본에 화자 이름이 있다면 믿지 마세요.

화자 분리 정확도를 측정하는 방법

표준 지표는 화자 분리 오류율(DER)로, 백분율로 나타내며 낮을수록 좋습니다. 세 가지 실수를 더합니다. 없던 음성을 보고하는 오탐, 실제 음성이 누구에게도 할당되지 않는 미탐지, 음성이 다른 사람에게 할당되는 화자 혼동입니다.

단어 오류율과 마찬가지로 채점 규칙에 따라 수치가 달라집니다. 일부 평가는 화자가 바뀌는 지점 주변의 짧은 시간(collar)을 오류로 치지 않고, 일부는 겹치는 음성을 건너뜁니다. pyannote 벤치마크는 이런 유예 구간을 두지 않고 겹치는 음성도 건너뛰지 않는다고 밝히며, 이는 더 엄격한 설정입니다. 출처가 다른 DER 수치를 비교하기 전에 이 두 가지 선택을 확인하세요.

자주 묻는 질문.

전사에서 화자 분리란 무엇인가요?

누가 말하고 있었는지에 따라 전사본에 레이블을 붙이는 것입니다. 화자 분리 모델은 목소리의 변화를 감지하고 화자별로 구간을 묶어, 회의 전사본이 한 덩어리가 아니라 대화처럼 읽히게 합니다.

받아쓰기 소프트웨어가 화자 레이블을 붙이나요?

거의 그렇지 않습니다. 받아쓰기에는 화자가 한 명뿐이기 때문입니다. 화자 레이블은 회의 및 파일 전사 도구의 기능입니다. 화자 레이블이 필요하다면 전사 도구를, 실시간 받아쓰기가 필요하다면 받아쓰기 앱을 고르세요.

Whisper는 화자 분리를 하나요?

아니요. Whisper는 단어를 전사하며, 모델 카드에 따르면 화자 분리에 대해 충분히 평가되지 않았습니다. 화자 라벨을 얻으려면 오픈 소스 pyannote.audio 파이프라인 같은 별도의 화자 분리 모델을 실행하고, 그 타임스탬프를 전사본과 결합하세요.

화자 분리 오류율이란 무엇인가요?

화자 분리 오류율(DER)은 화자 레이블 지정의 표준 정확도 지표로, 낮을수록 좋습니다. 오탐, 놓친 음성, 다른 화자에게 할당된 음성을 합친 값입니다.

Mac에서 화자 분리를 오프라인으로 실행할 수 있나요?

네. 오픈 소스 pyannote.audio 커뮤니티 파이프라인은 컴퓨터에서 로컬로 실행되며, 한 번 내려받으면 인터넷 연결 없이 사용할 수 있습니다.

이 용어가 쓰인 가이드

블로그에서

이 기준으로 비교한 페이지

관련 용어

목소리가 언제나 더 빨랐습니다.

7일 무료, 그 후 $19 USD 한 번 결제. 계정 없음, 구독 없음, 업로드 없음.

macOS 14 이상 · Apple 실리콘