ARTICLE DETAIL

资讯详情

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

Moonshine命令行快速上手:10分钟跑通本地音频转录与实时语音识别

Moonshine命令行快速上手:10分钟跑通本地音频转录与实时语音识别 Moonshine命令行快速上手10分钟跑通本地音频转录与实时语音识别【免费下载链接】moonshineVery low latency speech to text, intent recognition, and text to speech, for building voice agents and interfaces项目地址: https://gitcode.com/GitHub_Trending/moonshine3/moonshineMoonshine 是一个在本地设备上完成语音转文字的开源项目识别过程不需要联网。本文围绕 Moonshine 命令行工具展开带你完成两件事一条命令把 WAV 录音转成文字再在 Windows 上让麦克风实时出字幕。3分钟搭好环境下载库文件并编译出转录工具先把仓库拉到本地git clone https://gitcode.com/GitHub_Trending/moonshine3/moonshine cd moonshine然后进入 examples/c/ 目录运行里面的download-library.sh。这个脚本会自动识别你的系统和架构下载对应的 Moonshine 预编译库同时把medium-streaming-en英文流式模型和示例音频two_cities.wav放到手边开箱即用。编译命令如下。Linux 和 macOS 略有差别# Linux g transcriber.cpp -Imoonshine-voice/include -Lmoonshine-voice/lib \ -lmoonshine -Wl,-rpath,$ORIGIN/moonshine-voice/lib -o transcriber# macOS g transcriber.cpp -Imoonshine-voice/include -Lmoonshine-voice/lib \ -lmoonshine -o transcriber \ -framework CoreFoundation -framework Foundation编译产物就是transcriber这个可执行文件对应源码是 transcriber.cpp。一条命令转录WAV文件transcriber默认参数就能跑在examples/c/目录下直接运行./transcriber它会用默认的medium-streaming-en模型读取two_cities.wav逐段打印转录结果。想换音频文件加-w就行./transcriber -w test-assets/beckett.wav常用参数一览参数作用默认值-m, --model-path模型目录路径medium-streaming-en-a, --model-arch模型架构编号5MEDIUM_STREAMING-w, --wav-path要转录的 WAV 文件two_cities.wav-t, --transcription-interval两次转录之间的间隔秒0.481-a的编号对应关系0TINY、1BASE、2TINY_STREAMING、3BASE_STREAMING、4SMALL_STREAMING、5MEDIUM_STREAMING。换模型时它必须和-m指向的模型匹配这是后面排错时最常踩的坑。调整参数的示例./transcriber -m test-assets/medium-streaming-en -w test-assets/two_cities.wav -t 0.5把-t调大可以让识别频率变低、占用更少算力适合资源紧张的设备。两条命令开启Windows实时识别麦克风模式不用改代码麦克风实时转录用的是 Windows 专用工具 cli-transcriber.cpp源码和工程文件在 examples/windows/cli-transcriber/ 目录。用 Visual Studio 2022 打开cli-transcriber.sln选 Release x64按 F7 编译或者命令行执行msbuild cli-transcriber.sln /p:ConfigurationRelease /p:Platformx64两条命令分别对应两个模式:: 转录指定 WAV 文件后退出 x64\Release\cli-transcriber.exe --wav-path beckett.wav:: 不带参数 麦克风实时模式CtrlC 停止 x64\Release\cli-transcriber.exe实时模式下程序通过 WASAPI 采集默认麦克风的音频自动重采样到 16kHz 单声道识别结果会实时刷新在终端里。它的参数和 C 通用版基本一致-m指定模型目录、-a指定架构编号、-w指定 WAV 文件、-h查看帮助。麦克风权限没开时先检查一下 Windows 的声音设置。模型文件在哪test-assets目录和模型目录里装了什么示例音频都在 test-assets/ 目录two_cities.wav、beckett.wav、intent.wav等。注意这些工具只认16 位 PCM 格式的 WAVMP3、FLAC 或 24 位音频要先转换用 ffmpeg 一条命令即可ffmpeg -i input.mp3 -ac 1 -ar 16000 -sample_fmt s16 output.wav模型是一个目录而非单个文件medium-streaming-en里面应包含encoder.ort、decoder_kv.ort、frontend.model.ort、adapter.ort、tokenizer.bin等若干权重与配置文件。download-library.sh拉取的就是完整的一套。需要其他语言或更大规格时可以装 Python 包来下载模型pip install moonshine-voice moonshine-voice download --stt --language en下载后把模型目录路径传给-m即可。跑不起来时按这4步排查路径、格式、架构、权限按出现频率从高到低检查模型路径指向目录。-m后面必须是一个包含.ort权重和tokenizer.bin的文件夹不是某个文件本身。缺文件时重新下载最省事。音频格式不对。工具会直接拒绝非 16 位 PCM 的 WAV报错里通常会写Only 16-bit PCM WAV files are supported。-a与模型不匹配。用 MEDIUM_STREAMING 模型却传了-a 0TINY加载会失败。拿不准就先不传-a用默认值 5 配合medium-streaming-en。麦克风无输出仅 Windows。确认系统默认录音设备存在、麦克风权限已开启并且程序用的是 Release 版——Debug 版可能链接不上预编译库。另外一个小提示在低配设备上跑实时识别优先换更小的流式模型TINY_STREAMING编号 2再配合调大-t间隔识别延迟和 CPU 占用都会明显下降。【免费下载链接】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),仅供参考
返回列表