基于OpenAI Whisper的音视频转写工具大文件处理提速方案咨询
优化OpenAI Whisper转写速度的可行方案
1. 启用硬件加速(核心优化手段)
Whisper可借助GPU大幅提升推理速度,手动指定设备确保加速生效:
import whisper # NVIDIA GPU用户指定cuda model = whisper.load_model("base", device="cuda") # 苹果M系列芯片用户指定mps # model = whisper.load_model("base", device="mps") result = model.transcribe(filepath) print(result['text'])
启用GPU后,3分钟音频的转写耗时通常可压缩至30秒内。
2. 选用更小模型或量化模型
在精度可接受的前提下,换用轻量模型或量化模型能显著提升速度:
# 最快的tiny模型(精度略低) model = whisper.load_model("tiny", device="cuda") # 平衡速度与精度的INT8量化base模型 model = whisper.load_model("base", device="cuda", compute_type="int8")
3. 提前优化音频格式
将音频预处理为Whisper默认的16kHz单声道格式,避免模型重复处理:
import librosa import soundfile as sf # 转换为16kHz单声道音频 audio, sr = librosa.load(filepath, sr=16000, mono=True) sf.write("processed_audio.wav", audio, 16000) # 使用预处理后的音频转写 result = model.transcribe("processed_audio.wav")
批量处理可使用ffmpeg命令行:
ffmpeg -i input.mp4 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
4. 调整转写参数降低计算量
通过调整transcribe参数减少不必要的计算开销:
result = model.transcribe( filepath, batch_size=16, # 增大批次 size,利用GPU并行能力 beam_size=1, # 减小beam size,降低解码计算量(对精度影响极小) verbose=False # 关闭日志输出,减少IO耗时 )
5. 使用第三方优化版Whisper实现
faster-whisper通过优化推理后端,速度比官方版本快2-4倍,且API兼容:
from faster_whisper import WhisperModel # 加载base模型,启用INT8量化与GPU加速 model = WhisperModel("base", device="cuda", compute_type="int8_float16") segments, info = model.transcribe(filepath, beam_size=5) # 拼接转写结果 text = "".join([segment.text for segment in segments]) print(text)
内容的提问来源于stack exchange,提问作者Ashmit Singh
相关产品推荐
相关产品推荐

