基于火山引擎 AST 2.0 的实时双向同声传译系统
🇨🇳 中文 ↔ 英文 🇺🇸 | 实时语音识别 · 同声翻译 · TTS 朗读 · AI 会议总结
| 功能 | 说明 |
|---|---|
| 🎤 实时语音识别 | 基于火山引擎 AST 2.0,毫秒级延迟 |
| 🔄 自动双向同传 | 单连接自动判断中文/英文并翻译为另一种语言 |
| 🔊 TTS 语音播报 | 翻译结果自动朗读,支持静音控制 |
| 📝 双列字幕显示 | 左列中→英,右列英→中,清晰分离 |
| 🤖 AI 会议总结 | 基于火山方舟豆包模型的智能会议摘要 |
| 📤 导出会议记录 | 支持导出文本和 Markdown 格式 |
| 🌗 亮/暗色主题 | 一键切换 |
| 🎨 现代 UI | 毛玻璃特效 + 动画 + 音量可视化 |
- Node.js ≥ 20.19
- Python ≥ 3.9
- 豆包语音 API Key — 用于实时识别、翻译和 TTS
- 火山方舟 API Key — 用于豆包模型生成会议总结
git clone https://github.com/yo-WASSUP/Good-Interpreter.git
cd Good-Interpreter在 backend/ 目录下创建 .env 文件:
# 豆包语音:实时同声传译
VOLC_API_KEY=your_api_key
# 火山方舟:豆包会议总结
ARK_API_KEY=your_ark_api_key
ARK_MODEL=doubao-seed-2-0-lite-260215
# 服务端口
PORT=3100火山引擎没有把本项目使用的两项能力合并成一个“每月总额度”。截至 2026-07-26,官方公开页面给出的常见体验口径如下:
| 能力 | 常见免费体验额度 | 说明 |
|---|---|---|
| 火山方舟文本模型 | 每个支持体验的模型 50 万 tokens | 属于模型体验额度,是否按月重置、有效期及可用模型以账号控制台为准 |
| 豆包流式语音识别 | 20 小时 | 官方价格页列出的流式识别额度;本项目使用的是同声传译 2.0,实际赠送额度以「开通管理」页面为准 |
会议总结通常只消耗几千到一万左右 tokens,50 万 tokens 大致可支持数十到上百次总结,实际数量取决于会议长度。免费额度和活动规则可能调整,请在使用前查看豆包模型价格与免费额度以及控制台中的剩余额度。不要把体验额度当作固定的永久免费月包。
cd backend
python -m venv venv
# macOS / Linux
source venv/bin/activate
# Windows
.\venv\Scripts\Activate
pip install -r requirements.txt
python -m app.main后端服务将启动在 http://localhost:3100
cd frontend
npm install
npm run dev打开浏览器访问 http://localhost:5173
cd frontend
npm run build
# 构建产物在 frontend/dist/,由后端自动托管
# 只需运行后端即可,访问 http://localhost:3100应用提供精美的暗色/亮色双主题界面:
- 暗色模式:深色背景 + 毛玻璃卡片 + 渐变光晕动画
- 亮色模式:柔和浅灰背景 + 清爽配色
点击右上角 ☀️/🌙 按钮即可切换。
Good-Interpreter/
├── backend/ # Python 后端 (aiohttp)
│ ├── app/
│ │ ├── main.py # 应用入口
│ │ ├── config.py # 配置管理
│ │ ├── database.py # SQLite 数据库
│ │ ├── routes/ # API & WebSocket 路由
│ │ └── services/ # 火山引擎语音与方舟服务
│ ├── requirements.txt
│ └── README.md
├── frontend/ # React 前端 (Vite + TypeScript)
│ ├── src/
│ │ ├── components/ # UI 组件
│ │ ├── hooks/ # WebSocket / 录音 / 播放
│ │ ├── services/ # REST API 调用
│ │ └── utils/ # 工具函数
│ ├── package.json
│ └── README.md
└── README.md # 本文件
浏览器 ←WebSocket→ Python 后端 ←WebSocket→ 火山引擎 AST API
│ ├─HTTPS────→ 火山方舟豆包模型
│ REST API │
│ (会议总结/历史) └─SQLite(会话存储)
- 浏览器采集麦克风音频,通过 WebSocket 发送 PCM 数据到后端
- 后端使用单个
zhen → zhen会话,由火山引擎自动判断中英文并完成 ASR + 翻译 + TTS - 识别结果、翻译文本、TTS 音频实时回传浏览器
- 前端渲染双列字幕并播放合成语音
本项目采用 MIT License 开源。你可以自由使用、复制、修改、 分发和商用本项目,但需要在副本或主要代码中保留原始版权声明和许可声明。 软件按“原样”提供,作者不承担使用本软件产生的担保或责任。