Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available:
6.2.0
metadata
title: Diarization Labeling
emoji: 📣
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-dlphoặcuv 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 cpuhoặ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)