🎧 x-audio 朗读助手
x-audio 朗读助手 是一款采用可插拔 TTS 渠道架构的语音朗读扩展:
✨ 功能特性
🚀 快速开始
📖 使用教程🎙️ 普通朗读
👥 分角色朗读(小说 / 对白)
🎬 豆包音频场景(Seed-Audio 1.0)选中一段场景描述 Prompt,右键 → 「用豆包生成音频场景」,单次请求端到端生成多角色对白、语气情绪、音效与背景音乐:
🤖 与 Copilot 一起使用
⚙️ 命令
🔧 设置通过 VS Code 设置面板调整(
通用设置(
|
| 设置 | 说明 | 默认值 |
|---|---|---|
provider |
[通用] 语音合成渠道 | minimax |
cacheEnabled |
[通用] 启用音频缓存 | true |
maxTextLength |
[通用] 单次请求最大字符数 | 10000 |
requestTimeoutMs |
[通用] 请求超时(毫秒) | 60000 |
maxConcurrentRequests |
[分角色] 多角色合成最大并发请求数(1~8) | 3 |
browserPath |
[通用] 外部播放器浏览器路径 | — |
roleAnalysis.* |
[分角色] 角色分析配置(DeepSeek/Copilot) | — |
MiniMax 渠道设置(xaudio.minimax.*)
| 设置 | 说明 | 默认值 |
|---|---|---|
apiHost |
[MiniMax] API 地址 | https://api.minimax.io |
model |
[MiniMax] 语音模型 | speech-2.8-turbo |
voiceId |
[MiniMax][普通朗读] 默认音色 ID | English_expressive_narrator |
speed |
[MiniMax] 默认语速(0.5~2.0) | 1 |
pitch |
[MiniMax] 默认语调偏移(-12~12) | 0 |
vol |
[MiniMax] 默认音量倍率(0.1~10) | 1 |
roleVoices |
[MiniMax][分角色] 角色类型默认音色 | — |
format |
[MiniMax] 输出音频格式 | mp3 |
豆包音频场景设置(xaudio.doubao.*)
| 设置 | 说明 | 默认值 |
|---|---|---|
apiHost |
[豆包][音频场景] API 地址 | https://openspeech.bytedance.com |
model |
[豆包][音频场景] 音频生成模型 | seed-audio-1.0 |
speechRate |
[豆包][音频场景] 语速偏移(-50~100,100 为 2.0 倍速) | 0 |
loudnessRate |
[豆包][音频场景] 音量偏移(格式同 speechRate) | 0 |
pitchRate |
[豆包][音频场景] 音调偏移(-12~12) | 0 |
format |
[豆包][音频场景] 输出音频格式 | mp3 |
注意:音频场景为纯 Prompt 生成模式(不指定音色),Prompt 上限 3000 字符、单次输出最长 120 秒。
📄 角色音色配置文件 .ttsvoices.json
在项目目录下创建 .ttsvoices.json,可为角色指定音色和语音参数(优先级高于 LLM 分析结果):
{
"张三": { "voiceId": "male-qingse", "speed": 1.2, "pitch": 2 },
"李四": { "speed": 0.9 },
"王五": "male-qingse",
"@roleVoices": {
"narrator": { "voiceId": "audiobook_female_1", "speed": 0.9 },
"elderly": { "pitch": -3 }
}
}
- 字符串值 — 指定角色音色 ID
- 对象值 — 可同时指定
voiceId、speed(0.5~2.0)、pitch(-12~12)、vol(0.1~10) @roleVoices— 按角色类型(narrator/male/female/girl/boy/child/elderly)指定音色和参数- 参数优先级:角色名 > 角色类型 > LLM 分析值
- 配置文件向上查找,最近的生效
❓ 常见问题
Q: 点击朗读后没有声音?
外部播放器依赖本机 Chromium 内核浏览器(Chrome / Edge 等)。若未检测到,会提示手动播放;也可通过 xaudio.browserPath 指定浏览器路径。
Q: 分角色朗读需要额外配置吗? 需要。运行 「配置角色分析」 选择 AI 来源:Copilot 内置模型,或 OpenAI 兼容接口(如 DeepSeek,需相应 API 密钥)。
Q: 豆包音频场景和普通朗读有什么区别? 两者完全隔离。普通朗读按句拆分、逐段合成并带缓存;豆包场景把整段文本当作一条 Prompt 端到端生成,适合带角色、情绪、音效和背景音乐的完整场景,不适合超长文本。
Q: 朗读会消耗什么?
普通朗读消耗 MiniMax 语音订阅额度;豆包场景消耗火山引擎额度。开启 xaudio.cacheEnabled 可让相同文本复用已合成音频。
📝 已知问题
- 外部播放器依赖本机 Chromium 内核浏览器;未检测到支持的浏览器时会提示手动播放。
- 豆包音频场景为整段 Prompt 端到端生成,不适合超长文本逐句朗读。
🧾 更新日志
详见 CHANGELOG.md。
🤝 支持与反馈
- 遇到问题?前往 GitHub Issues 反馈
- 项目地址:Cameliorn/x-audio
Enjoy! 🎧