AI-Waifu-Vtuber

GitHub
1.1k 171 较难 1 次阅读 今天音频
AI 解读 由 AI 自动生成,仅供参考

AI-Waifu-Vtuber 是一款专为 YouTube 和 Twitch 主播打造的开源虚拟助手工具,能帮助用户轻松创建拥有独立人格的"AI 女友”式虚拟主播。它解决了传统直播中互动单一、多语言支持不足以及实时响应滞后等痛点,让虚拟形象不仅能实时听懂观众留言,还能用自然流畅的多国语言进行语音回复,大幅提升直播间的互动趣味性与沉浸感。

该项目非常适合具备一定编程基础的开发者、技术爱好者或希望尝试自动化直播内容的创作者使用。用户只需简单配置 API 密钥和角色设定文件,即可快速部署属于自己的虚拟主播。其核心技术亮点在于灵活集成了多种先进模型:利用 OpenAI Whisper 实现高精度的实时语音转文字,通过 DeepL 完成跨语言翻译,并支持 VoiceVox(日语)与 Silero TTS(英、俄、法、西、德等多语种)两种语音合成引擎,让用户可根据需求自由切换。此外,它还完美兼容 VTubeStudio 进行面部驱动,并针对 Twitch 平台做了专门的聊天机器人适配,是构建个性化多语言虚拟直播间的理想选择。

使用场景

一位独立游戏开发者希望在 Twitch 上进行多语言直播,向全球观众展示新作,但受限于语言能力无法实时与英语、俄语及西班牙语观众互动。

没有 AI-Waifu-Vtuber 时

  • 主播只能依靠有限的英语能力回应弹幕,面对俄语或西班牙语提问时往往选择忽略,导致大量海外观众流失。
  • 为了维持直播氛围,必须全程高度集中精神阅读并回复评论,无法专注于游戏操作或剧情讲解,直播效果大打折扣。
  • 若想实现多语言支持,需雇佣多名人工翻译或使用割裂的翻译软件,不仅成本高昂且延迟严重,互动体验支离破碎。
  • 虚拟形象(Live2D)缺乏自动驱动,主播需手动调整表情和口型,难以在激烈游戏过程中保持生动的“皮套”表现力。

使用 AI-Waifu-Vtuber 后

  • 集成 Seliro TTS 与 Whisper 模型后,工具能自动识别英、俄、西等多国语言弹幕,并用对应语言的拟人化语音实时回复,打破语言壁垒。
  • AI 助手自动接管弹幕读取、翻译及回复流程,主播可全神贯注于游戏演示,同时由虚拟角色以自然语调与观众闲聊,提升直播观赏性。
  • 无需额外人力成本,通过配置 DeepLX 和本地 TTS 引擎,即可零延迟实现全自动多语言互译,让单人主播拥有国际化团队般的响应能力。
  • 联动 VTubeStudio 实现语音驱动口型与表情,当 AI 回答观众问题时,虚拟形象会同步做出自然的口型和神态变化,极大增强沉浸感。

AI-Waifu-Vtuber 将单一语言的个人直播瞬间升级为具备多语言实时交互能力的全球化虚拟演播室,让创作者真正专注于内容本身。

运行环境要求

操作系统
  • Windows
  • Linux
  • macOS
GPU

未说明 (主要依赖外部服务如 VoiceVox Docker/Colab 和 OpenAI API,本地 Silero TTS 通常仅需 CPU)

内存

未说明

依赖
notes1. 核心功能依赖外部服务:语音合成需自行部署 VoiceVox (推荐 Docker) 或使用 Google Colab,或使用 Silero TTS;翻译可使用免费的 DeepLX (需自行部署) 或 Google Translate;语音识别使用 OpenAI Whisper API。2. 虚拟主播动效需配合 VTubeStudio 软件使用。3. 直播推流需配置 Twitch OAuth Token。4. 音频路由需安装 VB-Cable 虚拟声卡将程序输出映射到 VTubeStudio 输入。5. 若遇到 Mecab 错误,可删除代码中的片假名转换功能以跳过该依赖。
python未说明 (需支持 pip 安装 requirements.txt)
openai (Whisper/API)
requests (用于 DeepLX/TTS 调用)
pyaudio 或类似音频库 (隐含,用于录音)
VoiceVox Engine (外部依赖,可通过 Docker 运行)
Silero Models (通过代码调用)
VB-Cable (虚拟音频线软件)
AI-Waifu-Vtuber hero image

快速开始

支持

ko-fi

更新

v3.5 现在也支持Twitch主播。

v3.0 现在不仅支持使用VoiceVox的日语TTS,还支持使用Seliro TTS的俄语(RU)、英语(EN)、德语(DE)、西班牙语(ES)、法语(FR)、鞑靼语(TT)、乌克兰语(UA)、乌兹别克语(UZ)、卡尔梅克语(XAL)以及印地语等印度语言的TTS。只需将run.py中的voicevox_tts改为seliro_tts即可。有关如何使用Seliro TTS的详细信息,请参阅相关文档。

AI女友虚拟主播与助手

该项目受到shioridotdev的启发,利用VoiceVox引擎、DeepL、Whisper OpenAI、Seliro TTS和VtubeStudio等多种技术,打造了一位AI女友虚拟主播。

我的远程图片

演示

使用的技术

安装

  1. 安装依赖项
pip install -r requirements.txt
  1. 创建config.py文件,并存储你的OpenAI API密钥
api_key = 'yourapikey'
  1. 更改主人名称
owner_name = "Ardha"

如果你想用于直播,在run.py中创建一个你想要加入黑名单的用户列表:

blacklist = ["Nightbot", "streamelements"]
  1. 修改你的助手的背景故事或身份。编辑characterConfig\Pina\identity.txt文件中的文本。

  2. 如果你想在Twitch上直播,需要修改utils/twitch_config.py中的配置文件。从这里获取你的令牌。你的令牌看起来应该像这样:oauth:43rip6j6fgio8n5xly1oum1lph8ikl1(本教程中为假数据)。修改完配置文件后,你可以使用模式3启动程序:

server = 'irc.chat.twitch.tv'
port = 6667
nickname = 'testing' # 无需更改
token = 'oauth:43rip6j6fgio8n5xly1oum1lph8ikl1' # 从https://twitchapps.com/tmi/获取。
user = 'ardha27' # 你的Twitch用户名
channel = '#aikohound' # 你想要接收消息的频道
  1. 选择你要使用的TTS,是VoiceVox还是Silero。通过取消注释或注释来切换它们:
# 在可用的TTS引擎之间选择
# 日语TTS
voicevox_tts(tts)

# Silero TTS,Silero TTS可以生成英语、俄语、法语、印地语、西班牙语、德语等语言。取消下面一行的注释。确保输入是相应语言。
# silero_tts(tts_en, "en", "v3_en", "en_21")

如果你想使用VoiceVox,你需要先运行VoiceVox引擎。你可以在本地使用VoiceVox Docker运行,或者在Google Colab上使用VoiceVox Colab运行。如果你使用Colab版本,需将utils\TTS.py中的voicevox_url替换为你从Colab获得的链接。

voicevox_url = 'http://localhost:50021'

如果你想查看VoiceVox的语音列表,可以访问VoiceVox,并在speaker.json中找到说话人ID,然后在utils/TTS.py中进行更改。关于Seliro的语音样本,可以参考Seliro Samples

  1. 根据你的使用场景选择要使用的翻译工具(如果回答需要翻译的话,此步骤可选)。可以选择谷歌翻译或Deeplx。如果你想使用VoiceVox,需要将回答翻译成日语,因为VoiceVox只接受日语输入。OpenAI返回的语言将取决于你的助手背景语言characterConfig\Pina\identity.txt以及输入语言:
tts = translate_deeplx(text, f"{detect}", "JA")
tts = translate_google(text, f"{detect}", "JA")

DeepLxDeepL的免费版本(无需API密钥)。你可以使用Docker运行Deeplx,或者如果你想使用正常的DeepL版本,可以在utils\translate.py中实现该功能。我使用DeepLx是因为我无法从本国注册DeepLDeepL的翻译结果比谷歌翻译更准确、更自然。但如果你想要简单的方法,直接使用谷歌翻译即可。

  1. 如果你想将程序输出的音频作为Vtubestudio的输入,你需要使用Virtual Cable捕获桌面音频,并将其用作VtubeStudio麦克风的输入。

  2. 如果你计划将此程序用于直播,可以将chat.txtoutput.txt作为OBS文本源,以实现实时字幕。

常见问题解答

  1. 音频转录错误
def transcribe_audio(file):
    global chat_now
    try:
        audio_file= open(file, "rb")
        # 将音频翻译成英语
        # transcript = openai.Audio.translate("whisper-1", audio_file)
        # 将音频转录为检测到的语言
        transcript = openai.Audio.transcribe("whisper-1", audio_file)
        chat_now = transcript.text
        print ("Question: " + chat_now)
    except:
        print("Error transcribing audio")
        return

    result = owner_name + " said " + chat_now
    conversation.append({'role': 'user', 'content': result})
    openai_answer()

将这一行代码改为如下所示。这将有助于您获取更多关于错误的信息:

def transcribe_audio(file):
    global chat_now
    audio_file= open(file, "rb")
    # 将音频翻译成英语
    # transcript = openai.Audio.translate("whisper-1", audio_file)
    # 将音频转录为检测到的语言
    transcript = openai.Audio.transcribe("whisper-1", audio_file)
    chat_now = transcript.text
    print ("Question: " + chat_now)


    result = owner_name + " said " + chat_now
    conversation.append({'role': 'user', 'content': result})
    openai_answer()

解决此问题的另一个方法是将 OpenAI 库升级到最新版本。请确保程序能够正确捕捉您的语音/句子,尝试播放 input.wav 文件以确认。

  1. Mecab 错误

该库的安装稍显复杂。如果您遇到此问题,可以直接删除 utils/TTS.py 中的 katakana_converter 函数并暂时不使用它。该函数为可选功能,您可以在不使用它的前提下运行程序。请在 utils/TTS.py 中删除以下两行代码:

from utils.katakana import *
katakana_text = katakana_converter(tts)

然后直接将 tts 传递给下一行代码:

params_encoded = urllib.parse.urlencode({'text': tts, 'speaker': 46})

致谢

本项目灵感来源于 shioridotdev 的工作。特别感谢本项目中所使用技术的开发者,包括 VoiceVox 引擎、DeepL、Whisper OpenAI 和 VtubeStudio。

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.3k|★★☆☆☆|2天前
图像数据工具视频

Real-Time-Voice-Cloning

Real-Time-Voice-Cloning 是一款开源的实时语音克隆工具,旨在通过短短 5 秒的音频样本,快速复刻说话人的声音特征,并即时生成任意文本的语音内容。它有效解决了传统语音合成需要大量训练数据且无法实时响应的痛点,让个性化语音生成变得轻量且高效。 该项目的核心技术基于 SV2TTS(从说话人验证到多说话人文本转语音的迁移学习)深度学习框架。其工作流程分为三个阶段:首先从少量音频中提取说话人的数字声纹表示,随后将其作为参考,结合 Tacotron 合成器与 WaveRNN 声码器,高质量地生成目标语音。这种架构不仅实现了端到端的语音合成,还保证了在普通硬件上的实时运行能力。 Real-Time-Voice-Cloning 非常适合开发者、人工智能研究人员以及对语音技术感兴趣的技术爱好者使用。开发者可以将其集成到互动应用中,研究人员可借此探索语音迁移学习的前沿进展,而具备一定动手能力的普通用户也能通过提供的图形界面工具箱,轻松体验“声音复制”的乐趣。尽管目前已有商业服务在音质上表现更佳,但作为一款免费开源项目,它依然是理解和学习实时语音合成技术的绝佳入门资源。

59.6k|★★★☆☆|3天前
音频开发框架

GPT-SoVITS

GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。

56.4k|★★★☆☆|2周前
音频

TTS

🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。

45k|★★★☆☆|2周前
音频开发框架图像

LocalAI

LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获

44.8k|★★★☆☆|2周前
图像音频语言模型

bark

Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。

39.1k|★★★☆☆|2周前
音频