SuperAPI AI 工具集

whisper

通用与其它

查看项目

更新于 10-15 13:10

技能介绍

Whisper 是 OpenAI 的多语言语音识别模型,用于将音频转换为文本。

一、用途 当需要以下场景时可以使用 Whisper:语音转文字转录(支持 99 种语言)、播客或视频转录、会议记录自动化、翻译成英文、嘈杂音频转录、多语言音频处理。项目在 GitHub 上获得 72,900+ 星标,支持 99 种语言,在 680,000 小时音频上训练,采用 MIT 许可证。

二、主要能力

  1. 多语言语音识别与转录,支持语言识别。
  2. 翻译任务:可将非英语音频直接翻译为英文文本(task="translate")。
  3. 六种模型规格:tiny(39M 参数,约 32 倍速,约 1 GB 显存)、base(74M,约 16 倍速,约 1 GB)、small(244M,约 6 倍速,约 2 GB)、medium(769M,约 2 倍速,约 5 GB)、large(1550M,1 倍速,约 10 GB,仅多语言)、turbo(809M,约 8 倍速,约 6 GB,仅多语言)。官方建议使用 turbo 获得最佳速度/质量平衡,base 用于原型验证。
  4. 转录选项:自动检测语言或指定语言(指定更快);选择转写或翻译任务;通过 initial_prompt 提供上下文以提升技术术语、专有名词和领域词汇的准确率;支持词级时间戳(word_timestamps=True);支持温度回退(temperature 元组)在低置信度时重试。
  5. 输出格式:命令行支持 txt、srt、vtt、json。

三、使用方式 安装:需要 Python 3.8-3.11,执行 pip install -U openai-whisper;同时需要 ffmpeg(macOS:brew install ffmpeg;Ubuntu:sudo apt install ffmpeg;Windows:choco install ffmpeg)。 Python 基本用法:import whisper;model = whisper.load_model("base");result = model.transcribe("audio.mp3");print(result["text"]);可遍历 result["segments"] 获取每段起止时间与文本。 模型加载:whisper.load_model("turbo") 等。 命令行:whisper audio.mp3;指定模型 --model turbo;输出格式 --output_format txt/srt/vtt/json;语言 --language Spanish;翻译 --task translate。 批处理:遍历音频文件列表逐个 transcribe 并写入文本文件。 GPU 加速:load_model 会自动使用 GPU(若可用),也可强制 device="cpu" 或 device="cuda",GPU 上快 10-20 倍。 实时转录:官方建议改用 faster-whisper(pip install faster-whisper),示例中使用 WhisperModel("base", device="cuda", compute_type="float16") 并遍历 segments 输出。 与其他工具集成:可生成 SRT 字幕(whisper video.mp4 --output_format srt);可与 LangChain 的 WhisperTranscriptionLoader 配合将转录结果用于 RAG;可用 ffmpeg 先从视频提取音频(ffmpeg -i video.mp4 -vn -acodec pcm_s16le audio.wav)再转录。

四、适用场景与最佳实践 最佳实践包括:优先使用 turbo 模型;指定语言而非自动检测;添加 initial prompt 以改善技术术语;使用 GPU;批处理;转换为 WAV 提高兼容性;长音频切分为小于 30 分钟的片段;检查语言支持情况(不同语言质量有差异);可改用 faster-whisper(比 openai-whisper 快 4 倍);根据硬件显存选择模型规格。 性能参考(实时因子):tiny 在 CPU 约 0.32、GPU 约 0.01;base 约 0.16 / 0.01;turbo 约 0.08 / 0.01;large 约 1.0 / 0.05(0.1 表示比实时快 10 倍)。 语言支持方面,支持度较高的语言包括英语、西班牙语、法语、德语、意大利语、葡萄牙语、俄语、日语、韩语、中文等,完整列表共 99 种语言。

五、替代方案 如需托管 API 与说话人分离可考虑 AssemblyAI;实时流式 ASR 可考虑 Deepgram;云端方案可考虑 Google Speech-to-Text。

六、限制 可能出现幻觉(重复或编造文本);长音频(超过 30 分钟)准确率下降;不支持说话人分离;口音会影响质量;背景噪声会影响准确率;实时延迟较高,不适合实时字幕。

七、资源 GitHub:https://github.com/openai/whisper(72,900+ 星标);论文:https://arxiv.org/abs/2212.04356;模型卡:https://github.com/openai/whisper/blob/main/model-card.md;仓库中提供 Colab;许可证:MIT。