Author
Taishin Maeda - Waseda University
Abstract
ဤစာတမ်းသည် state-of-the-art open-source speaker diarization frameworks နှစ်ခုကို evaluate ပြီး compare လုပ်ပါသည်: Pyannote.audio နှင့် Nvidia Nemo။ Evaluation သည် Diarization Error Rate (DER), execution time နှင့် GPU resource usage တို့ကို audio scenarios အမျိုးမျိုးတွင် focus လုပ်ပါသည်။ ထို့အပြင် diarization accuracy improve လုပ်ရန် OpenAI ၏ GPT-4-Turbo အသုံးပြုသော post-processing approach ကို explore လုပ်ပါသည်။
အဓိက ရလဒ်များ:
- Nvidia Nemo သည် 2-speaker scenarios အတွက် ~9% lower DER ရရှိသည်
- Pyannote.audio သည် multi-speaker (9+) scenarios အတွက် better perform လုပ်သည်
- GPT-4-Turbo post-processing သည် potential ပြသော်လည်း audio context integration လိုအပ်သည်
- Real-time speaker diarization web application demonstrate လုပ်ခဲ့ပြီး
1. Introduction
Speaker Diarization ဆိုသည်မှာ
Speaker Diarization သည် audio ကို different speakers များအပေါ်အခြေခံ၍ segment ပြီး label လုပ်သည့် process ဖြစ်ပြီး - given audio တွင် “who spoke when?” ဆိုသည့် မေးခွန်းကို ဖြေပေးပါသည်။ ၎င်းသည် Automatic Speech Recognition (ASR) နှင့် တွဲဖက်သော crucial conversation analysis tool ဖြစ်ပါသည်။
Speaker diarization system တွင် ပါဝင်သည်:
- Voice Activity Detection (VAD) - Speech occur ဖြစ်သော timestamps
- Audio Embeddings Model - Timestamped segments များမှ embeddings extract လုပ်သည်
- Clustering - Speaker count estimate လုပ်ရန် embeddings များ group လုပ်သည်
Frameworks များ နှိုင်းယှဉ်ခြင်း
| Component | Pyannote.audio | Nvidia Nemo |
|---|
| VAD | Pyannet from Syncnet | Multilingual MarbleNet |
| Speaker Embedding | ECAPA-TDNN | Titanet Large |
| Clustering | Hidden Markov Model | Multi-scale Clustering (MSDD) |
2. Evaluation Method
Diarization Error Rate (DER)
2000 ခုနှစ်တွင် NIST မှ introduce လုပ်ထားသော speaker diarization အတွက် standard metric:
DER = (False Alarm + Missed Detection + Confusion) / Total
Where:
- False Alarm: Speech detected သော်လည်း speaker မရှိ
- Missed Detection: Speech detect မဖြစ်သော်လည်း speaker ရှိသည်
- Confusion: Speech ကို wrong speaker သို့ assign လုပ်သည်
Goal မှာ DER ကို 0 သို့ minimize လုပ်ခြင်း ဖြစ်ပြီး errors မရှိကြောင်း indicate လုပ်ပါသည်။
3. Experimental Setup
Datasets
- 5-minute audio - Speakers နှစ်ဦး (Obama-Zach interview), Audacity အသုံးပြု၍ manually annotated
- 9-minute audio - Professional ground truth ပါဝင်သော VoxConverse dataset မှ Speakers ကိုးဦး
Hardware
- GPU: Nvidia GeForce RTX 3090
- Python ၏
time module အသုံးပြု၍ Time measure
4. Results and Discussion
DER Results - Two Speakers (5 min)
| Framework | DER |
|---|
| Pyannote.audio | 0.252 |
| Pyannote.audio (pre-identified speakers) | 0.214 |
| Nvidia Nemo | 0.161 |
| Nvidia Nemo (pre-identified speakers) | 0.161 |
Nvidia Nemo သည် two-speaker scenarios အတွက် Pyannote.audio ထက် approximately 9% less DER produce လုပ်ပါသည်။
DER Results - Nine Speakers (9 min)
| Framework | DER |
|---|
| Pyannote.audio | 0.083 |
| Pyannote.audio (pre-identified speakers) | 0.098 |
| Nvidia Nemo (pre-identified speakers) | 0.097 |
Multi-speaker scenarios အတွက် Pyannote.audio သည် Nvidia Nemo ထက် ~1.4% lower DER ရရှိသည်။
| Framework | 5-min Audio | 9-min Audio |
|---|
| Pyannote.audio | 31.3s | 44.5s |
| Nvidia Nemo | 63.9s | - |
| Nemo (pre-identified) | 49.9s | 108.2s |
Nvidia Nemo သည် Pyannote.audio ထက် execution time approximately double ယူပါသည်။
5. Real-time Application
Real-time speaker diarization web application ကို develop လုပ်ခဲ့ပြီး:
- Streaming audio အတွက် WebSockets
- Backend အတွက် FastAPI
- Diarization အတွက် Pyannote.audio
Better real-time performance အတွက် 30-second chunks အစား 3-second audio chunks အသုံးပြုပါသည်။
6. Conclusion
အဓိက တွေ့ရှိချက်များ
- Nvidia Nemo သည် speakers နည်းသော shorter audio တွင် excel ဖြစ်သည် (DER: 0.161 vs 0.252)
- Pyannote.audio သည် speakers ပိုများသောအခါနှင့် speaker count pre-identified ဖြစ်သောအခါ better perform လုပ်သည်
- GPT-4 post-processing သည် potential ပြသော်လည်း audio context integration လိုအပ်သည်
- Execution time: Pyannote.audio သည် approximately 2x faster ဖြစ်သည်
- Real-time application: Modified chunk logic သည် accuracy improve လုပ်သည်
Future Work
- Non-telephonic scenarios အတွက် Nvidia Nemo models ချိန်ညှိခြင်း
- GPT post-processing ထဲသို့ audio context integrate လုပ်ခြင်း
- Real-time applications အတွက် speaker identification thresholds fine-tune လုပ်ခြင်း
- Diarization tasks အတွက် train လုပ်ထားသော domain-specific LLMs explore လုပ်ခြင်း
References
- NIST Rich Transcription Evaluation (2022)
- Nvidia NeMo Documentation - Speaker Diarization
- Pyannote.audio GitHub Repository
- VoxConverse Speaker Diarization Dataset
Acknowledgments
- Akinori Nakajima - VoicePing Corporation ၏ Representative Director
- Melnikov Ivan - VoicePing Corporation ၏ AI Developer