# SimultaneousInterpretation **Repository Path**: mygule/SimultaneousInterpretation ## Basic Information - **Project Name**: SimultaneousInterpretation - **Description**: 同声传译直播工具 - 基于火山引擎方舟平台 SI API,支持实时语音识别翻译与语音合成,配合VB-CABLE可输出到直播间 | WPF + .NET 8 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-19 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎙️ 同声传译直播工具 (Simultaneous Interpretation Live Tool) > **基于火山引擎语音同声传译 API 的实时同声传译桌面工具 | WPF + .NET 8** 一款 Windows 桌面应用程序,通过麦克风采集音频,实时传输到云端进行语音识别和翻译,并将翻译结果以**语音合成**或**字幕文本**的形式输出。搭配 **VB-CABLE 虚拟音频线**,可将翻译后的语音直接路由到直播软件(OBS、抖音直播伴侣等),轻松实现**跨境直播同声传译**。 --- ## 📋 目录 - [功能特性](#-功能特性) - [界面预览](#-界面预览) - [环境要求](#-环境要求) - [快速开始](#-快速开始) - [🔑 开通火山引擎同声传译 API](#-开通火山引擎同声传译-api) - [🔌 VB-CABLE 虚拟音频线配置教程](#-vb-cable-虚拟音频线配置教程) - [🎯 直播场景联动配置](#-直播场景联动配置) - [配置说明](#-配置说明) - [支持语言](#-支持语言) - [技术栈](#-技术栈) - [下载与发布](#-下载与发布) - [常见问题](#-常见问题) --- ## ✨ 功能特性 - **实时语音采集** — 从任何选定麦克风设备以 16kHz/16bit PCM 格式捕获音频 - **云端流式翻译** — 通过 WebSocket 连接火山引擎 AST API,Protobuf 编码高效传输 - **两种翻译模式**: - **S2S(语音转语音)** — 翻译后语音合成并播放,支持音色选择 - **S2T(语音转文本)** — 仅返回翻译文本,适合字幕场景 - **实时字幕显示** — 界面同时展示原文识别结果和翻译文本 - **动态音频归一化** — 自动调节音量至一致水平 - **多格式音频解码** — 支持 Float32 PCM、Int16 PCM、Ogg Opus 自动识别 - **一键语言交换** — 点击 ⇄ 按钮快速交换源语言/目标语言 - **设置持久化** — 配置自动保存至 `%APPDATA%\SimultaneousInterpretation\settings.json` - **23种语言支持** — 覆盖中英日韩法等主要语言及方言 - **直播集成** — 配合 VB-CABLE 可将翻译语音输出到任何直播软件 --- ## 🖥️ 界面预览 | 区域 | 说明 | |------|------| | **顶部状态栏** | 连接状态指示灯、翻译状态、语言切换、开始/停止按钮 | | **设置面板** | API 密钥、设备选择、语言选择、翻译模式、音色选择 | | **日志面板** | 实时显示协议日志、识别结果等详细信息 | | **翻译面板** | 以大字体清晰显示最终翻译文本 | --- ## 📦 环境要求 | 依赖项 | 说明 | 下载链接 | |--------|------|----------| | **Windows 10/11** | 64 位操作系统 | — | | **VB-CABLE 虚拟音频线** | 将翻译语音路由到直播软件(可选) | [下载 VB-CABLE](https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack45.zip) | | **火山引擎语音同声传译 API 密钥** | 同声传译服务认证 | [开通链接](#-开通火山引擎同声传译-api) | --- ## 🚀 快速开始 ### 1️⃣ 下载与安装 从 [Releases 页面](https://gitee.com/mygule/SimultaneousInterpretation/releases) 下载最新版本的 `SimultaneousInterpretation_v1.0.0.zip`,解压后直接运行 `SimultaneousInterpretation.exe` 即可(已内置 .NET 8 运行时,无需额外安装)。 ### 2️⃣ 配置 API 密钥 在火山引擎控制台获取 API 密钥后(见下文教程),在应用界面的设置区域填写: - **API Key**:从火山引擎获取的访问密钥 - **Resource ID**:默认为 `volc.service_type.10053`(同声传译服务资源 ID) ### 3️⃣ 选择音频设备 - **输入设备**:选择您的麦克风 - **输出设备**: - 普通使用:选择您的音箱/耳机 - 直播场景:选择 **CABLE Input**(VB-CABLE 虚拟设备) ### 4️⃣ 开始翻译 1. 选择源语言和目标语言(如:中文 → 英文) 2. 选择翻译模式(S2S 语音转语音 / S2T 语音转文本) 3. 点击 **"开始翻译"** 按钮 4. 对着麦克风说话,翻译结果将实时显示并播放 --- ## 🔑 开通火山引擎同声传译 API 本工具使用 **火山引擎语音同声传译** 服务,需先开通 API 并获取密钥。 > 同声传译体验直达链接:https://console.volcengine.com/speech/new/experience/translate?projectName=default ### 注册账号 1. 访问 [火山引擎官网](https://www.volcengine.com/) 并点击右上角 **"注册"** > 注册链接:https://console.volcengine.com/ 2. 支持手机号或邮箱注册,按指引完成实名认证 ### 开通同声传译服务 1. 登录后打开下方链接(语音同声传译体验页): > https://console.volcengine.com/speech/new/experience/translate?projectName=default 2. 在该页面可以**在线体验**同声传译效果 3. 如需正式使用,点击页面中的 **"开通服务"** 或前往语音服务控制台开通 4. 按需选择资源包规格(新用户通常有免费试用额度) ### 获取 API 密钥 1. 进入 [API 密钥管理页面](https://console.volcengine.com/iam/keymanagement/) > 或:控制台 → 访问控制 → API 密钥 2. 点击 **"新建密钥"**,生成 Access Key 3. 复制并保存好 **Access Key ID**(即本工具所需的 **API Key**)和 **Access Key Secret** ### 获取 Resource ID 1. 进入 [语音服务控制台](https://console.volcengine.com/speech/) 2. 在 **"服务管理"** 或 **"资源管理"** 中找到您的同声传译资源 ID 3. 默认资源 ID 格式为:`volc.service_type.10053` ### 配置到本工具 1. 打开 **同声传译直播工具** 2. 在设置区域填入: - **API Key**:填入上一步获取的 Access Key ID - **Resource ID**:填入 `volc.service_type.10053`(或您申请的具体资源 ID) 3. 点击 **"保存设置"**,即可开始使用 --- ## 🔌 VB-CABLE 虚拟音频线配置教程 **VB-CABLE Virtual Audio Cable** 是一款虚拟音频设备驱动,可以在 Windows 中创建一条虚拟的音频线路,让一个应用程序的输出作为另一个应用程序的输入。这是实现**翻译语音直通直播间**的关键组件。 ### 📥 下载与安装 1. **下载驱动包** > 下载链接:https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack45.zip 也可访问 VB-Audio 官网获取最新版本: > 官网:https://vb-audio.com/Cable/ 2. **解压并安装** - 解压下载的 `VBCABLE_Driver_Pack45.zip` - 进入解压后的文件夹,根据系统选择: - **64 位系统**:右键 `VBCABLE_Setup_x64.exe` → **以管理员身份运行** - **32 位系统**:右键 `VBCABLE_Setup.exe` → **以管理员身份运行** - 点击 **"Install Driver"** 按钮 - 等待驱动安装完成,如弹出系统安全提示请选择 **"安装"** - 安装成功后,状态栏会显示 `"Install successful"`,点击 **"Exit"** 退出 3. **验证安装** - 右键任务栏 **喇叭图标** → **声音设置** → **声音控制面板** - 切换到 **"播放"** 选项卡,应能看到 **"CABLE Input"** 设备 - 切换到 **"录制"** 选项卡,应能看到 **"CABLE Output"** 设备 ### ⚙️ 配置翻译音频输出到 VB-CABLE 1. **打开同声传译直播工具** 2. **设置输出设备** - 在 **"输出设备"** 下拉菜单中选择 **"CABLE Input"**(VB-CABLE 虚拟输入设备) - 此时翻译后的语音将通过 VB-CABLE 传输,而**不会从您的音箱播出** 3. **测试音频路由** - VB-CABLE 相当于一根虚拟音频线: - **输入端**:CABLE Input(本工具的输出选择这里) - **输出端**:CABLE Output(直播软件的麦克风/音频输入选择这里) > **💡 小贴士**:如果您想在本地同时听到翻译语音,可以: > - 在声音控制面板的 **"录制"** 选项卡中,右键 **"CABLE Output"** → **"属性"** → **"侦听"** 选项卡 > - 勾选 **"侦听此设备"**,并在下方选择您的耳机/音箱 > - 这样翻译语音会同时路由到直播软件和您的耳机 --- ## 🎯 直播场景联动配置 ### 场景一:搭配 OBS Studio 直播 > OBS 下载:https://obsproject.com/ 1. **安装 VB-CABLE**(同上教程) 2. **在 OBS 中添加音频源** - 打开 OBS → **设置** → **音频** - **桌面音频**:选择您的默认播放设备(保持游戏/背景音乐) - **麦克风/辅助音频②**:选择 **"CABLE Output"**(接收翻译语音) 3. **启动同声传译工具** - 输出设备选择 **"CABLE Input"** - 点击 **"开始翻译"** 4. **OBS 音量调节** - 在 OBS 音频混音器中调整各轨道音量平衡 - 观众将听到:原直播间声音 + 翻译后的语音 ### 场景二:搭配抖音直播伴侣 1. **安装 VB-CABLE**(同上教程) 2. **音频设置** - 打开抖音直播伴侣 → **设置** → **音频设置** - **麦克风设备**:选择 **"CABLE Output"** 3. **启动同声传译工具** - 输出设备选择 **"CABLE Input"** - 点击 **"开始翻译"** 4. 观众将听到您的原声经过翻译后的语音 ### 场景三:耳机监听翻译语音(不打扰直播间) 如果您希望自己在耳机中听到翻译语音,但不想让直播间的观众听到翻译过程: 1. 在声音控制面板 → **录制** → 右键 **"CABLE Output"** → **属性** → **侦听** 2. 勾选 **"侦听此设备"**,选择您的 **耳机** 3. 这样翻译语音只在您的耳机中播放,直播间不受影响 ### 音频路由示意图 ``` ┌─────────────────┐ 翻译语音 ┌──────────────┐ 观众听到 │ 同声传译工具 │ ──────────────→ │ CABLE Input │ ──────────→ ├── 翻译语音 │ (输出: CABLE │ │ (虚拟输入) │ │ │ Input) │ │ ↓ │ │ └─────────────────┘ │ CABLE Output │ │ │ (虚拟输出) │ │ └──────┬───────┘ │ │ │ ┌──────▼───────┐ │ │ 直播软件 │ │ │ (OBS/抖音伴 │ │ │ 侣等) │ ──────────────┘ │ 麦克风输入 │ └──────────────┘ ``` --- ## ⚙️ 配置说明 设置文件自动保存在 `%APPDATA%\SimultaneousInterpretation\settings.json` | 配置项 | 类型 | 默认值 | 说明 | |--------|------|--------|------| | `ApiKey` | string | `""` | 火山引擎语音同声传译 API 密钥 | | `ApiResourceId` | string | `volc.service_type.10053` | 火山引擎语音同声传译资源 ID | | `InputDeviceName` | string | `""` | 麦克风设备名称 | | `OutputDeviceName` | string | `""` | 扬声器设备名称 | | `SourceLanguage` | string | `zh` | 源语言代码 | | `TargetLanguage` | string | `en` | 目标语言代码 | | `Mode` | string | `s2s` | 翻译模式:`s2s`(语音转语音) / `s2t`(语音转文本) | | `SpeakerId` | string | `""` | TTS 音色 ID | | `SpeechRate` | int | `0` | TTS 语速调整 | | `TargetAudioFormat` | string | `pcm` | 输出格式:`pcm` / `ogg_opus` | | `CaptureIntervalMs` | int | `80` | 音频采集间隔(ms) | --- ## 🌐 支持语言 | 语言代码 | 显示名称 | 语言代码 | 显示名称 | |----------|----------|----------|----------| | `zh` | 中文 | `en` | 英文 | | `de` | 德语 | `fr` | 法语 | | `es` | 西班牙语 | `id` | 印尼语 | | `ja` | 日语 | `pt` | 葡萄牙语 | | `ko` | 韩语 | `tr` | 土耳其语 | | `ms` | 马来语 | `nl` | 荷兰语 | | `ro` | 罗马尼亚语 | `pl` | 波兰语 | | `cs` | 捷克语 | `ar` | 阿拉伯语 | | `th` | 泰语 | `vi` | 越南语 | | `ru` | 俄语 | `it` | 意大利语 | | `yue-CN` | 粤语 | `sh-CN` | 上海话 | --- ## 🛠️ 技术栈 - **语言框架**:C# / .NET 8 (WPF) - **架构模式**:MVVM (Model-View-ViewModel) - **音频处理**:[NAudio](https://github.com/naudio/NAudio) 2.2.1 - **音频编解码**:[Concentus](https://github.com/lostromb/concentus) (Opus) 2.2.2 - **序列化**:[Google.Protobuf](https://protobuf.dev/) 3.28.0 - **云服务**:火山引擎语音同声传译 API - **通信协议**:WebSocket + Protobuf - **虚拟音频**:VB-CABLE Virtual Audio Cable --- ## 📥 下载与发布 ### 最新版本 > **v1.0.0** — 初始版本 下载地址:https://gitee.com/mygule/SimultaneousInterpretation/releases 包含文件: - `SimultaneousInterpretation.exe` — 单文件独立运行程序(含 .NET 8 运行时及所有依赖) ### 源码仓库 > Git 仓库:https://gitee.com/mygule/SimultaneousInterpretation --- ## ❓ 常见问题 ### Q: 启动时提示缺少运行时怎么办? A: 请使用最新发布的独立运行版本(v1.0.0+),已内置 .NET 8 运行时,无需额外安装。直接解压运行 `SimultaneousInterpretation.exe` 即可。 ### Q: 为什么听不到翻译语音? A: 检查以下项: 1. 翻译模式是否为 **S2S**(语音转语音) 2. 输出设备是否正确选择(非直播场景选音箱/耳机) 3. 系统音量是否正常 4. API 密钥是否配置正确 ### Q: 直播时观众听不到翻译语音? A: 请确认: 1. VB-CABLE 驱动已正确安装 2. 本工具输出设备选择 **"CABLE Input"** 3. 直播软件麦克风输入选择 **"CABLE Output"** 4. 直播软件中该音频源未被静音 ### Q: 翻译延迟大怎么办? A: 默认 80ms 采集间隔已是最优配置。延迟主要受网络质量影响,建议使用有线网络。 ### Q: API 调用失败或返回错误? A: 首先确认: 1. API Key 和 Resource ID 填写正确 2. 火山引擎账户余额充足或试用额度未用完 3. 同声传译服务已开通 4. 如需帮助,请查阅 [火山引擎语音同声传译文档](https://www.volcengine.com/docs/6564) ### Q: 如何获取帮助或反馈问题? A: 请前往 [Gitee Issues](https://gitee.com/mygule/SimultaneousInterpretation/issues) 提交反馈。 --- ## 📄 许可证 本项目仅供个人学习与研究使用。使用火山引擎语音同声传译服务请遵守火山引擎相关服务条款。 --- > **相关链接汇总** > > | 资源 | 链接 | > |------|------| > | 本工具下载 | https://gitee.com/mygule/SimultaneousInterpretation/releases | > | 🌟 **同声传译体验页** | **https://console.volcengine.com/speech/new/experience/translate?projectName=default** | > | 火山引擎官网 | https://www.volcengine.com/ | > | 火山引擎语音服务控制台 | https://console.volcengine.com/speech/ | > | 火山引擎 API 密钥管理 | https://console.volcengine.com/iam/keymanagement/ | > | VB-CABLE 下载 | https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack45.zip | > | VB-Audio 官网 | https://vb-audio.com/Cable/ | > | OBS Studio 下载 | https://obsproject.com/ |