尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

3 步跑通 Whisper:浏览器语音转文字应用搭建实战

3 步跑通 Whisper:浏览器语音转文字应用搭建实战 3 步跑通 Whisper浏览器语音转文字应用搭建实战【免费下载链接】whisperRobust Speech Recognition via Large-Scale Weak Supervision项目地址: https://gitcode.com/GitHub_Trending/whisp/whisper很多网页应用需要接入 Whisper 语音识别把用户在页面上说的话直接转成文字并且不用自己训练模型Whisper 原生支持中、英、日在内的 98 种语言最小的模型也能跑得很快。下面从一条命令开始把浏览器录音、Whisper 转写这套应用串起来。先跑通安装 Whisper 并跑第一次转录在讲原理之前先让效果出现。克隆仓库、装依赖、丢一个音频文件进去四条命令git clone https://gitcode.com/GitHub_Trending/whisp/whisper cd whisper pip install -r requirements.txt whisper 示例音频.mp3 --model tiny跑完会在同目录生成四类文件txt纯文本、srt 和 vtt两种字幕格式、json带时间戳的完整结果。如果终端提示找不到 ffmpeg先用系统包管理器装一下它再重跑上面的命令。再理解Whisper 如何把声音变成文字Whisper 是一个 Transformer 家族的序列到序列模型输入一段序列、输出另一段序列。运行时它先把整段音频切成 30 秒一块每一块转成梅尔频谱图——可以理解为把声音拍成计算机看得懂的频谱照片——编码器把它压缩成声学表示解码器再逐词预测出文字。巧妙之处在于同一套模型只要切换输出前的几个特殊标记就能在转写、翻译、语种识别几个任务之间切换一个模型顶替了传统语音处理流水线里的多个环节。图中是 Whisper 的序列到序列结构左侧编码器把频谱图压缩成声学表示右侧解码器靠任务标记驱动转写、翻译、语种识别等不同任务。按场景用三种接法各解决什么问题场景一命令行转录现成的音频文件适合手头已有一批会议录音、采访文件的情况。你可以直接用一条命令处理whisper meeting.mp3 --model turbo首次运行时模型会自动下载不用手动搬权重。预期效果跑完后同目录多出全文 txt 和带时间戳的字幕文件想看全部参数就敲whisper --help。场景二Python 里指定语言转录中文音频想把识别能力嵌进自己的脚本或后端服务时直接调 Python APIimport whisper model whisper.load_model(small) result model.transcribe(采访录音.mp3, languagezh) print(result[text])预期效果指定language后模型不再猜测口语音种中文转写的稳定性会明显提升如果再传一个tasktranslate则直接输出这段音频的英文译文。场景三浏览器录音切段后端 Whisper 实时语音转录Whisper 官方仓库是 Python 项目所以常见的 whisper web 集成模式是前端负责录音和上传后端调用这个库做识别。页面上用getUserMedia拿麦克风流MediaRecorder每 10 秒切一段发给后端接口后端调用已加载好的模型并回传文字const stream await navigator.mediaDevices.getUserMedia({ audio: true }); const recorder new MediaRecorder(stream); recorder.ondataavailable async (e) { const res await fetch(/transcribe, { method: POST, body: e.data }); document.getElementById(out).textContent (await res.json()).text; }; recorder.start(10000); // 每 10 秒上传一段预期效果边说边在页面上追加文字接近实时转录。注意模型要在后端启动时加载一次并复用别按请求反复加载否则延迟会很难看。做选择四个模型档位对照档位参数量显存需求相对速度适合谁tiny39 M约 1 GB约 10 倍验证流程、低配机器small244 M约 2 GB约 4 倍一般生产环境medium769 M约 5 GB约 2 倍多语言高精度需求turbo809 M约 6 GB约 8 倍追求速度的生产环境不支持翻译速度是相对最大的 large 模型而言。推荐策略先用 tiny 验证整条流程通不通英文生产环境换 turbo多语言且要精度时上 medium纯英文场景可以再加.en后缀的版本通常更准。少踩坑四个高频问题现象安装成功一跑转录就提示找不到 ffmpeg。原因Whisper 依赖系统级的 ffmpeg 命令行工具来解码音频文件。怎么办先sudo apt install ffmpeg或brew install ffmpeg再重跑命令。现象非英文音频被转写成串语准确率偏低。原因默认让模型自动探测语种短音频、带噪声时容易判错。怎么办显式指定语言命令行加--language JapanesePython 里传language参数。现象长音频转写要等很久。原因音频按 30 秒滑动窗口串行处理模型越大每个窗口越慢。怎么办先用 tiny、base 这类小模型把流程跑顺或把文件预先切段并行处理。现象网页端要等录完才出文字实时感差。原因前端等整段录音结束后才开始处理。怎么办按 10 秒一段流式上传每段返回的文字立刻追加到页面上。到这里浏览器录音、Whisper 转写、按场景选模型这条链路就完整了。下一步可以往两个方向走一是用 translate 任务给应用加上语音转英文的能力二是把模型文件缓存在服务器端减少首次请求的冷启动时间。【免费下载链接】whisperRobust Speech Recognition via Large-Scale Weak Supervision项目地址: https://gitcode.com/GitHub_Trending/whisp/whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表