__ |\/| _. ._ (_ ._ _ _ _ |_ | | (_| | | \/ __) |_) (/_ (/_ (_ | | / |
manyspeech-cli 是一款免安装本地命令行语音识别工具,支持本地音频文件识别、麦克风实时流式识别等能力。提供交互模式与命令行模式两种使用方式,模型自动下载、离线推理、字幕生成全流程均可通过命令行一键完成。
下载地址:https://modelscope.cn/models/manyeyes/manyspeech-cli
✨ 功能更新日志
- 【2026-05-12】 新增配置文件管理,支持参数持久化、配置查看与重置
- 【2026-05-11】 重构命令行解析,支持参数智能补全、自动帮助生成
- 【2026-05-08】 新增更多模型支持,简化交互流程,优化终端输出格式
- 【2025-09-22】 支持
fsmn-vad / silero-vad 双VAD模型自由切换
- 【2025-09-09】 新增
2pass 识别模式,优化时间戳精度
- 【2025-09-05】 支持输出 SRT字幕、JSON、纯文本 等多格式结果
- 【2025-08-29】 首发
manyspeech-cli,支持多类ASR模型本地离线推理
🚀 快速运行说明
两种使用模式
| 模式 |
启动方式 |
适用场景 |
| 交互模式 |
直接双击 exe 或运行 manyspeech |
手动测试、探索功能 |
| 命令行模式 |
manyspeech [参数] |
脚本调用、自动化、管道 |
性能优化提示
- 将
--threads 2 改为 --threads 8 可手动设置推理线程
- 设为
--threads 0 即可自动检测CPU核心数,智能适配最优并发
💻 快速上手示例
示例1:第一次使用(交互模式)
# 1. 双击运行程序
manyspeech-cli.exe# 2. 选择语言(输入 1 或 2)
请选择语言: 1. 中文; 2. English;
1# 3. 输入识别命令
> -t offline -f D:\test.wav# 程序自动下载模型并开始识别,输出识别结果
# 首次运行会自动生成配置文件 manyspeech.json
示例2:命令行一键识别
# 打开 cmd 或 PowerShell,进入程序目录
cd D:\Tools\ManySpeech# 识别单个文件
manyspeech -t offline -f test.wav# 识别多个文件
manyspeech -t offline -f audio1.wav audio2.wav audio3.wav
示例3:麦克风实时识别(按 ESC 退出)
# 流式模型 + 麦克风(延迟最低)
manyspeech -t online -i mic# 离线模型 + 麦克风(精度更高)
manyspeech -t offline -m chunk -i mic# 2pass 模式 + 麦克风(兼顾实时与精度)
manyspeech -t 2pass -i mic
📁 配置文件管理
配置文件位置
首次运行程序时,会在程序目录自动生成 manyspeech.json 配置文件:
| 类型 |
Windows 路径 |
优先级 |
说明 |
| 本地配置 |
程序目录 manyspeech.json |
最高 |
便携版配置,随程序移动 |
| 用户配置 |
%USERPROFILE%\.manyspeech\manyspeech.json |
中 |
用户个性化设置 |
| 系统配置 |
%PROGRAMDATA%\ManySpeech\manyspeech.json |
低 |
系统级默认配置 |
配置文件示例
{"version": "1.0.0","defaults": {"method": "chunk","input": "file","format": "text","threads": 2,"accuracy": "int8","model": "","model2": "","vad": "alifsmnvad-onnx","punc": "alicttransformerpunc-zh-en-mge-int8-onnx","base": "","output": ""}
}
配置字段说明
| 字段 |
说明 |
对应命令行参数 |
默认值 |
method |
处理方式 |
-m, --method |
chunk |
input |
输入源 |
-i, --input |
file |
format |
输出格式 |
--format |
text |
threads |
线程数(0=自动检测) |
--threads |
2 |
accuracy |
模型精度 |
--accuracy |
int8 |
model |
主模型名称 |
-md, --model |
""(自动匹配) |
model2 |
2pass副模型 |
--model2 |
""(自动匹配) |
vad |
VAD模型名称 |
--vad |
alifsmnvad-onnx |
punc |
标点模型名称 |
--punc |
alicttransformerpunc-zh-en-mge-int8-onnx |
base |
模型根目录 |
-b, --base |
""(程序目录) |
output |
工作目录 |
-o, --output |
""(当前目录) |
配置管理命令
| 命令 |
说明 |
示例 |
--show-config |
显示当前配置信息 |
manyspeech --show-config |
--save-default |
保存当前参数为默认配置 |
manyspeech -t offline -m chunk --save-default |
--reset-config |
重置配置为默认值 |
manyspeech --reset-config |
配置优先级(从高到低)
命令行参数(临时覆盖,最高优先级)↓--save-default 保存的参数↓本地配置文件(程序目录/manyspeech.json)↓用户配置文件(%USERPROFILE%\.manyspeech\manyspeech.json)↓系统配置文件(%PROGRAMDATA%\ManySpeech\manyspeech.json)↓环境变量(MANYSPEECH_*)↓程序内置默认值(最低优先级)
配置使用示例
# 查看当前配置
manyspeech --show-config# 输出示例:
========== 当前配置 ==========
配置文件: D:\Tools\manyspeech.json
总运行次数: 15
上次运行: 2026-01-15 10:35:00默认配置:method: chunkinput: fileformat: srtthreads: 4accuracy: int8base: D:\MyModelsoutput: D:\Output
...# 保存当前参数为默认配置
manyspeech -t offline -m chunk --format srt --threads 4 --save-default
✅ 当前参数已保存为默认配置# 之后直接运行,自动使用保存的默认值
manyspeech -f test.wav# 重置配置
manyspeech --reset-config
✅ 配置已重置为默认值
-b, --base 模型目录配置
模型目录可以通过以下方式指定:
| 优先级 |
配置方式 |
示例 |
| 1 |
命令行 -b 参数 |
manyspeech -t offline -b D:\MyModels -f test.wav |
| 2 |
配置文件中的 base 字段 |
编辑 manyspeech.json 中的 "base": "D:\\MyModels" |
| 3 |
环境变量 MANYSPEECH_BASE |
set MANYSPEECH_BASE=D:\MyModels |
| 4 |
程序默认目录 |
程序所在目录 |
# 方式1:命令行指定(临时)
manyspeech -t offline -b D:\TempModels -f test.wav# 方式2:配置文件指定(永久)
# 编辑 manyspeech.json
{"defaults": {"base": "D:\\MyModels"}
}
manyspeech -t offline -f test.wav # 自动使用 D:\MyModels# 方式3:环境变量指定
set MANYSPEECH_BASE=D:\MyModels
manyspeech -t offline -f test.wav
-o, --output 工作目录配置
工作目录(存放识别结果、日志、临时文件等)可以通过以下方式指定:
| 优先级 |
配置方式 |
示例 |
| 1 |
命令行 -o 参数 |
manyspeech -t offline -o D:\MyOutput -f test.wav |
| 2 |
配置文件中的 output 字段 |
编辑 manyspeech.json 中的 "output": "D:\\MyOutput" |
| 3 |
环境变量 MANYSPEECH_OUTPUT |
set MANYSPEECH_OUTPUT=D:\MyOutput |
| 4 |
程序默认目录 |
当前目录 |
# 方式1:命令行指定(临时)
manyspeech -t offline -o D:\TempOutput -f test.wav# 方式2:配置文件指定(永久)
# 编辑 manyspeech.json
{"defaults": {"output": "D:\\MyOutput"}
}
manyspeech -t offline -f test.wav # 自动输出到 D:\MyOutput# 方式3:环境变量指定
set MANYSPEECH_OUTPUT=D:\MyOutput
manyspeech -t offline -f test.wav
💡 典型使用示例
1. 长音频离线流式识别 · 生成字幕
# FireRedASR 大模型(中文最佳,高精度)
manyspeech -t offline -m chunk --format srt --threads 4 -f "D:\audio\0.wav" --model fireredasr2-aed-large-zh-en-int8-onnx-selfcrosskv-offline-20260212# FunASR 轻量模型(速度快,资源占用低)
manyspeech -t offline -m chunk --format srt --threads 2 -f "D:\audio\0.wav" --model Fun-ASR-Nano-2512-LLM-int8-onnx# Paraformer 大模型(通用场景,平衡精度与速度)
manyspeech -t offline -m chunk --format srt --threads 4 -f "D:\audio\0.wav" --model paraformer-large-wenetspeech-chuan-int8-onnx-offline# Whisper large(多语言支持)
manyspeech -t offline -m chunk --format srt --threads 8 -f "D:\audio\0.wav" --model whisper-large-v3-turbo-int8-onnx-kv# K2Transducer 轻量模型(实时性强,适合长音频)
manyspeech -t offline -m chunk --format srt --threads 2 -f "D:\audio\0.wav" --model k2transducer-zipformer-ctc-small-zh-int8-onnx-offline-20250716
2. 麦克风离线流式识别 · 生成字幕
# FireRedASR 大模型(高精度,适合会议记录)
manyspeech -t offline -m chunk --format srt --threads 4 -i mic --model fireredasr2-aed-large-zh-en-int8-onnx-selfcrosskv-offline-20260212# FunASR 大模型(高精度,适合会议记录)
manyspeech -t offline -m chunk --format srt --threads 2 -i mic --model Fun-ASR-Nano-2512-LLM-int8-onnx# Paraformer 轻量模型(低延迟,适合实时转录)
manyspeech -t offline -m chunk --format srt --threads 4 -i mic --model paraformer-large-zh-en-timestamp-int8-onnx-offline# SenseVoiceSmall 小模型(低延迟,适合实时转录)
manyspeech -t offline -m chunk --format srt --threads 2 -i mic --model sensevoice-small-int8-onnx
3. 麦克风实时流式识别 · 实时生成字幕
# Paraformer 流式模型(通用流式识别,稳定性好)
manyspeech -t online --format srt -i mic --model paraformer-large-zh-en-int8-onnx-online# K2Transducer 大模型(中文流式,精度高)
manyspeech -t online --format srt -i mic --model k2transducer-zipformer-ctc-large-zh-onnx-online-yuekai-20250630# K2Transducer 超大模型(中文流式,极致精度,推荐高性能设备)
manyspeech -t online --format srt -i mic --model k2transducer-zipformer-ctc-xlarge-zh-onnx-online-yuekai-20250630# K2Transducer 英文模型(英文通用)
manyspeech -t online --format srt -i mic --model k2transducer-zipformer-en-int8-onnx-online-zengwei-20230517# Wenet 流式模型(中文通用)
manyspeech -t online --format srt -i mic --model wenet-u2pp-conformer-wenetspeech-int8-onnx-online-20220506# Wenet 英文模型(英文通用)
manyspeech -t online --format srt -i mic --model wenet-u2pp-conformer-gigaspeech-onnx-online-20210728# Whisper tiny 轻量模型(多语言)
manyspeech -t offline --format srt -i mic --model whisper-tiny-int8-onnx-kv
4. 2pass 双流融合识别 · 实时精修
# Paraformer 2pass(实时输出 + 最终精修)
manyspeech -t 2pass -i mic --model paraformer-large-zh-en-int8-onnx-online --model2 paraformer-seaco-large-zh-timestamp-int8-onnx-offline# K2Transducer 2pass(流式实时 + 离线精修)
manyspeech -t 2pass -i mic --model k2transducer-zipformer-ctc-large-zh-onnx-online-yuekai-20250630 --model2 k2transducer-zipformer-ctc-small-zh-int8-onnx-offline-20250716# Wenet 2pass(流式实时 + 离线精修)
manyspeech -t 2pass -i mic --model wenet-u2pp-conformer-wenetspeech-onnx-online-20220506 --model2 wenet-u2pp-conformer-wenetspeech-int8-onnx-offline-20220506
📚 支持模型列表参考
- AliParaformerAsr:https://github.com/manyeyes/ManySpeech/blob/master/docs/readme/AliParaformerAsr/README.zh_CN.md
- FireRedAsr:https://github.com/manyeyes/ManySpeech/blob/master/docs/readme/FireRedAsr/README.zh_CN.md
- K2TransducerAsr:https://github.com/manyeyes/ManySpeech/blob/master/docs/readme/K2TransducerAsr/README.zh_CN.md
- MoonshineAsr:https://github.com/manyeyes/ManySpeech/blob/master/docs/readme/MoonshineAsr/README.zh_CN.md
- WenetAsr:https://github.com/manyeyes/ManySpeech/blob/master/docs/readme/WenetAsr/README.zh_CN.md
- WhisperAsr ONNX
- DolphinAsr ONNX
- OmniAsr ONNX
- Fun-ASR-Nano-2512 ONNX
- parakeet-tdt ONNX
- MedAsr ONNX 等等模型
更多模型请参考:
https://modelscope.cn/profile/manyeyes?tab=model
⚙️ 参数详细说明
基本选项
| 参数 |
说明 |
默认值 |
环境变量 |
-t, --type <online/offline/2pass> |
识别类型(必选) |
— |
MANYSPEECH_TYPE |
-m, --method <one/batch/chunk> |
处理方式 |
chunk |
MANYSPEECH_METHOD |
-i, --input <file/mic> |
输入源:音频文件/麦克风 |
file |
MANYSPEECH_INPUT |
-b, --base <路径> |
模型根目录 |
程序目录 |
MANYSPEECH_BASE |
-o, --output <目录> |
工作目录(存放识别结果、日志等) |
当前目录 |
MANYSPEECH_OUTPUT |
-md, --model <名称> |
主模型名称 |
自动匹配 |
MANYSPEECH_MODEL |
--model2 <名称> |
2pass 副模型名称 |
自动匹配 |
MANYSPEECH_MODEL2 |
--vad <名称> |
VAD语音端点检测模型 |
alifsmnvad-onnx |
MANYSPEECH_VAD |
--punc <名称> |
标点恢复模型 |
alicttransformerpunc-zh-en-mge-int8-onnx |
MANYSPEECH_PUNC |
--accuracy <fp32/int8> |
模型推理精度 |
int8 |
MANYSPEECH_ACCURACY |
--threads <数量> |
推理线程数,0=自动检测 |
2 |
MANYSPEECH_THREADS |
--format <json/text/srt/vtt> |
输出格式 |
text |
MANYSPEECH_FORMAT |
-f, --files <文件...> |
待识别音频文件(支持多文件) |
— |
— |
配置管理选项
| 参数 |
说明 |
--show-config |
显示当前配置信息 |
--save-default |
保存当前参数为默认配置 |
--reset-config |
重置配置为默认值 |
环境变量列表
| 环境变量 |
对应参数 |
MANYSPEECH_TYPE |
-t, --type |
MANYSPEECH_METHOD |
-m, --method |
MANYSPEECH_INPUT |
-i, --input |
MANYSPEECH_BASE |
-b, --base |
MANYSPEECH_OUTPUT |
-o, --output |
MANYSPEECH_MODEL |
-md, --model |
MANYSPEECH_MODEL2 |
--model2 |
MANYSPEECH_VAD |
--vad |
MANYSPEECH_PUNC |
--punc |
MANYSPEECH_ACCURACY |
--accuracy |
MANYSPEECH_THREADS |
--threads |
MANYSPEECH_FORMAT |
--format |
参数速记
-t = --type
-m = --method
-i = --input
-b = --base
-o = --output
-md = --model
-f = --files
📖 详细使用教程
1. 默认规则说明
- 未指定
-model 时自动使用默认模型
- 默认自动启用VAD断句 + 标点恢复
- 指定
--format srt 可生成标准字幕文件
- 缺失模型时程序自动后台下载(模型较大,请耐心等待)
- 配置文件:首次运行自动生成,可编辑修改默认参数
2. 快速体验最简命令
# 非流式识别(使用默认模型、默认测试音频)
manyspeech -t offline# 实时流式识别(麦克风)
manyspeech -t online -i mic# 2pass 双流融合识别
manyspeech -t 2pass -i mic
3. 本地音频文件识别
# 单文件识别
manyspeech -t offline -f meeting.wav# 多文件批量识别
manyspeech -t offline -f meeting1.wav meeting2.wav meeting3.wav# 分片处理长音频(建议配合VAD,精度更高)
manyspeech -t offline -m chunk -f long_audio.wav# 流式模型识别本地文件
manyspeech -t online -m chunk -f audio.wav# 输出JSON格式(含时间戳)
manyspeech -t offline --format json -f audio.wav# 指定输出目录
manyspeech -t offline -f audio.wav -o D:\Output
4. 麦克风实时识别
# 流式模型 + 麦克风(延迟最低,约200ms)
manyspeech -t online -i mic# 离线模型 + 麦克风(精度更高,约1-2秒延迟)
manyspeech -t offline -m chunk -i mic# 2pass 模式 + 麦克风(首次实时输出,最终精修)
manyspeech -t 2pass -i mic# 指定VAD模型
manyspeech -t online --vad silero-vad-v6-onnx -i mic# 实时输出SRT字幕
manyspeech -t online --format srt -i mic
5. VAD / 标点模型 启停与切换
# 禁用 VAD 和标点(原始识别结果)
manyspeech -t offline --vad "" --punc ""# 切换 Silero VAD(更适合嘈杂环境)
manyspeech -t offline --vad silero-vad-v6-onnx -f audio.wav# 使用默认 FSMN VAD(速度快,适合清晰语音)
manyspeech -t offline --vad alifsmnvad-onnx -f audio.wav# 仅禁用标点,保留VAD
manyspeech -t online --punc "" -i mic
6. 多格式字幕输出
# 输出 SRT 字幕(最常用)
manyspeech -t offline -m chunk --format srt -f audio.wav
# 生成 audio.srt 文件# 输出 WebVTT 字幕(网页使用)
manyspeech -t offline --format vtt -f audio.wav
# 生成 audio.vtt 文件# 输出 JSON 格式(程序解析)
manyspeech -t offline --format json -f audio.wav
# 输出结构化 JSON,含文本、时间戳、置信度# 输出纯文本(默认)
manyspeech -t offline -f audio.wav
# 直接输出识别文字
7. 手动指定任意模型
# 查看可用模型:https://modelscope.cn/profile/manyeyes?tab=model# SenseVoice 小模型(轻量快速)
manyspeech -t offline -i mic --model sensevoice-small-int8-onnx# Whisper tiny(英文优化)
manyspeech -t offline -f english.wav --model whisper-tiny-en-onnx# Whisper large(多语言高精度)
manyspeech -t offline -f multilingual.wav --model whisper-large-v3-turbo-zh-onnx-belle-20241016# FireRedASR 大模型(中文最佳)
manyspeech -t offline -m chunk --model fireredasr2-aed-large-zh-en-int8-onnx-selfcrosskv-offline-20260212 -f chinese.wav# Paraformer 大模型(通用场景)
manyspeech -t offline -m chunk --model paraformer-large-zh-en-int8-onnx-offline -f general.wav# K2Transducer 模型(实时性强)
manyspeech -t online -i mic --model k2transducer-zipformer-ctc-large-zh-onnx-online-yuekai-20250630# 2pass 模式指定副模型
manyspeech -t 2pass -i mic --model paraformer-large-zh-en-int8-onnx-online --model2 paraformer-seaco-large-zh-timestamp-int8-onnx-offline
8. 环境变量配置(适合高频场景)
# Windows cmd
set MANYSPEECH_TYPE=online
set MANYSPEECH_METHOD=chunk
set MANYSPEECH_THREADS=4
set MANYSPEECH_FORMAT=srt
set MANYSPEECH_OUTPUT=D:\Output
manyspeech -i mic# Windows PowerShell
$env:MANYSPEECH_TYPE="online"
$env:MANYSPEECH_METHOD="chunk"
$env:MANYSPEECH_THREADS="4"
$env:MANYSPEECH_FORMAT="srt"
$env:MANYSPEECH_OUTPUT="D:\Output"
manyspeech -i mic
9. 交互模式完整示例
# 启动交互模式
manyspeech# 会话示例:
=====================================
请输入参数 (输入 'exit' 退出,直接回车显示帮助):# 识别单个文件
> -t offline -f D:\test.wav
[识别结果...]# 批量识别
> -t offline -f 1.wav 2.wav 3.wav --format srt
[生成3个字幕文件...]# 麦克风实时识别
> -t online -i mic
[按 ESC 退出...]# 指定模型识别
> -t offline -i mic --model fireredasr2-aed-large-zh-en-int8-onnx-selfcrosskv-offline-20260212# 指定输出目录
> -t offline -f test.wav -o D:\MyOutput# 查看配置
> --show-config# 保存当前参数为默认
> -t offline -m chunk --format srt --save-default# 查看帮助
> --help# 退出
> exit
10. 批量处理脚本示例
# Windows批处理脚本 (batch_process.bat)
@echo off
setlocal enabledelayedexpansionset INPUT_DIR=D:\audio
set OUTPUT_DIR=D:\outputfor %%f in ("%INPUT_DIR%\*.wav") do (echo Processing %%f...manyspeech -t offline -m chunk --format srt --threads 4 -f "%%f" -o "%OUTPUT_DIR%"
)echo All files processed!
pause
# PowerShell 脚本 (batch_process.ps1)
$inputDir = "D:\audio"
$outputDir = "D:\output"Get-ChildItem $inputDir -Filter *.wav | ForEach-Object {Write-Host "Processing $($_.Name)..."& manyspeech -t offline -m chunk --format srt --threads 4 -f $_.FullName -o $outputDir
}Write-Host "All files processed!"
📌 补充说明
识别类型详解
| 类型 |
说明 |
适用场景 |
offline |
非流式识别,处理完整音频后输出 |
文件识别、长音频、离线场景 |
online |
实时流式识别,边录边出字 |
麦克风、直播、低延迟场景 |
2pass |
双流融合识别,实时输出+最终精修 |
对精度和实时性都有要求的场景 |
输出格式详解
| 格式 |
说明 |
用途 |
text |
纯文本,每句一行 |
快速查看、日志记录 |
json |
JSON格式,含时间戳、置信度 |
程序解析、二次处理 |
srt |
SubRip字幕格式 |
视频字幕、剪辑软件 |
vtt |
WebVTT字幕格式 |
网页播放器、浏览器 |
处理方式详解
| 方式 |
说明 |
适用场景 |
one |
一次性处理整个音频 |
短音频、快速测试 |
batch |
批量处理多个完整音频 |
多文件批处理 |
chunk |
分片流式处理(需配合VAD) |
长音频、实时流 |
注意事项
- 配置文件:首次运行自动生成
manyspeech.json,可编辑修改默认参数
- 模型下载:缺失模型时程序自动后台下载,无需手动安装(模型较大,首次下载请耐心等待)
- Git LFS:如需手动下载模型,建议安装 Git LFS,但非必需(程序会自动处理)
2pass 模式主模型为 online 模型,副模型 model2 为离线模型
- 麦克风识别过程按 ESC键 即可退出
- 命令行帮助:
--help 或 -h 可查看完整参数说明
- 模型命名:模型名称可从 ModelScope主页 获取
🔗 项目参考
ManySpeech 开源主页