音轉(zhuǎn)文字完整指南)
15 分鐘上手 faster-whisper4 倍速語(yǔ)音轉(zhuǎn)文字完整指南【免費(fèi)下載鏈接】faster-whisperFaster Whisper transcription with CTranslate2項(xiàng)目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper如果你要把會(huì)議錄音、課程音頻批量轉(zhuǎn)成帶時(shí)間戳的文字faster-whisper 值得看一眼它用 CTranslate2 引擎重寫(xiě)了 OpenAI Whisper在相同準(zhǔn)確率下速度最高快 4 倍還支持 99 種語(yǔ)言自動(dòng)識(shí)別。它憑什么值得你花幾分鐘速度快且快得有數(shù)據(jù)官方基準(zhǔn)里GPU 上 13 分鐘音頻用 large-v2 模型faster-whisper 跑 1 分 03 秒openai/whisper 要 2 分 23 秒再開(kāi)batch_size8批處理只要 17 秒。CPU 上 int8 量化后small 模型 13 分鐘音頻 51 秒跑完。省內(nèi)存同樣 GPU 場(chǎng)景int8 量化把顯存占用從 4525MB 壓到 2926MB小顯存卡也能跑大模型。免裝 FFmpeg和 openai/whisper 不同它用 PyAV 解碼音頻FFmpeg 的庫(kù)直接打包在 pip 依賴?yán)镅b好就能讀 mp3、m4a、wav 等各種格式。裝好它一條命令跑通環(huán)境要求Python 3.9 或更高純 CPU 即可運(yùn)行有 NVIDIA GPU 則需 CUDA 12 cuBLAS cuDNN 9不需要單獨(dú)安裝 FFmpeg安裝只需一條命令# 一條命令安裝 faster-whisper會(huì)自動(dòng)帶上 CTranslate2、PyAV 等依賴 pip install faster-whisper首次按模型名如large-v3加載時(shí)會(huì)自動(dòng)從 Hugging Face 下載對(duì)應(yīng)的 CTranslate2 模型之后就有本地緩存了。挑對(duì)參數(shù)使用場(chǎng)景 → 推薦配置使用場(chǎng)景模型 (model_size)設(shè)備 (device)精度 (compute_type)其他建議快速出稿、實(shí)時(shí)性優(yōu)先tiny / smallcpuint8準(zhǔn)確率換速度適合草稿日常通用轉(zhuǎn)錄small / mediumcudafloat16平衡之選最高精度、長(zhǎng)音頻large-v3cudafloat16顯存吃緊時(shí)換 int8_float16小顯存 GPU≤8GBlarge-v3cudaint8_float16顯存約為 fp16 的 2/3追求更快的高精度turbo即 large-v3-turbocudafloat16專為該庫(kù)優(yōu)化見(jiàn)下文批處理批量處理多個(gè)長(zhǎng)音頻turbocudafloat16用 BatchedInferencePipeline batch_size另外兩個(gè)高頻開(kāi)關(guān)比換模型見(jiàn)效更快vad_filterTrue啟用內(nèi)置的 Silero VAD自動(dòng)裁掉超過(guò) 2 秒的靜音段長(zhǎng)音頻轉(zhuǎn)錄明顯提速還能減少靜默處的幻覺(jué)文字。word_timestampsTrue輸出詞級(jí)時(shí)間戳做字幕、高亮定位時(shí)要用。最常用的調(diào)用方式長(zhǎng)這樣from faster_whisper import WhisperModel # 在 GPU 上用 FP16 加載 large-v3 模型 model WhisperModel(large-v3, devicecuda, compute_typefloat16) # 轉(zhuǎn)錄音頻開(kāi)啟 VAD 靜音過(guò)濾返回帶時(shí)間戳的分段結(jié)果 segments, info model.transcribe(meeting.mp3, beam_size5, vad_filterTrue) print(f檢測(cè)到的語(yǔ)言{info.language}概率 {info.language_probability:.2f}) for seg in segments: # 注意segments 是生成器必須遍歷才會(huì)真正開(kāi)始轉(zhuǎn)錄 print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})注意segments是生成器不調(diào)用for或list()它不會(huì)開(kāi)始干活這是新手最容易卡住的一點(diǎn)。把它用進(jìn)你的工作流周一上午一場(chǎng) 1 小時(shí)的產(chǎn)品評(píng)審會(huì)。會(huì)后錄音直接丟給腳本用 small 模型加vad_filterTrue幾分鐘后拿到帶時(shí)間戳的逐段文字語(yǔ)言自動(dòng)檢測(cè)成中文把時(shí)間戳去掉標(biāo)點(diǎn)整理一下就是會(huì)議紀(jì)要的底稿。周三下午處理一整個(gè)學(xué)期的課程錄音。十幾門(mén)課、每門(mén)幾小時(shí)單條跑太慢。用BatchedInferencePipeline包一層WhisperModel設(shè)batch_size16GPU 上吞吐量能拉開(kāi)一個(gè)量級(jí)跑完把結(jié)果寫(xiě)成 SRT 或 LRC 字幕文件直接掛到視頻上。周五晚上給播客加雙語(yǔ)字幕。開(kāi)啟word_timestampsTrue拿到每個(gè)詞的起止時(shí)間按詞做卡拉 OK 式逐詞高亮字幕遇到專業(yè)術(shù)語(yǔ)識(shí)別不準(zhǔn)就在initial_prompt里塞一段含這些詞的文本來(lái)引導(dǎo)。踩坑先讀我現(xiàn)象原因解法GPU 上加載報(bào) cuBLAS/cuDNN 相關(guān)錯(cuò)誤最新版 ctranslate2 只支持 CUDA 12 cuDNN 9老環(huán)境降級(jí)CUDA 11 裝ctranslate23.24.0CUDA 12 cuDNN 8 裝ctranslate24.4.0顯存不足 / OOMFP16 大模型顯存占用高換int8_float16或 CPU 的int8或換 small/medium 模型轉(zhuǎn)錄速度上不去CPU 或低配卡單條逐段推理利用率低長(zhǎng)音頻用BatchedInferencePipelinebatch_sizeCPU 上可設(shè)OMP_NUM_THREADS控制線程數(shù)靜默段出現(xiàn)重復(fù)、無(wú)意義的幻覺(jué)文字模型在沒(méi)聲音處硬編內(nèi)容開(kāi)啟vad_filterTrue必要時(shí)調(diào)vad_parameters里的min_silence_duration_ms調(diào)用 transcribe 后像沒(méi)反應(yīng)返回的 segments 是生成器遍歷或list(segments)才會(huì)真正執(zhí)行轉(zhuǎn)錄想對(duì)比速度但結(jié)果不一致各家默認(rèn) beam_size 不同這里默認(rèn)是 5對(duì)比時(shí)固定 beam_size、線程數(shù)、WER 相近的配置再比時(shí)間再往前一步參數(shù)不夠用時(shí)直接看WhisperModel.transcribe的完整簽名hotwords、temperature、condition_on_previous_text等選項(xiàng)都在里面faster_whisper/transcribe.py 是最全的參考。調(diào)靜音過(guò)濾行為可以看 faster_whisper/vad.py想確認(rèn)支持哪些語(yǔ)言代碼faster_whisper/tokenizer.py 里的語(yǔ)言表是最準(zhǔn)的。此外倉(cāng)庫(kù)還自帶 benchmark/ 下的 WER 與速度基準(zhǔn)腳本以及把自有 Whisper 權(quán)重包括微調(diào)過(guò)的轉(zhuǎn)成 CTranslate2 格式的轉(zhuǎn)換入口做領(lǐng)域定制模型時(shí)會(huì)用到。收尾現(xiàn)在就裝好它拿一段手頭最煩的錄音試跑一次比讀十篇評(píng)測(cè)都有數(shù)。源碼入口在 faster_whisper/測(cè)試用例參考 tests/更多細(xì)節(jié)以官方文檔為準(zhǔn)。【免費(fèi)下載鏈接】faster-whisperFaster Whisper transcription with CTranslate2項(xiàng)目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考