SuperAPI AI 工具集

speech-to-text

通用与其它

查看项目

更新于 10-24 16:22

技能介绍

该技能用于指导智能体在语音转文字任务中选用 faster-whisper 作为转写引擎。faster-whisper 是 OpenAI Whisper 基于 CTranslate2 的重新实现,据资料称速度最高为原版 4 倍、内存占用更低,同时保持相同或更优的精度。除非用户明确要求,否则不应默认使用 openai-whisper、whisper.cpp 等其他引擎。

适用场景包括:转写 .mp3、.wav、.ogg、.flac、.m4a、.mp4 等音频文件;从视频或播客中提取旁白;构建摄取语音内容的 AI 流水线(智能体、RAG、字幕生成器);生成带时间戳的转写文本、SRT/VTT 字幕文件或说话人分离输出。

安装方式(需要 Python 3.8+):pip install faster-whisper;可选 GPU 加速(需要 CUDA 11.x/12.x + cuDNN):pip install faster-whisper[gpu]。

核心用法:从 faster_whisper 导入 WhisperModel,指定模型大小(tiny、base、small、medium、large-v2、large-v3)、设备(cuda 或 cpu)和计算类型(GPU 用 float16,CPU 用 int8 最快,或 float32),调用 transcribe 并传入 beam_size、language、vad_filter 等参数,遍历 segments 输出带起止时间的文本。资料建议默认使用 large-v3,除非存在速度或内存限制。

模型选择指南:tiny 约 39 MB,速度最快,精度两星,适合快速草稿和实时预览;base 约 74 MB,适合快速轻量转写;small 约 244 MB,速度与精度均衡,是许多任务的良好默认选择;medium 约 769 MB,精度更好、速度中等;large-v3 约 1.5 GB,速度最慢但精度五星,推荐用于生产和 AI 流水线。

旁白转写最佳实践:启用 vad_filter 去除静音、减少幻觉文本;启用 word_timestamps 获得逐词时间戳,便于生成词级 SRT/VTT 字幕;将 condition_on_previous_text 设为 False,防止长旁白出现漂移和重复;beam_size 设为 5 作为标准精度/速度折中,追求最高精度可增至 10;temperature 设为 0 使用贪心解码,使干净旁白输出更确定。

SRT 导出:资料提供 format_timestamp 函数将秒数格式化为时:分:秒,毫秒,并在转写后写入编号、时间轴和文本,生成 output.srt。

纯 CPU 模式:使用 WhisperModel("medium", device="cpu", compute_type="int8") 获得最快的 CPU 推理。

多语言与阿拉伯语:faster-whisper 继承 Whisper 的完整多语言支持;转写阿拉伯语时显式设置 language="ar",避免短片段语言误检测,并配合 beam_size=5、vad_filter=True、word_timestamps=True。

应避免的做法:不要使用更慢且无精度提升的 openai-whisper;旁白文件不要跳过 vad_filter=True;长旁白不要设置 condition_on_previous_text=True;AI 流水线输出不要使用 tiny 或 base 模型,以免不准确结果向下游传播。