Ariver
2026-07-01 b00e64de94d7560484c8da9723761084e368ca56
README.md
@@ -1,10 +1,10 @@
# VoiceSnap 语闪
# PrivateVoice
> 长按说话,松手即输 —— 离线 · 极速 · 跨平台
![VoiceSnap 语闪](screenshot.png)
![PrivateVoice](screenshot.png)
VoiceSnap 是一款离线语音转文字工具。按住快捷键说话,松开即识别并输入文字到任意应用。无需联网,无需注册,开箱即用。
PrivateVoice 是一款离线语音转文字工具。按住快捷键说话,松开即识别并输入文字到任意应用。无需联网,无需注册,开箱即用。
## 核心特性
@@ -28,12 +28,39 @@
- **系统托盘常驻** — 关闭窗口不退出
- **开机自启** — 可选
## 支持的输入语言
当前 PrivateVoice 的产品语言版本为 **中文**、**English**、**French**、**German**、**Spanish**、**Italian**、**Portuguese**、**Japanese** 和 **Korean**。识别模型已经扩展到 SenseVoice、Moonshine English、Parakeet English、Parakeet TDT v3、日语 Zipformer、韩语 Zipformer、Qwen3-ASR 和 X-ASR zh-en 960ms;不同模型覆盖的输入语言和成熟度不同。
| 输入语言 / 场景 | 当前支持状态 | 默认 / 可选模型 | 说明 |
|---|---|---|---|
| 中文(普通话、简体 / 繁体) | 正式支持 | 默认:SenseVoice;可选高级:Qwen3-ASR;实验:X-ASR zh-en 960ms | 中文语言版本默认使用 SenseVoice,适合中文听写和日常输入。 |
| English | 正式支持 | 默认:Moonshine English;可选高级:Parakeet English;实验:X-ASR zh-en 960ms | English 语言版本默认使用 Moonshine English,Parakeet 适合更高准确率的英文输入。 |
| French / German / Spanish / Italian / Portuguese | 正式支持 | 默认:Parakeet TDT v3 | 欧洲五语统一使用 NVIDIA / sherpa-onnx 的 Parakeet TDT v3 多语种离线模型。Portuguese 覆盖 `pt-PT` 和 `pt-BR` 的基础识别路径。 |
| 中英混输 | 正式支持场景 | SenseVoice、Qwen3-ASR、X-ASR zh-en 960ms | 适合中文句子中夹杂英文术语、产品名、代码词等场景。 |
| 粤语(Cantonese) | 模型支持,尚非独立语言版本 | SenseVoice、Qwen3-ASR、X-ASR zh-en 960ms | 底层模型包含粤语能力;当前建议在中文语言版本下使用。 |
| 日语(日本語) | 正式支持 | 默认:Zipformer Japanese | 日语语言版本默认使用 ReazonSpeech 日语专项 Zipformer 离线模型。 |
| 韩语(한국어) | 正式支持 | 默认:Zipformer Korean | 韩语语言版本默认使用韩语专项 Zipformer 离线模型。 |
| 欧洲其他语种 | 模型支持,尚非独立语言版本 | Parakeet TDT v3 | Parakeet TDT v3 支持 25 种欧洲语言;当前只把 French、German、Spanish、Italian、Portuguese 作为正式产品语言版本。 |
| 其他语言 | 暂未正式支持 | 无独立默认模型 | 系统语言不在当前正式语言范围内时,当前产品会回落到 English 语言版本。 |
| 识别模型 | 模型状态 | 覆盖的输入语言 / 场景 | 所属语言版本 | 说明 |
|---|---|---|---|---|
| SenseVoice | 默认轻量模型 | 中文、粤语、English、日语、韩语 | 中文默认 | 轻量模型,当前推荐用于中文和中英混输,也提供日语、韩语等底层识别能力。 |
| Qwen3-ASR | 高级模型 | 中文、简繁中文、粤语、中英混输 | 中文可选 | 体积更大,适合中文长句、技术词和更高准确率需求。 |
| Moonshine English | 默认轻量模型 | English | English 默认 | 轻量英文离线模型,适合英文日常听写。 |
| Parakeet English | 高级模型 | English | English 可选 | 当前接入的是 `parakeet-unified-en-0.6b` 英文模型,适合长句、技术词和更高准确率需求。 |
| Parakeet TDT v3 | 默认多语种模型 | French、German、Spanish、Italian、Portuguese | 欧洲五语默认 | 一个模型包覆盖欧洲五语,适合离线听写;发布前基准对比 Canary-1B-v2 和 Whisper large-v3-turbo。 |
| Zipformer Japanese | 默认专项模型 | Japanese | 日语默认 | 基于 ReazonSpeech 的日语专项离线模型。 |
| Zipformer Korean | 默认专项模型 | Korean | 韩语默认 | 韩语专项离线模型。 |
| X-ASR zh-en 960ms | 实验模型 | 中文、English、粤语、中英混输 | 中文 / English 可选实验项 | 实验性中英流式模型,用于评估更低延迟和未来“边说边出字”体验。 |
## 快速开始
### 用户
1. 从 [Releases](https://github.com/vorojar/VoiceSnap/releases) 下载最新版本
2. **Windows**:解压到任意目录,双击 `voicesnap.exe`
1. 从项目 Releases 页面下载最新版本
2. **Windows**:解压到任意目录,双击 `privatevoice.exe`
3. **macOS**:打开 `.dmg`,拖入 Applications,首次启动需授予辅助功能权限
4. 首次启动自动下载语音模型(~200 MB)
5. 就绪后,在任意输入框中按住 **右 Ctrl**(macOS: **右 Command**)说话,松开即输入
@@ -47,8 +74,8 @@
# - CGO 编译器 (Windows: LLVM MinGW UCRT, macOS: Xcode Command Line Tools)
# 克隆
git clone https://github.com/vorojar/VoiceSnap.git
cd VoiceSnap/VoiceSnapGo
git clone <PrivateVoice 仓库地址>
cd PrivateVoice/privatevoice.src
# 安装前端依赖
cd frontend && npm install && cd ..
@@ -57,16 +84,16 @@
wails3 dev
# 生产构建 (Windows)
windres voicesnap.rc -o voicesnap.syso
CGO_ENABLED=1 go build -ldflags "-H windowsgui -s -w" -o voicesnap.exe .
windres privatevoice.rc -o privatevoice.syso
CGO_ENABLED=1 go build -ldflags "-H windowsgui -s -w" -o privatevoice.exe .
# 生产构建 (macOS)
CGO_ENABLED=1 go build -o voicesnap .
CGO_ENABLED=1 go build -o privatevoice .
```
## 使用方法
1. 系统托盘出现 VoiceSnap 图标,引擎加载完成后就绪
1. 系统托盘出现 PrivateVoice 图标,引擎加载完成后就绪
2. **长按模式**:按住快捷键说话,松开即识别并粘贴
3. **自由说话**:短按一下开始,连续说话,再短按一下停止
4. **取消录音**:录音中按 Esc
@@ -78,7 +105,7 @@
| 文件 | 大小 | 说明 |
|---|---|---|
| `voicesnap.exe` | ~15 MB | 主程序 |
| `privatevoice.exe` | ~15 MB | 主程序 |
| `onnxruntime.dll` | ~15 MB | ONNX Runtime |
| `sherpa-onnx-c-api.dll` | ~4 MB | sherpa-onnx C API |
| `sherpa-onnx-cxx-api.dll` | ~248 KB | sherpa-onnx C++ API |
@@ -88,13 +115,13 @@
| 文件 | 大小 | 说明 |
|---|---|---|
| `VoiceSnap.app` | ~15 MB | 应用包(含 dylib) |
| `PrivateVoice Dictation.app` | ~15 MB | 应用包(含 dylib) |
| `models/sensevoice/` | ~200 MB | 语音模型(首次自动下载) |
## 项目结构
```
VoiceSnapGo/
privatevoice.src/
├── main.go               # 入口:单实例 + Wails 启动
├── app.go                # 编排:热键 → 录音 → 识别 → 粘贴
├── internal/