音轉(zhuǎn)錄加速上手:13 分鐘音頻從 2 分 23 秒到 1 分 03 秒)
Faster-Whisper 語(yǔ)音轉(zhuǎn)錄加速上手13 分鐘音頻從 2 分 23 秒到 1 分 03 秒【免費(fèi)下載鏈接】faster-whisperFaster Whisper transcription with CTranslate2項(xiàng)目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper上周我手里攢了十幾小時(shí)的會(huì)議錄音全要轉(zhuǎn)成文字存檔。拿原版 Whisper 在 CPU 上掛了一夜第二天早上還在跑心態(tài)直接崩了。后來(lái)切到 faster-whisper 做同樣的語(yǔ)音轉(zhuǎn)錄任務(wù)同樣的模型規(guī)模同樣的機(jī)器時(shí)間縮到了原來(lái)的幾分之一。這篇文章把我跑通后的路徑講一遍。 一句話定位它是用 CTranslate2 重寫(xiě)的 Whisperfaster-whisper 不是另一套模型而是把 OpenAI 的 Whisper 搬到 CTranslate2 這個(gè) Transformer 推理引擎上重新實(shí)現(xiàn)。你得到的轉(zhuǎn)錄文字和原版基本一個(gè)水平WER 相當(dāng)?shù)评硭俣茸罡吣芸?4 倍顯存和內(nèi)存占用更低還支持 CPU、GPU 兩種場(chǎng)景下的 INT8 量化。對(duì)新手來(lái)說(shuō)它的 API 和原版長(zhǎng)得很像遷移成本很低。 上手路徑最快安裝方式和第一次轉(zhuǎn)錄安裝就一行這也是我推薦的唯一入口pip install faster-whisper有個(gè)省心的細(xì)節(jié)原版依賴系統(tǒng)里的 FFmpeg 解碼音頻這里不需要PyAV 已經(jīng)把解碼庫(kù)打進(jìn)來(lái)了裝完就能用。第一次轉(zhuǎn)錄建議先用 small 模型、CPU 跑一遍確認(rèn)鏈路通了再談提速from faster_whisper import WhisperModel model WhisperModel(small, devicecpu, compute_typeint8) segments, info model.transcribe(meeting.mp3) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})按模型名加載時(shí)對(duì)應(yīng)的 CTranslate2 權(quán)重會(huì)自動(dòng)從 Hugging Face Hub 下載不用手動(dòng)搬文件。GPU 加速需要先裝 NVIDIA 的 cuBLAS 和 cuDNNCUDA 12 版本初始化時(shí)傳devicecuda, compute_typefloat16沒(méi)有顯卡的話compute_typeint8是最省內(nèi)存的選項(xiàng)一句話就能切過(guò)去。 深入使用要點(diǎn)性能實(shí)測(cè)先看這組數(shù)再選精度我用倉(cāng)庫(kù) README 里的官方基準(zhǔn)RTX 3070 Tilarge-v2beam_size5同一段 13 分鐘音頻整理了一張表實(shí)現(xiàn)精度耗時(shí)顯存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperint859s2926MB速度翻倍是常態(tài)INT8 再把顯存壓掉三分之一。精度怎么選顯存夠就 float16顯存吃緊或純 CPU 就 int8這是初始化時(shí)compute_type一個(gè)參數(shù)的事。一個(gè)容易踩的坑結(jié)果是個(gè)生成器transcribe()返回的 segments 是生成器調(diào)用那一刻轉(zhuǎn)錄并沒(méi)有開(kāi)始只有你遍歷它時(shí)任務(wù)才真正啟動(dòng)。想把結(jié)果存成列表、統(tǒng)計(jì)時(shí)長(zhǎng)記得用list(segments)包一下別以為拿到的就是現(xiàn)成數(shù)據(jù)。要不要開(kāi) VAD什么時(shí)候用錄音里沉默很多比如一整天的會(huì)議、播客。怎么開(kāi)segments, _ model.transcribe(meeting.mp3, vad_filterTrue)怎么注意內(nèi)置的 Silero VAD 默認(rèn)比較保守只裁掉 2 秒以上的靜音想更激進(jìn)可以傳參segments, _ model.transcribe( meeting.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500), )閾值調(diào)太狠會(huì)把正常停頓也切掉句子的邊界和時(shí)長(zhǎng)會(huì)跟著變先小范圍驗(yàn)證再全量跑。詞級(jí)時(shí)間戳怎么開(kāi)什么時(shí)候用做字幕、逐字高亮、精確對(duì)齊。怎么開(kāi)word_timestampsTrue每段里多一個(gè)words列表每個(gè)詞自帶起止時(shí)間。做字幕工具鏈的我會(huì)把這個(gè)和 VAD 一起開(kāi)長(zhǎng)音頻收益最明顯。 選型什么時(shí)候用它什么時(shí)候用原版就夠了場(chǎng)景建議批量轉(zhuǎn)錄、有 GPU、顯存吃緊faster-whisper需要 VAD、詞級(jí)時(shí)間戳faster-whisper跑一兩段做驗(yàn)證、學(xué)習(xí)原理openai/whisper 原版已經(jīng)依賴原版 API 且對(duì)速度沒(méi)要求openai/whisper 原版生態(tài)方面WhisperX 在它之上做說(shuō)話人分離Open-Lyrics 產(chǎn)出 .lrc 歌詞speaches 提供 OpenAI 兼容的服務(wù)端點(diǎn)都是現(xiàn)成的。想翻更多參數(shù)直接看 WhisperModel 的實(shí)現(xiàn) 最準(zhǔn)。我的建議是先用 small 模型在 CPU 上把整條流程跑通再根據(jù)數(shù)據(jù)量決定要不要上 GPU 或 INT8這個(gè)順序最省時(shí)間?!久赓M(fèi)下載鏈接】faster-whisperFaster Whisper transcription with CTranslate2項(xiàng)目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考