Moonshine语音识别命令行速成:4步跑通本地转录
2026/9/15 16:24:20 网站建设 项目流程

Moonshine语音识别命令行速成:4步跑通本地转录

【免费下载链接】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)库:音频直接在本机转成文字,不经过云端,内容不出你的设备。本教程用官方命令行示例带你完成第一次本地转录,并附上参数速查与常见故障处理。

Moonshine本地语音识别能做什么

Moonshine 的命令行示例把音频转成文字,全程在本机完成,分两个入口:跨平台的 C++ 转录示例(转 WAV 文件)和 Windows 麦克风实时转录工具。跟着做完,你会拿到:

  • 一个能直接运行的transcriber可执行文件,以及配套的模型和测试音频
  • 一份可换模型、可调转录刷新频率的参数速查表
  • 编译、模型加载、音频格式三类问题的报错对照清单

第一次转录前的准备清单

项目位置说明
项目源码仓库克隆目录运行git clone https://gitcode.com/GitHub_Trending/moonshine3/moonshine,进入moonshine目录
预编译库examples/c++/download-library.sh自动识别平台,解压到examples/c++/moonshine-voice/
语音识别模型脚本下载至examples/c++/medium-streaming-en/同一脚本拉取,默认 Medium 流式英文模型
测试音频test-assets/two_cities.wav脚本会顺带拉进示例目录;也可用 test-assets/ 里任意 16-bit PCM WAV
编译器g++(Linux/macOS)或 Visual Studio(Windows)C++ 示例只依赖 g++;Windows 麦克风工具需要 VS 工程

如何跑通第一次本地转录

1️⃣ 在示例目录运行下载脚本,一次性备齐预编译库、模型和测试音频:

cd examples/c++ ./download-library.sh

2️⃣ 编译转录示例(Linux 命令;macOS 需在末尾补-framework CoreFoundation -framework Foundation):

g++ transcriber.cpp -Imoonshine-voice/include -Lmoonshine-voice/lib \ -lmoonshine -Wl,-rpath,'$ORIGIN/moonshine-voice/lib' -o transcriber

3️⃣ 不带参数直接运行,默认加载 Medium 流式模型并转录two_cities.wav

./transcriber

终端会滚出Line started: ...Line completed: ...等行,逐句显示《双城记》的开头内容。

Transcriber 命令行参数速查表

参数作用示例值
-m, --model-path模型目录路径medium-streaming-en
-a, --model-arch模型架构:0=Tiny,1=Base,2=Tiny流式,3=Base流式,4=Small流式,5=Medium流式5
-w, --wav-path要转录的 WAV 文件;Windows 工具省略该参数即进入麦克风模式two_cities.wav
-t, --transcription-interval两次转录刷新的间隔秒数(C++ 示例专有)0.481
-h, --help显示帮助(Windows 工具)

-a的取值必须与你-m指定的模型一致,传错会直接加载失败。

两个进阶场景:麦克风实时转录与换用测试音频

场景 1:Windows 麦克风实时转录

用 Visual Studio 编译 examples/windows/cli-transcriber/cli-transcriber.vcxproj,然后直接运行:

cli-transcriber.exe

不传-w就自动进入麦克风模式:终端先打印Listening to microphone...,之后当前行文字随说话实时改写,Ctrl+C 退出。

场景 2:换用仓库里另一段测试音频

examples/c++目录执行:

./transcriber -w ../../test-assets/two_cities_16k.wav

预期输出:终端同样逐句出现《双城记》开头文字;该文件是 16kHz 版本音频,可与默认音频对比识别节奏的差异。

运行报错后的常见问题与解决

  1. 现象:运行时报cannot open shared object file: libmoonshine.so原因:运行时找不到动态库。解决:编译命令保留-Wl,-rpath,'$ORIGIN/moonshine-voice/lib',或运行前先export LD_LIBRARY_PATH=$(pwd)/moonshine-voice/lib
  2. 现象Only 16-bit PCM WAV files are supported原因:音频是浮点或 24-bit 格式。解决:先转换:ffmpeg -i in.wav -ar 16000 -ac 1 -sample_fmt s16 out.wav
  3. 现象:模型加载失败,提示模型目录缺文件。原因:流式模型是一组文件(多个.orttokenizer.binstreaming_config.json),下载不完整。解决:重跑./download-library.sh,检查-a与模型目录是否匹配。
  4. 现象:Windows 麦克风模式没有任何输出。原因:默认录制设备未选中或麦克风被占用。解决:在 Windows 声音设置里确认默认录制设备,并关掉其他占用麦克风的程序。

下一步

  • 想换语言或对比精度:docs/models/available-models.md 列出了全部模型与准确率
  • 想试文本转语音:同方式编译 examples/c++/text-to-speech.cpp,用--asset-root指向core/moonshine-tts/data
  • 需要词级时间戳:见 docs/word-level-timestamps.md

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询