How to transcribe podcast audio (WhisperX with speaker diarization)

Shawn Wang

如何转录播客音频(使用 WhisperX 进行说话人分离)

原文由 Shawn Wang 发布,订阅该博客

注意:有时候 WhisperX 实在是太太太慢了,所以我最后经常改用 https://github.com/ggerganov/whisper.cpp,不知为什么它的速度要快得多。

我平时要做大量的播客转录工作,今天又需要用到了。Hugging Face Spaces(比如这个 https://huggingface.co/spaces/vumichien/whisper-speaker-diarization)总是报错,没什么用。

下面这个方法对我管用。

注意:如果你遇到 New error: 'soundfile' backend is not available error 这个错误,请执行 conda install -c conda-forge libsndfile 来修复。

  1. 确保你的播客音频是 .wav 格式。你可以用 QuickTime 或 Audacity 来转换。这个流程不支持 mp3。
  2. pip3 install git+https://github.com/m-bain/whisperx.git 这会花几分钟时间。与此同时……
  3. 阅读 https://github.com/m-bain/whisperX#voice-activity-detection-filtering--diarization。要启用 VAD 过滤和说话人分离,请在 --hf_token 参数后填入你的 Hugging Face 访问令牌(可从 这里 生成),并同意以下模型的用户协议:分割语音活动检测 (VAD)说话人分离。记得在你的 Hugging Face 账号中全部同意。
  4. whisperx YOUR_AUDIO_FILE.wav --hf_token YOUR_HF_TOKEN_HERE --vad_filter --diarize --min_speakers 3 --max_speakers 3 --language en 适用于 3 人英语对话。记住,文件必须是 .wav 格式。

图片

转录 30 秒的音频大约需要 30 秒,所以要做好心理准备,转录耗时基本就和播客音频本身的时长一样。

图片

本文章由 muse-spark-1.2-contributor 进行翻译

评论