#
TTS(文本转语音)
SillyTavern 有多种 TTS 选项。本页面将解释其设置和使用方法。
#
这是什么?
TTS 用于为聊天的部分内容添加语音叙述。
#
配置 TTS
#
TTS 提供商选择框
用于选择您想使用的 TTS 服务。
- ElevenLabs - 需要付费订阅,目前提供最高质量的语音。
- Silero - 免费,在您的电脑上运行,质量可能差异很大。
- System - 使用您操作系统的 TTS 引擎(如果存在)。质量可能因操作系统而异。
- Edge - 免费,通过 Azure 运行,通常速度很快,语音自然但缺乏情感。像听晚间新闻或电台播音员。当选择"Plugin"作为提供商时,您还需要安装此服务器插件,否则 TTS 将无法工作。
- Coqui-TTS - 免费,目前没有 API 实现。高性能文本转语音模型(Tacotron、Tacotron2、Glow-TTS、SpeedySpeech)以及 Bark。
- Novel - 需要 NovelAI 付费订阅,由 NovelAI 的 TTS 引擎生成。
- RVC - 免费,语音克隆。
#
复选框
- 启用 - 开启/关闭 TTS 播放
- 自动生成 - 允许 TTS 在新消息进入聊天时自动开始播放
- 仅叙述"引号内容" - 将 TTS 播放限制为仅包含
"引号"
内的文本。这将包括*星号内的"引号"*
(内部变量名 =narrate_quoted_only
) - 忽略*星号内的文本,即使是"引号"内容* - TTS 不会播放任何
*星号*
内的文本,即使是"引号"内容(内部变量名 =narrate_dialogues_only
) - 同时勾选"仅叙述引号内容"和"忽略星号"复选框将导致 TTS 只读取不在星号内的"引号"内容,并忽略其他所有内容。
- 仅叙述翻译后的文本 - 这将使 TTS 只叙述翻译后的文本。
给定示例文本:*Cohee approaches you with a faint "nya"* "Good evening, senpai", she says.
下表显示了基于**忽略*星号内的文本,即使是"引号"内容*和仅叙述"引号内容"**的布尔状态,文本将如何修改:
#
滑块
这些将根据您选择的 API 而改变。
(解释即将推出)
#
按钮
- 应用 - 设置 TTS API 后和编辑语音映射后必须点击此按钮。
- 可用语音 - 加载一个弹出窗口,显示所选 API 的所有可用语音,并让您通过示例对话预览它们。
#
使用 TTS
- 点击"启用"复选框,否则什么都不会发生。
- 如果您希望每次聊天中出现新消息时 TTS 自动开始,请点击"自动生成"复选框。
- 可选择点击任何消息右上角的扬声器图标,按需播放。
- 点击右下角的"停止"按钮(在魔杖菜单内)以停止任何播放。
#
语音映射
您必须为 TTS 提供语音映射,否则它不知道应该为每个角色使用什么语音。
这些必须按照以下格式精确设置:
角色名:TTS语音,角色名2:TTS语音2
对于 Coqui-TTS,格式需要包含来自 WebGUI 的说话者和语言:
角色名:TTS语音[说话者id][语言id]
或
Aqua:tts_models--multilingual--multi-dataset--your_tts\model_file.pth[2][1]
#
Bark 零样本语音克隆说话者
如果使用 Bark,您必须创建一个带有要克隆的语音文件的语音文件夹。确保将语音添加到 homedir\tts\bark_v0\speakers\。在 Windows 上,可能是 C:\Users\用户账户\AppData\Local\tts\bark_v0\speakers\,在 Windows 资源管理器中输入 %appdata% 然后向上一级目录到 local,您应该能看到 tts。
目录结构应如下所示:
- homedir
- tts
- bark_v0
- speakers
- customvoice1
- speaker.wav
- speaker.npz
- robinwilliams
- speaker.mp3
- me
- speaker.mp3
- customvoice1
- speakers
- bark_v0
- tts
首次加载此模型和语音时,bark 将克隆语音并创建一个 .npz 文件,这是为了更快的 TTS 所需的。