介紹 WhisperX: AI 語音識別加上單詞級別的時間戳記和語音分離

前言

上個月買遊戲拿到了 FANZA 的折抵金,為了花掉它買了平常沒在聽的 ASMR,然後發現

嗯,我 N87 聽不懂日文...

這種小眾的東西網路上也沒有譯文,就試了試當紅的 AI 語音辨識 + 翻譯,成果還不賴。
這篇文章想分享我發現的好東西 —— WhisperX。

WhisperX: Automatic Speech Recognition with Word-level Timestamps (Diarization)

WhisperX 提供高速的自動語音識別,並提供詞級時間戳和講話者分離功能。
(高速指使用 large-v2 模型時可達到 whisper 的 70 倍速)

GitHub: m-bain/whisperX
https://github.com/m-bain/whisperX

  • 使用 whisper large-v2 進行批次推論,實現 70 倍速的轉錄速度
  • 以 faster-whisper 做後端,對於 large-v2 使用 beam_size=5 只需要 8GB 以下的 GPU 顯存
  • 使用 wav2vec2 對齊技術達到單詞級別的時間戳
  • 利用 pyannote-audio 中的語者分離功能實現多人語音辨識(包含語者 ID 標籤)
  • VAD 預處理,減少幻聽問題並提升批次處理效率而不影響字錯率

一言以蔽之,它會把音檔分割成小片段批次送去 whisper 辨識,再將時間軸對齊到單字的層級上。另外它底下是使用 faster-whisper 模型,號稱能在同樣的辨識率下達到 4 倍快速。

實測是真的很快🚀

使用說明

  • 你跟 Python 很熟,可以按照 GitHub 文件自行安裝使用
  • 也推薦使用我寫的 Docker image
    GitHub: jim60105/docker-whisperX
    https://github.com/jim60105/docker-whisperX
    docker run --gpus all -it -v ".:/app" ghcr.io/jim60105/whisperx:base-en     -- --output_format srt audio.mp3
    docker run --gpus all -it -v ".:/app" ghcr.io/jim60105/whisperx:large-v2-ja -- --output_format srt audio.mp3
    docker run --gpus all -it -v ".:/app" ghcr.io/jim60105/whisperx:no_model    -- --model tiny --language en --output_format srt audio.mp3

沒有留言:

張貼留言

本站遭到垃圾留言(病毒連結)攻擊,開啟審核模式。留言後並不會馬上公開顯示。

目錄