#
带语音克隆的 XTTS
您好!所以您被那些展示 AI 文本转语音技术发展有多远的 Reddit 帖子震惊了吗?
感到兴奋,想给您的机器人妻子/丈夫一个新的闪亮语音调制器?
别担心,这个惊人的突破性技术已经在您本地的 SillyTavern 中可用,您只需要一个简单的...
#
先决条件
- 最新版本的 SillyTavern。
- 安装了 Miniconda。
- (Windows) 安装了 Visual C++ Build Tools。
- 用于克隆的语音片段 WAV 文件(每个文件约 10 秒)。文件要求:PCM、单声道、22050Hz、16 位(通过 Audacity 转换)。
- 创建一个包含"speakers"和"output"子文件夹的文件夹。将 WAV 文件放入"speakers"中。
示例文件夹结构:
C:\xtts
- speakers
- alice.wav
- bob.wav
- output
#
安装
daswer123 制作了一个 API 服务器,在您的计算机上运行 XTTSv2 模型并连接到 SillyTavern 的 TTS 扩展。
它完全独立于 Extras API,并将使用单独的环境。
非常重要: 不要将以下要求安装到您的 Extras 环境或系统 Python 中。 这会破坏您的其他软件包,进行不必要的降级等。
以下说明使用 Miniconda 提供,但您也可以使用 venv(此处未涵盖)。 打开 Anaconda 命令提示符并逐行按照说明操作。
#
启动并运行服务器
导航到您在先决条件步骤 4 中创建的文件夹。
cd C:\xtts创建一个新的 conda 环境。从现在开始,我们称之为
xtts。conda create -n xtts激活新创建的环境。
conda activate xtts将 Python 3.10 安装到您的环境中。出现提示时用"y"确认。
conda install python=3.10安装 XTTS 服务器及其要求。
pip install xtts-api-server pydub安装 PyTorch。这可能需要一些时间。以下行安装支持 GPU 加速(CUDA)的 PyTorch。 如果您只想使用 CPU 推理,请删除以
--index-url开头的最后一部分。pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118在默认主机和端口上启动 XTTS 服务器:http://localhost:8020
python -m xtts_api_server在您的第一次启动期间,将下载模型(约 ~2 GB)。 不要忘记非常仔细地阅读 Coqui AI 的法律声明。哈哈,我在开玩笑,再次点击"y"。
#
连接到 SillyTavern
- 打开扩展面板,展开 TTS 菜单,并在提供商列表中选择"XTTSv2"。
- 在语言下拉列表中选择您的文本转语音语言(如果不是波兰语我会很伤心)。
- 验证提供商端点指向 http://localhost:8020,并且"可用声音"显示您的语音样本列表。
- 选择任何角色并设置语音样本和角色之间的映射。 如果角色列表为空,请点击"重新加载"几次。
- 根据您的偏好配置其余的 TTS 设置。
#
现在您都设置好了!
点击任何消息的上下文操作菜单中的喇叭图标,听听从扬声器发出的美丽克隆声音。生成需要一些时间,即使在高端 RTX GPU 上也不是实时的。
#
流式传输?
可以使用最新版本的 XTTS 服务器进行 HTTP 流式传输,以便在生成的音频可用时立即获取其块!
#
这不适用于 RVC!
音频仍将被生成(假设您使用的是最新版本的 RVC 扩展)并转换,但不会流式传输,因为 RVC 需要在开始转换之前拥有完整的音频文件。流式 RVC 仍在研究中...
#
如何获得流式传输支持?
- 将 SillyTavern 更新到最新版本。
将 XTTS 服务器更新到最新版本。
conda activate xtts pip install xtts-api-server --upgrade- 像往常一样启动并将 XTTS 连接到 ST。
- 在 SillyTavern 中启用"流式传输"XTTS 扩展设置。
#
音频断断续续?
尝试增加"块大小"设置。
参考:块大小为 200 时,RTX 3090 可以以略微增加音频延迟为代价产生不间断的音频。
#
如何重新启动 TTS 服务器?
只需按照安装说明中的步骤 1、3 和 7 进行操作。
#
Android??
不太可能,它无法运行需要 PyTorch 的应用程序,除非我们提供一些我们不支持的神秘黑魔法。您可以自行尝试,但如果您遇到任何问题,将不提供支持。
您最好的解决方案是在本地网络上将 TTS API 托管在您的 PC 上,只是不要忘记指定要监听的主机和端口 - 参见 README。