ASR: Chuyển audio/video thành văn bản có nhãn người nói
Chuyển file ghi âm hoặc video thành văn bản kèm nhãn người nói và mốc thời gian, đồng thời xử lý tiền xử lý audio cho ASR.
Ảnh · VideoNâng cao★ 1,323⑂ 212Điểm AI 9/10Cập nhật lần cuối: 8 thg 8, 2026
Làm được gì
- Nhận file audio/video cục bộ hoặc URL media (kể cả trang podcast) và xuất ra văn bản dạng
[00:12 - 00:30] SPEAKER_01: ...cùng file CSV. - Trên Mac Apple Silicon chạy cục bộ bằng MLX (Qwen3-ASR + mlx-whisper + pyannote), miễn phí và nhanh 15–27x thời gian thực; nền tảng khác dùng API từ xa (vLLM tự host).
- Kiến trúc tách rời kiểu WhisperX: không cắt audio trước khi nhận dạng, nên chất lượng giữ nguyên ngữ cảnh toàn file, sau đó mới ghép timestamp từ và phân đoạn người nói.
- Tiền xử lý audio là tính năng độc lập: hạ mẫu 16kHz mono 16-bit, ghép nhiều file từ máy ghi âm (DJI TX01/TX02...), tăng tốc 1.3x giữ nguyên cao độ để giảm phút tính phí, chọn định dạng theo đích đến (wav/m4a/ogg/flac).
- Có bước kiểm tra kết quả (phát hiện cắt cụt, chỉ số tin cậy
anchored_ratio) và ghi rõ các giới hạn khó chịu của vLLM (25 MB, 600 giây, từ chối MP3).
Phù hợp với ai
- Người cần biên bản họp/phỏng vấn có phân biệt "ai nói câu nào".
- Người muốn lưu trữ podcast, bài giảng, video dưới dạng văn bản tìm kiếm được.
- Người dùng MacBook chip M muốn xử lý hoàn toàn cục bộ, không tải audio lên mây.
- Kỹ sư vận hành server GPU nội bộ chạy vLLM cho ASR.
Ví dụ sử dụng
- Biên bản cuộc họp 2 giờ: đưa
meeting.m4a, nhận về.txtphân theo người nói và.csvđể tiếp tục tóm tắt, trích xuất việc cần làm. - Ghép file ghi âm bị chia nhỏ: các file
TX02_MIC024.wav,TX02_MIC025.wavđược sắp xếp theo mốc thời gian trong tên file, ghép lại và tự kiểm tra độ dài cùng âm lượng tại chỗ nối. - Tiết kiệm chi phí ASR trả phí: chuyển sang M4A và tăng tốc 1.3x giữ cao độ, giảm ~80% dung lượng và ~23% số phút bị tính tiền.
· · · Hướng dẫn cài đặt · · ·
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục daymade-audio/asr-transcribe-to-text từ repo GitHub daymade/claude-code-skills vào ~/.claude/skills/asr-transcribe-to-text/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/daymade/claude-code-skills.git /tmp/daymade-skills && mkdir -p ~/.claude/skills && cp -r /tmp/daymade-skills/daymade-audio/asr-transcribe-to-text ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Cài công cụ nền tảng trước: trên macOS chạy
brew install ffmpeg uv(bắt buộc phải có ffmpeg và uv). - Tải mã nguồn về:
git clone https://github.com/daymade/claude-code-skills.git /tmp/daymade-skills - Chép thư mục skill vào nơi Claude Code đọc skill:
mkdir -p ~/.claude/skills cp -r /tmp/daymade-skills/daymade-audio/asr-transcribe-to-text ~/.claude/skills/ - Muốn có nhãn người nói: đồng ý điều khoản tại https://hf.co/pyannote/speaker-diarization-3.1 rồi chạy
huggingface-cli loginmột lần duy nhất. Bỏ qua bước này thì chỉ nhận được văn bản thuần. - Khởi động lại Claude Code và yêu cầu ví dụ: "chuyển file ghi âm này thành văn bản có phân biệt người nói". Lần đầu skill sẽ hỏi bạn chọn chế độ cục bộ hay từ xa.
- Trước khi xử lý file dài, chạy thử:
uv run ~/.claude/skills/asr-transcribe-to-text/scripts/transcribe_local_mlx.py --smoke-test.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT