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>/logsmodel_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.pyand runprint(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中设置所需的频道 - 将机器人名称设置在
nick和owner中 - 在新条目中设置所需的秘密密钥:
\"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.pem到audio-server/key.pem audio-server/server.pem键。
注意:您可能必须在路由器上打开端口80才能获得CERTBOT认证。
运行测试
如果您想尝试测试,请启动app.py ,然后在TwitchTTSBot文件夹中以及启用tts环境中,运行python3 tests.py
