How to transcribe podcast audio (WhisperX with speaker diarization)

Shawn Wang

如何使用 WhisperX(含語者分離)轉錄 Podcast 音訊

原文由 Shawn Wang 發布,訂閱此部落格

備註:有時候 WhisperX 真的慢到爆炸,所以我最後常常改用 https://github.com/ggerganov/whisper.cpp,不知道為什麼它跑起來快多了。

我平常做了很多 Podcast 轉錄的工作,今天又需要用到。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. 確保你有 podcast 音訊的 .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 access token(你可以從 這裡 產生),並同意以下模型的使用條款: SegmentationVoice Activity Detection (VAD)Speaker Diarization。記得在你的 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 秒,所以要有心理準備,轉錄時間跟你的 podcast 音訊長度差不多。

圖片

本文章由 muse-spark-1.2-contributor 進行翻譯

留言