边缘设备语音识别命令行工具:本地语音转文字 5 分钟跑通
【免费下载链接】moonshineVery low latency speech to text, intent recognition, and text to speech, for building voice agents and interfaces项目地址: https://gitcode.com/GitHub_Trending/moonshine3/moonshine
音频不出设备,文字实时落地。Moonshine 命令行工具是一套跑在边缘设备上的离线 ASR 工具,一条命令就能把 WAV 音频转录成文字,全程不碰网络。
会议录音,在树莓派上变成文字
想象一下:客户现场断网,你把一段会议录音拷进树莓派,想在本地直接出文字稿。云端 ASR 用不了,装个模型又嫌麻烦。Moonshine 的 C++ 通用示例就是为这种场景准备的:读入 WAV,逐句打印识别结果,不需要麦克风、不需要联网。整个过程只依赖本地算力和一个 WAV 文件。
Moonshine 语音识别命令行工具:音频到文字的边缘识别架构
三步跑通本地语音转文字
git clone https://gitcode.com/GitHub_Trending/moonshine3/moonshine cd moonshine/examples/c++ ./download-library.sh # 拉取预编译库、流式模型和示例音频 ./transcriber # 默认转写 two_cities.wav你会看到屏幕先打出 "Line started",随后句子边识别边更新,直到打出 "Line completed" 的完整句。每次更新相隔约 0.481 秒,这正是-t参数的默认值。模型和示例音频都由脚本放进默认位置,不用手工指定路径。
两套工具怎么选
| 工具 | 输入 | 适合谁 |
|---|---|---|
| C++ 通用示例 | WAV 文件 | Linux / macOS / Windows 下转写现成录音 |
| Windows 专用工具 | 麦克风 或 WAV | Windows 桌面实时听写 |
在 Visual Studio 里编译 cli-transcriber 工程后直接运行:不带参数就监听麦克风,Ctrl+C 停止;加-w则转写 WAV 文件后退出。转写现成录音选 C++ 通用示例,要边说边出字选 Windows 工具。如果你的设备不是 Windows,直接跳过专用工具。
影响体验的三个参数
- 识别结果总差那么半拍?调
-t(转录间隔,秒):调小让文字更新更勤,设备吃紧时调大省 CPU。 - 想换语言或控制精度?用
-m指定模型目录,默认指向 medium-streaming-en。 - 树莓派上跑得慢?加
-a 2切到 Tiny Streaming 架构,体积和耗时都小一档。
⚡ 踩坑快查
- 现象:模型加载失败。原因:模型目录没拉全。修复:
./download-library.sh补齐后重跑。 - 现象:报错
Only 16-bit PCM WAV files are supported。原因:把 mp3 或 32 位采样的文件直接喂了进来。修复:ffmpeg -i in.mp3 -ar 16000 -ac 1 -sample_fmt s16 out.wav
下一步:换成你自己的录音
音频留在本地,才是边缘语音识别的意义。把 two_cities.wav 换成你的录音,再跑一遍。
【免费下载链接】moonshineVery low latency speech to text, intent recognition, and text to speech, for building voice agents and interfaces项目地址: https://gitcode.com/GitHub_Trending/moonshine3/moonshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考