文本转语音

SillyTavern 提供了丰富的 TTS(文本转语音)选项,可用于让语音朗读聊天中的部分内容。本页介绍其配置与使用方法。

配置 TTS

TTS 提供商选择

用于选择你想要使用的 TTS 服务。其中一些选项免费,一些需要付费订阅,还有一些可在你的 PC 上本地运行。

可用选项(列表可能会随时间变化):

  • AllTalk - 免费、开源的本地安装方案,提供多种 TTS 引擎。设置说明请参阅 AllTalk 页面。
  • Azure TTS - 与 Microsoft Edge 相同的语音。需要 Azure 账户和付费订阅。
  • Coqui-TTS(已弃用)- 免费,需要 Extras API 才能运行。包含高性能的 Text2Speech 模型(Tacotron、Tacotron2、Glow-TTS、SpeedySpeech)以及 Bark。
  • Edge - 免费,通过 Azure 运行。当在提供商中选择“Plugin”运行时,还需安装此服务器插件。另一个选项需要 Extras API(已弃用)才能运行。
  • Electron Hub - 复用你的 Electron Hub API 密钥来访问云端语音(GPT-4o Mini TTS、Microsoft 神经语音等),并支持按模型控制。
  • ElevenLabs - 需要付费订阅。请从 ElevenLabs 获取 API 密钥。
  • Google Translate - 由 Google 提供的免费语音,每种语言各一个,质量差异较大。
  • Google Gemini TTS - 需要从 Vertex AIAI Studio 获取 API 密钥,使用 Gemini TTS 模型。
  • Kokoro - 免费,使用 kokoro.js 在你的浏览器中本地运行模型。不过,某些浏览器在该设备选项下可能不支持 WebGPU。
  • MiniMax - 需要从 MiniMax 获取 API 密钥。设置说明请参阅 MiniMax TTS 页面。
  • Novel - 需要付费的 NovelAI 订阅,由 NovelAI 的 TTS 引擎生成。
  • OpenAI - 需要付费的 API 密钥,使用 OpenAI 的 TTS 模型。
  • Pollinations - 免费访问 OpenAI TTS 模型,但存在速率限制。官网
  • Silero - 免费,在你的 PC 上运行,质量差异较大。需要安装专用 API 服务器或使用 Extras API(已弃用)。
  • System - 如果存在的话,使用你操作系统的 TTS 引擎。质量因操作系统而异。
  • XTTS - 免费,需要安装专用 API 服务器。设置说明请参阅 XTTS 页面。

复选框

  • Enabled - 打开/关闭 TTS 播放
  • Auto Generation - 让 TTS 在新消息进入聊天时自动开始播放
  • Only narrate "quotes" - 将 TTS 播放限制为仅包含 "引号" 内的文本。这会 *包含星号行内的 "quotes"*(内部变量名 = narrate_quoted_only
  • Ignore *text, even "quotes", inside asterisks* - TTS 不会播放 *星号* 内的任何文本,即使其中包含 "quotes"(内部变量名 = narrate_dialogues_only
  • 同时勾选“仅朗读引号”和“忽略星号”复选框会导致 TTS 仅朗读不在星号内的 "quotes",并忽略其余所有内容。
  • Narrate only the translated text - 这会让 TTS 仅朗读翻译后的文本。
  • Apply regex - 在将文本发送给 TTS 提供商之前,对其应用提供的正则表达式。可用于从输入文本中移除不需要的部分,例如 TTS 引擎处理不佳的 emoji 或非母语字符。

给定示例文本:*Cohee approaches you with a faint "nya"* "Good evening, senpai", she says. 下表展示了该文本在 Ignore *text, even "quotes", inside asterisks*Only narrate "quotes" 不同布尔状态组合下会如何被修改:

Ignore *text, even "quotes", inside asterisks* Only narrate "quotes" Output
Disabled Disabled Cohee approaches you with a faint "nya" "Good evening, senpai", she says.
Disabled Enabled "nya"... "Good evening, senpai"
Enabled Disabled "Good evening, senpai", she says.
Enabled Enabled "Good evening, senpai"

滑块

这些会根据你选择的 API 而变化。

按钮

  • Apply - 在设置 TTS API 以及编辑语音映射之后必须点击此按钮。
  • Refresh - 从所选 TTS API 重新加载语音列表。
  • Available voices - 加载一个弹出窗口,显示所选 API 可用的所有语音,并允许你用示例对话进行预览。

使用 TTS

  1. 勾选 “Enable” 复选框,否则什么都不会发生。
  2. 如果你希望每次聊天中出现新消息时 TTS 都自动开始播放,请勾选 “Auto-generation” 复选框。
  3. 可选:点击任意消息右上角的扩音器图标,按需播放。
  4. 点击右下方的 “Stop” 按钮(位于魔法棒菜单内)可停止任何播放。

语音映射

你必须提供一个供 TTS 使用的语音映射,否则它将不知道为每个角色使用哪种语音。要设置语音映射,首先打开一个你想为其分配语音的角色的聊天,并且/或者选择一个要为其分配语音的用户人格,然后从下拉列表中选择某个 TTS 提供商列出的语音。如果你没有看到语音和/或角色列表,请确保你的 TTS 提供商已正确配置,并点击 “Refresh”。某些提供商(如 OpenAI-compatible 或 NovelAI)需要你手动填充语音列表。