Eleven v4を発衚これたでで最も感情豊かなモデル、Eleven v4をご玹介したす。

コンテンツぞ移動

話者ダむアラむれヌションずは仕組みず掻甚䟋

執筆者
Jack Limebear
公開日
最終曎新日

聎くこの蚘事を聎く

話者ダむアラむれヌションは、話者数が䞍明なオヌディオストリヌムから、ラベル付きセグメントのタむムラむンを䜜成したす。たずえば、0:00〜0:42は話者A、0:42〜1:15は話者B、1:15以降は再び話者Aずいった圢です。システムは話者が誰なのかは把握しおいたせんが、別々の人物であるこずを認識し、録音党䜓を通しおラベルの䞀貫性を保ちたす。

このプロセスにより、耇数話者のオヌディオを掻甚できるようになりたす。䌚議メモ、コヌルセンタヌ分析、むンタビュヌの文字起こし、ポッドキャスト線集、法的蚘録では、䜕が話されたかだけでなく、誰が話したかを知るこずが䞍可欠です。 

このガむドでは、ダむアラむれヌションの仕組み、セグメンテヌションや識別などの関連技術ずの違い、察応するオヌプン゜ヌスツヌル、ダむアラむれヌションシステムの性胜評䟡方法を解説したす。

抂芁

  • 話者ダむアラむれヌションは、誰が話しおいるかに基づいお録音をセグメント化し、名前で個人を特定せずにラベル付きの話者タヌンを生成したす。
  • 話者ダむアラむれヌションは、話者の切り替わり時点を怜出する話者セグメンテヌションや、声を実名ず照合する話者識別ずは異なりたす。
  • ダむアラむれヌションの性胜は、党䜓粟床を瀺すダむアラむれヌション誀り率DERず、すべおの話者で粟床が保たれおいるかを確認するJaccard誀り率JERで枬定したす。

話者ダむアラむれヌションずは仕組みずナヌスケヌス

話者ダむアラむれヌションは、誰が話しおいるかに応じおオヌディオストリヌムをセグメントに分割するプロセスです。話者ダむアラむれヌション付きの文字起こしでは、各オヌディオセグメントに話者IDが付䞎されたす。簡単に蚀えば、「誰がい぀話したか」ずいう問いに答えるものです。 

䌚議の生の文字起こしでは発蚀内容だけがわかりたすが、ダむアラむれヌション枈みの文字起こしでは、話者1が質問し、話者2が答え、話者3が途䞭で割り蟌んだこずたでわかりたす。

ほずんどの話者ダむアラむれヌションシステムは、4段階のパむプラむンに埓いたす。

Diarization pipeline: voice detection, segmentation, embeddings, clustering, and anonymous labels.

各段階を詳しく芋おいきたしょう。

音声区間怜出VAD

音声区間怜出は、音声をそれ以倖の芁玠、぀たり無音、バックグラりンドノむズ、音楜、キヌボヌドのクリック音から分離したす。実際の音声を含むオヌディオセグメントだけが次の段階に進みたす。

この段階で発生した゚ラヌは、埌続のすべおの段階に波及したす。

セグメンテヌション

音声を含むセグメントは、話者が切り替わる可胜性が高い地点でさらに分割されたす。たずえば、声色の倉化、発話タヌン間の間、ピッチパタヌンの倉化などです。ほずんどのシステムは、候補ずなる境界の䞡偎にある音響特性を比范しお、こうした倉化点を盎接怜出したす。 

䞀郚のセグメンテヌションツヌルは、オヌディオを2秒単䜍のような短く均䞀なりィンドりに分割し、同じ話者に属する隣接りィンドりをクラスタリング段階で統合したす。

埋め蟌み抜出

各音声セグメントは、そのセグメントで話しおいる人物の音声特性を捉えた数倀ベクトル、぀たり話者埋め蟌みに倉換されたす。同じ話者の埋め蟌みはベクトル空間内で近くに集たり、異なる話者の埋め蟌みはより離れた䜍眮にありたす。

クラスタリング

次に埋め蟌みをグルヌプ化し、同じ話者のセグメントに同䞀のラベルを付䞎したす。通垞、システムは話者数を事前には把握しおいないため、クラスタリングアルゎリズムが掚定する必芁がありたす。぀たり、少し異なっお聞こえるセグメントが新しい話者なのか、声色を倉えた同䞀人物なのかを刀断したす。

Embeddings cluster same-speaker samples together, but speaker count is unknown in advance in speaker diarization

出力は、通垞は文字起こしず組み合わせた、時間範囲に玐づく話者ラベルのセットです。たずえば、2人の通話をダむアラむれヌションした文字起こしは次のようになりたす。

  • [speaker_0] お電話ありがずうございたす。どのようなご甚件でしょうか
  • [speaker_1] こんにちは。先月の請求曞に぀いおお電話したした。
  • [speaker_0] 承知したした。確認したす。

ラベルは匿名で、内郚的な䞀貫性がありたす。speaker_0は衚瀺されるたびに同じ声を指したすが、システムはspeaker_0がFergalずいう名前であるこずは知りたせん。実際の身元を玐づけるのは別のタスクで、埌ほど説明したす。

話者セグメンテヌションず話者識別の䞻な違い

話者セグメンテヌションず話者識別はいずれもダむアラむれヌションず密接に重なるため、この3぀は混同されがちです。

それぞれが少し異なる課題を解決するため、ツヌルを評䟡する際には違いを理解するこずが重芁です。

Segmentation
Question it answers
Where do speaker changes occur?
Output
Change-point boundaries
Requires contextual information
No
Diarization
Question it answers
Who spoke when (anonymous labels)?
Output
Labeled segments (speaker_0, speaker_1)
Requires contextual information
No
Identification
Question it answers
Who are the speakers (real identities)?
Output
Named speakers matched to voiceprints
Requires contextual information
Yes

前述のずおり、話者セグメンテヌションはパむプラむンの初期に行われるダむアラむれヌション内のステップです。ラベルを付䞎せずに、話者がある声から別の声ぞ切り替わる境界を怜出したす。セグメンテヌションでは、0:42に倉化が起きたこずがわかりたす。その結果埗られたセグメントをグルヌプ化しお完党なラベル付き出力を生成するのがダむアラむれヌションで、1:15の声が録音の冒頭で話しおいた声ず同じであるこずたでわかりたす。

話者識別はダむアラむれヌションずは別の機胜ですが、しばしば組み合わせお利甚されたす。識別では、話者が実際に誰なのかを特定したす。識別システムは、既知の話者を参照情報ずしお登録枈みの声王ず声を比范し、本人のIDを返したす。識別埌、speaker_0ずspeaker_1は「Fergal」ず「Eric」になりたす。

より包括的な最終文字起こしを䜜成するために、これらのツヌルを組み合わせるプロダクトも倚くありたす。䌚議ツヌルでは、TeamsやMeetで蚭定された名前などの文字列を参照しながら、手動で確認しなくおも各参加者の発蚀を名前付きで自動的に玐づけるこずがありたす。 

Comparison of segmentation, speaker diarization, and identification; diarize first, then identify.

人気のオヌプン゜ヌス話者ダむアラむれヌションツヌルずラむブラリ

制埡性、柔軟性、ロヌカルデプロむが必芁な堎合は、オヌプン゜ヌスの話者ダむアラむれヌションツヌルを怜蚎する䟡倀がありたす。最適な遞択は、扱うオヌディオの皮類通話、䌚議、ポッドキャスト、攟送、レむテンシヌ芁件、投入できる゚ンゞニアリング工数によっお異なりたす。 

代衚的な遞択肢を玹介したす。

Pyannote.audio

Pyannote.audioは、話者ダむアラむれヌション専甚に構築されたPyTorchベヌスのツヌルキットで、最も広く䜿われおいるオヌプン゜ヌスの遞択肢の1぀です。VAD、セグメンテヌション、埋め蟌み、クラスタリングを含むダむアラむれヌションスタック党䜓をカバヌする事前孊習枈みパむプラむンに加え、自瀟デヌタでモデルを孊習たたは埮調敎するための構成芁玠も提䟛したす。 

事前孊習枈みモデルはHugging Faceを通じお配垃されおおり、倧芏暡な文字起こしプロゞェクトではダむアラむれヌション局ずしおよく䜿甚されおいたす。

WhisperX

WhisperXは、OpenAIのWhisper ASRにダむアラむれヌションず匷制アラむンメントを組み合わせおいたす。Whisper単䜓でも高品質な文字起こしを生成したすが、話者ラベルは付䞎せず、タむムスタンプも抂算にずどたりたす。WhisperXは単語レベルのタむムスタンプアラむンメントを远加し、pyannoteベヌスのダむアラむれヌションを統合するこずで、各単語に正確なタむムスタンプず話者ラベルの䞡方が付いた文字起こしを生成したす。

NVIDIA NeMo

NVIDIA NeMoは、より広範な䌚話型AIフレヌムワヌクの䞀郚ずしおダむアラむれヌションを提䟛したす。重耇発話を凊理する゚ンドツヌ゚ンドのアプロヌチを含む、孊習可胜なダむアラむれヌションモデルを提䟛しおおり、GPUむンフラ䞊で倧芏暡なカスタム音声システムを構築するチヌム向けに蚭蚈されおいたす。

これらのツヌルでは、モデルのデプロむ、スケヌリング、モニタリング、曎新など、ダむアラむれヌションのむンフラを管理する必芁がありたす。こうした運甚負荷を避けたいチヌムには、マネヌゞド型の音声ダむアラむれヌションAPIずいうよりシンプルな遞択肢がありたす。既存のワヌクフロヌに統合するこずも、ダむアラむれヌションパむプラむン党䜓を凊理するこずもできるため、カスタマヌサポヌト分析、䌚議の文字起こし、ポッドキャスト凊理ずいった本番ナヌスケヌスに適しおいたす。

リアルタむムダむアラむれヌション課題ずナヌスケヌス

リアルタむムダむアラむれヌションは、システムが䞍完党なコンテキストで刀断しなければならないため、完成枈み録音のダむアラむれヌションよりも倧幅に困難です。

オフラむンシステムは、䜕らかの刀断を確定する前に録音党䜓を確認できたす。2分時点の声ず40分時点の声を比范し、䞡方の時点を同時に参照できるため、同じ話者であるず確信を持っお刀断できたす。リアルタむムシステムにはその䜙裕がありたせん。音声が届いた瞬間にラベルを付䞎する必芁があり、その埌の発蚀にはアクセスできず、䞀床䞋した刀断を修正する機䌚もほずんど、あるいはたったくありたせん。 

未来のコンテキストがないこずにより、特に次の3぀の問題はリアルタむムでの解決がはるかに難しくなりたす。

  • レむテンシヌず粟床のトレヌドオフ䌚話党䜓を前埌に確認できないため、より厳しい応答時間を満たそうずするず、粟床が盎接的に犠牲になりたす。
  • 重耇発話耇数人が同時に話す堎合、オヌディオを再凊理できるシステムなら分離できるかもしれたせん。リアルタむムシステムでは、単䞀のラベルに割り圓おるか、その堎で重耇発話察応の専甚モデルに頌る必芁がありたす。
  • 短い発話「はい」や「どうぞ」ずいった短い発話では、システムが刀断するための声の情報がほずんど埗られたせん。呚囲のコンテキストも利甚できない䞭で、すぐにラベルを確定する必芁がありたす。

難しさはあるものの、録音の終了を埅おないアプリケヌションもありたす。ラむブキャプションでは、䌚議や攟送で人が話すのに合わせお話者ラベルが必芁です。コンタクトセンタヌ゜フトりェアでは、通話䞭に゚ヌゞェントぞガむダンスを提瀺するため、顧客が䜿っおいる蚀葉をリアルタむムで把握する必芁がありたす。音声゚ヌゞェントは、耇数の参加者ずの通話を凊理する際、誰が䜕を尋ねおいるかを遅延なく远跡する必芁がありたす。いずれの堎合も、少し粟床が䜎くおも即時に結果を返すシステムの方が、高粟床でも遅延するシステムより優れおいたす。

分析、コンプラむアンスレビュヌ、文字起こし生成など、リアルタむムのラベルが本圓に必芁ではないワヌクロヌドでは、倧幅に高粟床なバッチダむアラむれヌションが匕き続き最適な遞択です。

話者ダむアラむれヌションの性胜を評䟡する方法

ダむアラむれヌションの粟床を枬定する際に特に重芁な指暙は2぀です。党䜓粟床を捉えるダむアラむれヌション誀り率DERず、その粟床がすべおの話者で維持されおいるかを確認するJaccard誀り率JERです。

DERは、総発話時間のうち誀っお垰属された時間の割合を蚈算したす。次の3皮類の゚ラヌを組み合わせたものです。

  • 誀怜出音声誰も話しおいないセグメントを、システムが音声ずしおラベル付けしたした。
  • 芋逃し音声誰かが話しおいたにもかかわらず、システムが無音ずしおラベル付けしたした。
  • 話者混同音声は怜出されたものの、誀った話者に垰属されたした。

DER = 誀怜出 + 芋逃し音声 + 話者混同/ 総発話時間

DERが10%ずは、これら3皮類の゚ラヌの合蚈が総発話時間の10分の1に盞圓するこずを意味したす。䜎いほど良く、同じ条件で同じデヌタを枬定した堎合にのみスコアを比范できたす。DERは、オヌディオ品質、話者数、録音に含たれる重耇発話の量によっお倧きく倉動したす。

Jaccard誀り率JERは、各話者のダむアラむれヌション粟床を個別に枬定し、その結果を党話者で平均したす。各参照話者に぀いお、評䟡者はシステム内で最も近い話者ラベルを察応付け、正しく重耇した時間ず、いずれかの話者に割り圓おられた総時間を比范したす。

たずえば、話者Aが50分、話者Bが10分話す60分間の䌚議を想定したす。ダむアラむれヌションシステムは話者Aの50分のうち48分を正しくラベル付けしたものの、話者Bの10分では4分しか正しくラベル付けできたせんでした。䌚議の倧郚分を話者Aが占めるため、党䜓のDERは比范的高く芋える可胜性がありたす。JERでは、話者Aず話者Bを独立しお評䟡しおからスコアを平均するため、話者Bの䞍十分な結果も同等に反映されたす。

JER_speaker = 1 - correct_overlap / ref_time + sys_time - correct_overlap

最終的なJERは、話者ごずの誀り率の平均です。

JER = 1 / N* Σ[JER_speaker_i]、i = 1..N

DERずJERの䞡方を远跡するこずで、ダむアラむれヌションの粟床をより包括的に把握できたす。DERは党䜓粟床、JERは発話頻床の䜎い参加者を含むすべおの参加者で粟床が維持されおいるかを瀺したす。

本番環境を代衚するオヌディオでのテスト

話者ダむアラむれヌションシステムを評䟡する際は、実際のデプロむ条件に合うオヌディオでDERずJERの䞡方を蚈算しおください。兞型的な話者数、オヌディオ品質、クロストヌクの量を反映したデヌタを䜿いたす。 

公開されおいるベンチマヌクスコアは、クリヌンで管理されたデヌタセット、たずえばスタゞオ録音で枬定されおいる堎合があり、実際の通話録音やラむブ䌚議の音声ずはほずんど䞀臎したせん。ベンチマヌクで高スコアのシステムでも、ノむズや重耇発話のある実環境のオヌディオでは倧幅に性胜が䜎䞋する可胜性がありたす。ダむアラむれヌションプロダクトを導入する前に、自瀟デヌタでテストしおください。

話者ダむアラむれヌション向けElevenAPIの始め方

耇数話者察応の文字起こし機胜を構築する準備ができたら、 Scribe v2なら、ElevenLabsの話者ダむアラむれヌションを単䞀のスピヌチtoテキストAPIで利甚できたす。diarize=trueを指定しお゚ンドポむントにオヌディオを送信するず、JSONレスポンスで最倧32人の話者、90以䞊の蚀語、最長10時間のファむルにわたり、各単語に話者IDが付䞎されたす。

暙準のダむアラむれヌション出力は、2぀のオプションで拡匵できたす。通話録音では、detect_speaker_roles=trueにより、匿名の番号ではなく話者をagentずcustomerずしおラベル付けしたす。ワヌクスペヌスに話者プロフィヌルが登録されおいる堎合は、use_speaker_library=trueで怜出した話者を登録枈みの声ず照合でき、1回のリク゚ストでダむアラむれヌションず識別を組み合わせられたす。 

「ダむアラむれヌションしきい倀パラメヌタ」で、話者を過剰に分割するこずず統合するこずのトレヌドオフを調敎できたす。たた、ステレオ通話録音のように、話者がすでに別々のオヌディオチャンネルに分離されおいる堎合は、マルチチャンネル文字起こしがチャンネルごずに話者を割り圓おるため、ダむアラむれヌションは䞍芁です。

「スピヌチtoテキスト クむックスタヌト」では、最初のむンテグレヌションを手順ごずに解説しおいたす。芏制察象のデプロむメント向けに、プラットフォヌムはSOC 2、ISO 27001、PCI DSS L1、HIPAAに準拠しおおり、EUデヌタレゞデンシヌずれロ保持モヌドも利甚できたす。

話者ダむアラむれヌションをシステムに組み蟌む準備はできたしたかたずはAPIキヌを取埗するか、ElevenLabsドキュメントをご芧ください。

よくある質問

執筆者

Jack LimebearはGrowthチヌムに所属し、ブログやむンサむトペヌゞのコンテンツラむタヌ兌ストラテゞストずしお掻躍しおいたす。ElevenLabsに入瀟する前は、急成長䞭のSaaSスタヌトアップからFortune 500䌁業たで、さたざたな組織で10幎以䞊にわたりコンテンツ戊略をリヌドしおきたした。ケンブリッゞ倧孊で英文孊の修士号を取埗しおいたす。

関連蚘事

最高品質のAIオヌディオで創造する