字
字节笔记本
2026年2月22日
noTranslate:开源实时语音转写与翻译工具
本文介绍 noTranslate(不译),一个开源的实时语音转写与翻译工具。该项目基于 React + TypeScript + Vite 构建,可将电脑输出的音频或麦克风输入实时转写为文本,并支持翻译至其他语言。
项目简介
noTranslate(不译)是一个开源的实时语音转写与翻译 Web 应用,由开发者 aqeja 创建维护。该项目在 GitHub 上已获得 35 stars,主要使用 TypeScript(75.3%)和 JavaScript(22.4%)编写。
项目核心功能是通过腾讯语音识别 API 将音频实时转写为文本,再通过百度翻译 API 将文本翻译为目标语言。适用于跨国远程会议、听外语播客、观看外语视频等场景。
核心特性
- 实时语音转写:将电脑输出的音频或麦克风输入实时转写为文本
- 多语言翻译:支持将转写后的文本翻译为其他语言
- 本地密钥存储:所有 API 密钥均存储在用户本地浏览器,不上传至服务器
- 跨平台支持:支持 macOS 和 Windows 系统
- 免费额度充足:腾讯语音识别每月 5 小时免费,百度翻译每月 100 万字符免费
技术栈
- React 17.0.0 - 核心 UI 框架
- TypeScript 4.3.2 - 类型系统
- Vite 2.3.8 - 构建工具
- Tailwind CSS 3.0.23 - CSS 框架
- Material-UI (MUI) 5.10.7 - 组件库
- Recoil 0.7.5 - 状态管理
- React Query 3.39.2 - 数据获取和缓存
- React Router 6.4.1 - 路由管理
- Axios 0.27.2 - HTTP 客户端
- Socket.io-client 4.5.2 - WebSocket 通信
使用场景
1. 跨国远程会议
在跨国会议中,实时转写对方语音并翻译为母语,帮助理解会议内容。
2. 听外语播客
收听外语播客时,实时获取文字稿和翻译,提升学习效率。
3. 观看外语视频
观看外语视频时,获取实时字幕和翻译,消除语言障碍。
安装指南
前置要求
- Node.js >= 14
- npm 或 yarn
macOS 用户额外要求
需安装 BackgroundMusic 虚拟声卡,用于将系统音频输出模拟为麦克风输入:
bash
brew install --cask background-music安装步骤
bash
# 克隆项目
git clone https://github.com/aqeja/noTranslate.git
# 进入项目目录
cd noTranslate
# 安装依赖
npm install
# 启动开发服务器
npm run devAPI 配置
腾讯语音识别
- 访问 腾讯云语音识别
- 注册开发者账号
- 创建应用获取 AppID、SecretID 和 SecretKey
- 每月享有 5 小时免费识别时长
百度翻译
- 访问 百度翻译开放平台
- 注册开发者账号
- 创建应用获取 APPID 和密钥
- 每月享有 100 万字符免费翻译额度
应用配置
在应用设置页面填入上述获取的密钥信息即可开始使用。
项目结构
text
src/
├── api/baidu/ # 百度翻译 API 封装
├── common/ # 公共模块和工具
├── components/ # 可复用组件
├── router/ # 路由配置
├── sdks/ # SDK 相关
├── store/ # Recoil 状态管理
└── views/home/ # 主页面视图隐私说明
项目强调用户隐私保护,所有密钥信息均存储在浏览器本地(LocalStorage),不会上传至任何服务器,用户可放心使用。
项目链接
分享: