该项目受到shioridotdev的启发,利用VoiceVox Engine、DeepL、Whisper OpenAI、Seliro TTS和VtubeStudio等多种技术来创建一个AI waifu虚拟YouTuber。
v3.5 现在还支持 Twitch Streamer
v3.0 现在不仅支持使用 VoiceVox 的日语 TTS。但还支持 RU(俄语)、EN(英语)、DE(德语)、ES(西班牙语)、FR(法语)、TT(鞑靼语)、UA(乌克兰语)、UZ(乌兹别克语)、XAL(卡尔梅克语)的 TTS,印度语(印地语),使用 Seliro TTS。将 run.py
上的 voicevox_tts
更改为 seliro_tts
,了解如何使用 Seliro TTS 的详细信息
安装
- 安装依赖项
pip install -r requirements.txt
2. 创建 config.py 并存储您的 Openai API 密钥
api_key = 'yourapikey'
3.更改所有者名称
owner_name = "Ardha"
如果您想将其用于直播,请创建一个您想要在 run.py
上列入黑名单的用户列表
blacklist = ["Nightbot", "streamelements"]
4.改变你的助手的传说或身份。更改 characterConfig\Pina\identity.txt
处的 txt 文件
5. 如果您想在 Twitch 上进行直播,您需要更改 utils/twitch_config.py
处的配置文件。从这里获取您的令牌。您的令牌应类似于 oauth:43rip6j6fgio8n5xly1oum1lph8ikl1 (本教程中为假)。更改配置文件后,可以使用Mode – 3启动程序
server = 'irc.chat.twitch.tv'
port = 6667
nickname = 'testing' # You don't need to change this
token = 'oauth:43rip6j6fgio8n5xly1oum1lph8ikl1' # get it from https://twitchapps.com/tmi/.
user = 'ardha27' # Your Twitch username
channel = '#aikohound' # The channel you want to retrieve messages from
6. 选择您要使用的 TTS: VoiceVox
或 Silero
。取消注释和注释以在它们之间切换
Choose between the available TTS engines
Japanese TTS
voicevox_tts(tts)
# Silero TTS, Silero TTS can generate English, Russian, French, Hindi, Spanish, German, etc. Uncomment the line below. Make sure the input is in that language
"en", "v3_en", "en_21") silero_tts(tts_en,
如果您想使用VoiceVox,您需要先运行VoiceVox Engine。您可以使用 VoiceVox Docker 在本地运行它们,也可以使用 VoiceVox Colab 在 Google Colab 上运行它们。如果您使用 Colab,请使用从 Colab 获得的链接更改 utils\TTS.py
上的 voicevox_url
。
voicevox_url = 'http://localhost:50021'
如果您想查看 VoiceVox 的语音列表,您可以检查此 VoiceVox 并在 speaker.json
上查看扬声器 id,然后在 utils/TTS.py
上更改它。对于 Seliro 语音示例,您可以查看此 Seliro 示例
7. 根据您的用例选择要使用的翻译器(如果您需要翻译答案,则可选)。选择谷歌翻译或 deeplx。如果您想使用 VoiceVox
,您需要将答案转换为日语,因为 VoiceVox 只接受日语输入。OpenAI 的语言答案将取决于您的助手传说语言 characterConfig\Pina\identity.txt
和输入语言
tts = translate_deeplx(text, f"{detect}", "JA")
tts = translate_google(text, f"{detect}", "JA")
DeepLx
是 DeepL
的免费版本(无需 API 密钥)。你可以在docker上运行Deeplx,或者如果你想使用普通版本的deepl,你可以在 utils\translate.py
上创建该功能。我使用 DeepLx
,因为我无法在我的国家/地区注册 DeepL
。 DeepL
的翻译结果比 Google 翻译更准确、更随意。但如果你想要简单的方法,只需使用谷歌翻译即可。
8. 如果您想使用程序的音频输出作为 Vtubestudio
的输入。您需要使用 Virtual Cable
捕获桌面音频并将其用作 VtubeStudio 麦克风的输入。
9. 如果您打算使用此程序进行直播,请使用 chat.txt
和 output.txt
作为 OBS 文本上的实时字幕/字幕的输入
项目链接
https://github.com/ardha27/AI-Waifu-Vtuber