VoiceInput 使用四个独立模型,总计约 2.9 GB。安装包不包含权重;模型准备完成后,日常语音识别无需联网。
打开以下 ModelScope 官方模型页面,在“模型文件”中查看文件,或使用页面提供的 SDK / Git 下载方式获取完整仓库快照。
| 本地子目录 | 模型与官方页面 | 用途 |
|---|---|---|
streaming/ |
Paraformer Streaming | 实时预览 |
final/ |
SeACo Paraformer | 最终识别与热词 |
vad/ |
FSMN-VAD | 语音活动检测 |
punctuation/ |
CT-Punc 中英文 | 标点恢复 |
模型仓库名与应用的模型定义对应。权重及词表的使用条件以各模型仓库的许可证为准。
首次打开应用,点击“下载 / 重试加载模型”。界面显示当前模型名称、下载阶段和保存目录;进度条表示正在下载,不是字节百分比。下载失败可重试。
也可在终端执行,按实际安装方式选择一条命令:
# deb 安装
/usr/bin/voiceinput --download-models
# install.sh 安装
~/.local/share/voiceinput/runtime/voiceinput --download-models内置下载使用 ModelScope 的 master 快照,自动写入本地完成标记。日常运行不会自动更新模型;不同时间下载的权重可能不同,严格复现时请备份完整模型目录。
适合自行管理下载、从其他机器搬运官方快照的用户。此流程不需要启动 GUI,也不要求下载机器具备显卡。
- 从上表四个官方页面下载完整快照。不要只取
model.pt:配置、词表等配套文件同样需要。使用 Git 下载时,需要确认大文件已经下载,而不是只有 Git LFS 指针。 - 将各仓库内部的文件放入对应子目录,不要额外嵌套一层仓库名。
- 完成全部文件复制后,关闭 VoiceInput,在项目根目录运行下方登记命令。登记脚本仅使用 Python 标准库,不联网、不加载权重。
目录结构应为:
~/.local/share/voiceinput/models/
├── streaming/
│ ├── config.yaml
│ ├── model.pt
│ └── …仓库中的其他文件
├── final/
│ ├── config.yaml
│ ├── model.pt
│ └── …
├── vad/
│ ├── config.yaml
│ ├── model.pt
│ └── …
└── punctuation/
├── config.yaml
├── model.pt
└── …
python3 scripts/prepare-models.py
# 也可登记一个待搬运的模型目录
python3 scripts/prepare-models.py --directory /path/to/models脚本检查四个目录、必需文件、空文件和 Git LFS 指针,然后为每个模型写入 .voiceinput-complete.json 文件大小清单,供现有程序识别。可用 --revision 记录下载时的提交号。登记不是权重完整性或来源认证,也不会凭空补全缺失的配套文件;必须自行确认来自上表官方仓库的完整快照,最终以应用实际加载和识别成功为准。
如果已经有应用下载生成的完成标记,不需要重新登记。模型路径遵循 XDG_DATA_HOME;--directory 只指定登记位置,不会修改应用使用的路径。
先安装运行环境并准备所有依赖。退出应用后,把已经准备好的整个 models/ 目录复制到目标机器的数据目录,保留隐藏文件:
mkdir -p ~/.local/share/voiceinput
cp -a /path/to/models ~/.local/share/voiceinput/目标路径最终应为 ~/.local/share/voiceinput/models/streaming/ 等,不能是 models/models/。如果目标位置已有模型,先将旧目录移到备份位置,避免不同快照的文件混合。
应用只从已登记的本地绝对路径加载模型,关闭 FunASR 更新检查并禁用远程模型代码。缺失或文件大小不匹配时会提示下载;不会在识别期间自动联网补齐。