Go to file
impressionyang fc3ea6fa4e docs: 完善 Windows 构建指南和脚本
新增:
- scripts/build-win.bat: Windows 构建脚本
- scripts/build-win.sh: Linux/macOS 构建脚本

更新:
- BUILD_WINDOWS.md: 完善构建说明
  - 添加脚本使用说明
  - 简化手动打包步骤
  - 整理常见问题解答

注意:
- Windows ZIP 包较大 (132MB),建议在各平台自行构建
- 推荐使用提供的脚本进行构建

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-20 16:29:15 +08:00
build Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
docs docs: 完善 Windows 构建指南和脚本 2026-05-20 16:29:15 +08:00
models Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
scripts docs: 完善 Windows 构建指南和脚本 2026-05-20 16:29:15 +08:00
src feat: 支持无模型启动配置模式 2026-05-20 16:15:53 +08:00
test Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
.gitignore Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
package-lock.json Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
package.json docs: 更新 Windows 构建指南,添加手动打包方法 2026-05-20 16:22:09 +08:00
PRD.md Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
README.md Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
tsconfig.json Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00
vitest.config.ts Initial commit: Impress ASR Input 项目基础框架 2026-05-20 16:10:11 +08:00

Impress ASR Input

基于 ONNX 的本地语音识别输入工具,支持多语言实时识别和音频文件转写。

特性

  • 🎯 本地运行 - 无需联网,保护隐私,无 API 调用成本
  • 🌍 多语言支持 - 中文、英文、日语、韩语等
  • 低延迟 - 准实时识别1 秒内完成短句识别
  • 💻 跨平台 - 支持 Windows、macOS、Linux

快速开始

系统要求

  • Node.js >= 20.0.0
  • Windows 10+ / macOS 11+ / Ubuntu 20.04+

安装

# 克隆项目
cd impress-asr-input

# 安装依赖
npm install

# 编译 TypeScript
npm run build

放入模型文件

将 ONNX 模型放入 models/ 目录:

models/
├── sensevoice.onnx    # 推荐:阿里达摩院多语言模型
├── whisper.onnx       # OpenAI 多语言模型
└── paraformer.onnx    # 阿里达摩院中文模型

模型下载地址:

使用方法

# 命令行模式 - 开始语音识别
npm start -- start

# 指定语言
npm start -- start -l en

# 转写音频文件
npm start -- transcribe input.wav -o output.txt

# Electron GUI 模式(需要先安装 electron
npm install electron --save-dev
npm run dev:electron

Windows 构建

方法一:在 Windows 上构建(推荐)

npm run build:win       # 构建安装包
npm run build:win:zip   # 构建 ZIP 包

方法二:在 Linux 上构建

export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
npm run build:win:dir   # 构建解压版本

详见:docs/BUILD_WINDOWS.md

项目结构

impress-asr-input/
├── src/
│   ├── core/
│   │   ├── audio-processor.ts    # 音频处理VAD、重采样
│   │   ├── audio-recorder.ts     # 音频采集模块
│   │   ├── index.ts              # 模块导出
│   │   ├── model-loader.ts       # 模型加载器
│   │   ├── speech-recognizer.ts  # ONNX 语音识别引擎
│   │   └── text-output.ts        # 文本输出模块
│   ├── ui/
│   │   └── index.html            # Electron UI 界面
│   ├── electron-main.ts          # Electron 主进程
│   ├── main.ts                   # CLI 命令行入口
│   ├── preload.ts                # Electron 预加载脚本
│   └── utils/
│       └── config.ts             # 配置管理
├── models/                       # ONNX 模型文件目录
│   ├── README.md                 # 模型说明
│   └── models.config.json        # 模型配置
├── docs/
│   ├── BUILD_WINDOWS.md          # Windows 构建指南
│   └── DEVELOPMENT.md            # 开发指南
├── scripts/
│   ├── postinstall.js            # 安装后脚本
│   └── prepare-build.js          # 打包准备脚本
├── dist/                         # TypeScript 编译输出
├── release/                      # Windows 打包输出
├── test/
│   └── audio-processor.test.ts   # 单元测试
├── package.json
├── tsconfig.json
└── PRD.md                        # 产品需求文档

开发计划

版本 状态 内容
v0.1.0 完成 基础框架、单语言识别 demo
v0.5.0 🔄 进行中 多语言支持、Electron GUI
v1.0.0 待开发 键盘模拟、批量转写、打包分发

命令行选项

# 启动语音识别
npm start -- start [选项]

选项:
  -l, --language <lang>  识别语言 (默认zh)
  -m, --model <path>     模型文件路径
  -o, --output <mode>    输出模式clipboard|keyboard|both (默认clipboard)

# 转写音频文件
npm start -- transcribe <文件> [选项]

选项:
  -l, --language <lang>  识别语言 (默认zh)
  -m, --model <path>     模型文件路径
  -o, --output <file>    输出文件路径

技术栈

模块 技术
运行时 Node.js 20+
UI 框架 Electron
ONNX 推理 onnxruntime-web
剪贴板 clipboardy
命令行 commander
构建工具 electron-builder

许可证

MIT

贡献

欢迎提交 Issue 和 Pull Request

相关资源