ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

一条命令把录音变成文字:Whisper 语音识别 3 步上手与调参避坑

一条命令把录音变成文字:Whisper 语音识别 3 步上手与调参避坑 一条命令把录音变成文字Whisper 语音识别 3 步上手与调参避坑【免费下载链接】whisperRobust Speech Recognition via Large-Scale Weak Supervision项目地址: https://gitcode.com/GitHub_Trending/whisp/whisper上周我有份 40 分钟的会议录音想转成文字存档。折腾了一圈云端 API 之后我改用了开源的 Whisper。它是 OpenAI 发布的语音识别工具包能在本地把音频文件转成文字还能翻译成英文支持 98 种语言。文件不经过任何服务器装好就能跑。这篇分享它的最小用法、模型怎么选以及我踩过的两个坑。三步跑通本地音频转文字先装两个东西。一个是 ffmpeg它负责解码各种音频格式另一个是 whisper 本体sudo apt install ffmpeg # Ubuntu/Debian其他系统用对应包管理器 pip install -U openai-whisper然后用命令行转一段文件一行搞定whisper 会议录音.flac --model turbo想在代码里调同样三行就够import whisper model whisper.load_model(turbo) result model.transcribe(audio.mp3) print(result[text])两个小提醒。首次运行会自动下载模型权重等它下完就好。转写任务比较吃显存有 GPU 体验最好没有的话用 CPU 也能跑只是慢一些。6 种模型规格对照显存与速度怎么选装好之后第一个决策是选哪个模型。不同规格对应不同的参数量和显存开销按你的硬件对号入座规格参数显存需求相对速度tiny39 M~1 GB~10xbase74 M~1 GB~7xsmall244 M~2 GB~4xmedium769 M~5 GB~2xlarge1550 M~10 GB1xturbo809 M~6 GB~8x数据来自项目 README 的实测A100 上英文语音。我的选择逻辑是先跑 tiny 验证流程通不通正式干活换 turbo。turbo 是 large-v3 的推理优化版速度和精度折损都小适合大多数转写场景。另外有个后缀细节。只做英文转写时用tiny.en、base.en这类带.en的版本小模型上效果比通用版更好。30 秒滑窗解码Whisper 语音识别原理一句话讲清Whisper 的内部流程可以一句话概括把音频切成 30 秒的片段转成 Mel 频谱图一种把声音画成图的表示交给一个 Transformer 编码器-解码器模型一种擅长「输入一段、输出一段」的神经网络结构解码器逐 token 吐出文字。上半部分是数据流左边是多任务训练数据中间是编码器把频谱图压缩成特征右边解码器根据特征预测 token。下半部分展示了特殊 token 如何决定任务。TRANSCRIBE表示转写TRANSLATE表示翻译成英文LANGUAGE表示语言识别。也就是说识别、翻译、判断语种这几个任务共用同一个模型靠开头几个特殊 token 切换。这也解释了两件事为什么它支持多语言为什么翻译功能要单独指定参数后面会讲。幻觉与重复输出两个参数的调法我踩过最多的坑模型有时会「编」出没说过的内容或者把一句话重复输出好几遍。这在 模型说明文档 里被明确列为已知局限——弱监督训练加上大规模嘈杂数据静音段最容易触发。对应三个能动的旋钮都在 whisper/transcribe.py 的transcribe()函数签名里no_speech_threshold默认 0.6。某段音频的「无人声概率」超过这个值就跳过不输出。录音里静音偏多就调高一点减少幻觉段落。temperature默认从 0.0 起按 0.2 递增到 1.0。首次解码失败logprob 或压缩比超阈值才升温重试属于兜底机制一般不用动。hallucination_silence_threshold针对「有声音但不是人说话」的情况比如背景音乐。背景音明显的录音把它设小一些能过滤掉瞎编的内容。我的实际处理会议录音里有人翻纸、咳嗽的间隙偶尔出乱码把 no_speech_threshold 提到 0.7 就干净了。下一步可以做什么转写之外加--task translate --language Japanese可以把外语音频直接翻成英文。注意 turbo 不支持翻译任务翻译场景请用 medium 或 large。支持的语言清单在 whisper/tokenizer.py不确定语言名怎么写时去查。命令行全部选项用whisper --help看比翻文档快。手里有现成素材的话拿仓库 tests/jfk.flac 做冒烟测试再换 notebooks/Multilingual_ASR.ipynb 的思路跑多语言样本。推荐接着做的事先用 base 模型跑你自己的 3 分钟录音对比 tiny 和 turbo 在同一文件上的差异半小时就能建立适合自己硬件的选型直觉。【免费下载链接】whisperRobust Speech Recognition via Large-Scale Weak Supervision项目地址: https://gitcode.com/GitHub_Trending/whisp/whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表