字节笔记本

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 dev

API 配置

腾讯语音识别

  1. 访问 腾讯云语音识别
  2. 注册开发者账号
  3. 创建应用获取 AppID、SecretID 和 SecretKey
  4. 每月享有 5 小时免费识别时长

百度翻译

  1. 访问 百度翻译开放平台
  2. 注册开发者账号
  3. 创建应用获取 APPID 和密钥
  4. 每月享有 100 万字符免费翻译额度

应用配置

在应用设置页面填入上述获取的密钥信息即可开始使用。

项目结构

text
src/
├── api/baidu/      # 百度翻译 API 封装
├── common/         # 公共模块和工具
├── components/     # 可复用组件
├── router/         # 路由配置
├── sdks/           # SDK 相关
├── store/          # Recoil 状态管理
└── views/home/     # 主页面视图

隐私说明

项目强调用户隐私保护,所有密钥信息均存储在浏览器本地(LocalStorage),不会上传至任何服务器,用户可放心使用。

项目链接

分享: