Spaces:
Sleeping
Sleeping
| title: Diarization Labeling | |
| emoji: "\U0001F4E3" | |
| colorFrom: blue | |
| colorTo: green | |
| sdk: gradio | |
| sdk_version: "4.19.2" | |
| app_file: app.py | |
| pinned: false | |
| # Vietnamese_Diarization | |
| Kho mã mẫu diarization tiếng Việt dùng pyannote/speaker-diarization-community-1. | |
| ## Yêu cầu | |
| - Python 3.10+ | |
| - ffmpeg (bắt buộc cho torchcodec audio decoding) | |
| - Đã chấp nhận điều khoản model tại https://huggingface.co/pyannote/speaker-diarization-community-1 | |
| - Hugging Face access token (dán vào hugging_face_key.txt hoặc đặt biến môi trường HUGGINGFACE_TOKEN/HUGGINGFACE_ACCESS_TOKEN) | |
| ## Cài đặt nhanh | |
| - Cài thư viện: `pip install pyannote.audio gradio yt-dlp` hoặc `uv add pyannote.audio gradio yt-dlp` | |
| - Đảm bảo ffmpeg đã có trong PATH | |
| ## Chạy Gradio | |
| - Lệnh: `python app.py` | |
| - Trình duyệt mở tại http://localhost:7860 (hoặc địa chỉ máy chủ nếu chạy từ xa) | |
| - Điền token nếu chưa đặt sẵn, tải file âm thanh hoặc dán URL YouTube/TikTok, chọn thiết bị rồi nhấn Chạy | |
| - Bảng kết quả hiển thị dạng phút:giây; có thể gán nhãn giới tính (nam/nữ), vùng miền (bắc/trung/nam) và transcription, sau đó bấm "Tách và tải" để nhận zip gồm các đoạn WAV và metadata.csv | |
| ## Chạy mẫu | |
| - Diarization và in kết quả: `python infer.py path/to/audio.wav` | |
| - Lưu thêm RTTM: `python infer.py path/to/audio.wav --rttm outputs/audio.rttm` | |
| - Lưu JSON: `python infer.py path/to/audio.wav --json outputs/audio.json` | |
| - Chọn thiết bị: thêm `--device cpu` hoặc `--device cuda` (mặc định auto) | |
| ## API Python | |
| ``` | |
| from app import diarize_file | |
| segments = diarize_file("audio.wav", device="auto") | |
| ``` | |
| ## Cấu trúc | |
| - app.py: API Python và giao diện Gradio | |
| - infer.py: CLI chạy diarization | |
| - src/models.py: Bao gói pipeline pyannote | |
| - src/utils.py: Hỗ trợ đọc token, định dạng kết quả | |
| - hugging_face_key.txt: nơi dán Hugging Face access token (không commit token thật) | |