TwitchTTSBot

VC/VC++ 2025-08-08

TwitchTTSBot

Twitch机器人以自定义训练的声音读取点赎回。

检查我的TTS要点上的结果。

跑步

一旦完成了依赖项的所有步骤,就可以运行机器人。

要运行机器人,您必须先运行(在tts Conda环境中) cd rvc-tts-webui && python3 app.py ,然后(同时) cd TwitchTTSBot && python3 bot.py检查services文件夹中的读数文件,以在每个启动时自动运行这些步骤。

该机器人将启动网站http://127.0.***0.1:7890/?token = admin(或https://127.**0.*0.1:7890/?token = admin,如果您有安全证书)。可以在配置文件中更改auth令牌;默认情况下它是admin

依赖性

Anaconda

  • 安装Anaconda
  • 创建conda环境: conda create -n tts python=3.9 ,然后用conda activate tts激活它
  • 安装Pytorch(如果要使用GPU): conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia -y

基于RVC的TTS

安装
  • 安装ffmpeg
  • 获取回购: git clone https://**github.c*om/litagin02/rvc-tts-webui.git && cd rvc-tts-webui
  • 下载型号: curl -L -O https://h*ugg*in*gface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt ; curl -L -O https://h*uggin*gfa*ce.co/lj1995/VoiceConversionWebUI/resolve/main/rmvpe.pt
  • 安装依赖项: python3 -m pip install -r requirements.txt
  • 安装更多依赖项,以便机器人可以称呼它: python3 -m pip install gradio-client==0.5.1

如果安装增加了Failed building wheel for pyworld ,请运行python3 -m pip install numpy pyworld --no-build-isolation

获取模型
  • 训练RVC型号
  • app.py中设置logs路径( <RVC path>/logs model_root
  • 将所需扬声器的最新.pth文件从<RVC path>/weights复制到<RVC path>/logs/<speaker>

Pythontwitchbotframework

安装
  • 运行python3 -m pip install PythonTwitchBotFramework==2.11.5
  • 对于机器人依赖性,运行python3 -m pip install pypeln==0.4.9
创建抽搐机器人
  • 创建一个抽搐帐户,用作机器人
  • 创建一个新应用。 http://localh*o*s*t名称, Loyalty Tool设置为类别,(如果您不想使用)
  • 为了获得OAuth令牌,必须输入登录链接(在Bot帐户中登录时) ,并允许它。要生成登录链接下载https://git*h**ub.com/sharkbound/PythonTwitchBotFramework/blob/master/util/token_utils.py and run print(generate_irc_oauth('<app id>', 'http://localh*o*s*t')) 。一旦允许它,您将被重定向到localhost ;您必须在URL中复制access_token获取参数(这是OAuth令牌)。

注意:几个月后,令牌将到期,您必须重新运行最后一步并更新Oauth令牌。

设置流Twitch帐户
  • 在所需的频道中登录时,允许以下链接: https://id.t**wi*tch.tv/oauth2/authorize?response_type=token&client_id=<app id>&redirect_uri=http://localh*o*s*t&scope=channel%3Aread%3Aredemptions ;一旦允许它,您将被重定向到localhost ;您必须在URL中复制access_token获取参数(这是PubSub令牌)。
  • 添加自定义文本奖励兑换
配置设置

您第一次运行脚本时会提出令牌异常,并会生成一些配置文件。

您必须编辑config.json

  • 删除command_whitelist中的所有命令;仅留下"command_whitelist": []
  • channels中设置所需的频道
  • 将机器人名称设置在nickowner
  • 在新条目中设置所需的秘密密钥: "secret": "admin" 。音频播放器需要这是需要的,因为您必须输入localhost:7890?token=<secret>
  • 在新条目中设置所需的兑换名称: "redeem": "Custom TTS"
  • client_id中设置应用程序ID
  • "oauth": "oauth:<token>"
  • 将PubSub令牌设置在新条目中: "pubsub": "<token>"
  • 在新条目中设置RVC-based TTS模型名称;您还可以为每种型号设置pitch-shift条目的音高变化:
 "voices": {
    "<model name>": {
        "name": "<model name>",
        "voice": "en-US-AriaNeural-Female"
    }
}

可选的其他属性:

  • 您可以通过设置"input_limit": 450
  • 您可以通过设置"segments_limit": 12添加段限制。注意:一个细分市场是模型的一个更改或播放声音。
  • 要添加要替换的声音,您必须添加一个audios文件夹,然后将.Wav放在那里;然后在每个音频中创建一个新的audios条目,
 "audios": {
    "[bruh]": { "files": [ "bruh.wav" ] },
    "[brah]": { "alias": "[bruh]" }
}

网站音频播放器

安装
  • 运行python3 -m pip install Flask-SocketIO==4.3.1 python-engineio==3.13.2 python-socketio==4.6.0
[可选]生成SSL凭据

如果您想与OBS安全地使用此程序(使用HTTPS),则需要安全证书。注意:为了获得安全证书,您需要以您的名字域中的域,其中IP指向您启动TwitchTTSBot服务器。如果您没有这样的东西,请忽略本节,并使用HTTP使用网站。

遵循Certbot说明中显示的步骤,然后每隔几个月续订每隔几个月的sudo certbot renew --force-renewal ;您必须将privkey.pem cert.pemaudio-server/key.pem audio-server/server.pem键。

注意:您可能必须在路由器上打开端口80才能获得CERTBOT认证。

运行测试

如果您想尝试测试,请启动app.py ,然后在TwitchTTSBot文件夹中以及启用tts环境中,运行python3 tests.py

下载源码

通过命令行克隆项目:

git clone https://github.com/miranda1000/TwitchTTSBot.git