此刻破碎了。...
这基本上类似于Nvidia R2X的扩展版本,但它可以完全在本地运行。
!!OBS我在测试时使用Python 3.10,它可能适用于其他版本,但这是我使用的Python版本。.
!!在您自己的risc中使用音乐请求系统。你可能会违反所使用的社交媒体平台的服务条款。 !!'
Gem System和Neurosync现在使用相同的venv(Conda)。
虚幻引擎Face Blendshapes使用与Convai相同的技术(据我所知)https://www.convai.com/
!!哎呀!!Neurosync文件夹中的文件采用双许可证,您可以在此处找到许可证https://github.com/AnimaVR/NeuroSync_Player/blob/main/LICENCE
!!哎呀!!StyleTTS文件夹中的文件遵循MIT许可证
我不是程序员,所以这段代码可能不是最快或最好的。这是我做的,因为我找不到一个有我想要的系统。有了这个系统,添加更多功能/工具变得“更容易”。所以希望有人觉得它有趣或有用。该项目的主要目标是制作一个人工智能“VTuber”或任何称呼它的东西,它“生活”在虚幻引擎中,由于它是人工智能“VTCuber”,因此它连接到社交流Ninja,因此流聊天可以与之交互。
音乐识别正在使用https://rapidapi.com/目前,它连接到Shazam。..
*在Gemini的帮助下制作的文档。..*
______________________________________________________________________
主要特点
- 演讲: 使用StyleTTS2作为默认TTS。
- 愿景: 使用物理网络摄像头或虚拟NDI流作为其视觉输入。
- 听力: 监听并转录麦克风发出的口头命令。它还将其用于音乐识别。
- 音乐识别 使用连接到Shazam的rapidapi.com。
- 可以查一下现在几点了 E.x“Gem曼谷现在几点了”,它可以查找曼谷的时间。
- 位置感知: 记住它的“当前位置”(例如,在虚幻引擎中使用导航点),并将其作为LLM的上下文。
- OSC命令旁路: 可以在不涉及LLM的情况下向虚幻引擎等外部程序发送直接操作命令。E.x Gem进入阳台,然后进入虚幻引擎中的导航点。
- 面部混合形状: 通过Neurosync创建。适用于支持Livelink的程序。使用虚幻引擎和InZoi进行测试。
- 多架构支持: 可以以统一的多模式运行(
ollama_vision)使用以下模型llava:7b或流水线文本描述模式(ollama,gemini).
- 统一RAG/CAG存储器: 包括一个完整的长期记忆系统,使用
ChromaDB聊天历史和图像存储器,具有用于重复查询的高速内存缓存。
- 专用嵌入模型: 支持使用特定模型创建一致的向量嵌入。
- 型号验证: 包括启动时的严格检查,以确保安装了所有必需的Olama型号,防止出现无声故障。
- 灵活的唤醒词: 理解会话中的唤醒词(例如,“So Gem…”),而不仅仅是句子的开头。
- 多平台广播: 可以使用social Stream Ninja一次将其最终回复发送到多个社交媒体平台(Discord、Twitch等)。
- 全面的错误处理: 包括详细的日志记录,以便更好地调试所有集成服务。
- …以及更多。
______________________________________________________________________
项目概述
这个项目是一个复杂的人工智能系统,围绕一个名为 主控制程序(MCP)它具有灵活的多模式架构,使其能够处理和理解文本、图像和音频。这种设计使其能够在统一模式下运行——一次处理多种数据类型——或者在单独处理每种类型输入的专用管道中运行。
该系统设计为高度互动,不仅与用户对话,还与外部平台和游戏引擎交互,以创造动态和沉浸式的体验。
核心组件
该系统的核心由几个协同工作的关键脚本组成:
- 主控制程序(
mcp_v1b.py): 这是整个系统的中心枢纽。它接收来自所有其他组件的输入,决定如何处理它们,并协调人工智能的行为。它支持不同的语言模型和操作模式,包括可以同时理解图像和文本的高级模型的统一多模式模式。MCP使用强大的矢量数据库来维护系统的内存(ChromaDB),知道其虚拟位置,并可以向多个平台广播消息。至关重要的是,它还通过OSC从外部应用程序(如虚幻引擎)发送和接收命令。
- 视觉服务(
vision.py): 此脚本充当系统的眼睛,从物理设备捕获视频输入 网络摄像头 或虚拟 NDI(网络设备接口)流这种灵活性允许简单的本地设置和更复杂的生产环境,其中视频通过网络流式传输。该服务具有双模功能:它可以提供原始图像数据供MCP直接分析,也可以使用本地视觉语言模型(VLM)生成所见内容的文本描述。
- 音频客户端(
listen.py): 这是系统的耳朵。它通过麦克风持续监听语音命令。使用本地Whisper模型,它将听到的任何语音转录成文本,并将其发送给MCP进行解释和操作。
- 面部动画(
watcher_to_face.py和neurosync_local_api.py): 这些脚本为系统提供了一个界面。这watcher_to_face.py脚本监视音频输出并触发相应的面部动画。这neurosync_local_api.py提供了一个接口,将音频信号转换为逼真动画所需的详细面部动作(混合形状)。
外部集成
该系统的一个关键特征是它能够与其他服务和应用程序连接:
- 社交流忍者: 对于基于文本的聊天,该系统与Social Stream Ninja集成。这允许MCP从各种社交平台(如Twitch、YouTube等)上的用户那里接收聊天消息,并将其回复发送回这些受众。这使人工智能成为一种互动的社交存在。
- 虚幻引擎(通过OSC): 系统使用以下方式与虚幻引擎通信 开放式声音控制(OSC) 协议。这允许MCP直接向游戏引擎发送命令,以控制化身、触发事件、改变环境或与对象交互,使AI成为虚拟世界中的真正代理。
运作原理
该系统设计为高度模块化。典型的交互可以遵循以下几种路径:
- 输入: 启动交互。这可以通过两种主要方式发生:
- 用户说出命令,该命令由 音频客户端,转录并发送给MCP。 - 用户在连接到的聊天中键入消息 社交流忍者,它将文本转发给MCP。
- 处理: MCP接收文本。如果命令需要视觉信息(例如,“你看到了什么?”),它会从 视觉服务,其正在捕获来自网络摄像头或NDI源的馈送。然后,MCP使用其语言模型在对话的完整上下文和任何视觉数据中解释用户的请求。
- 行动和响应: MCP制定响应并采取行动。
- 口头回应: 文本响应被发送到文本到语音(TTS)引擎,生成音频文件。 - 面部动画: 这 面部动画 脚本检测此音频文件并使用 neurosync_local_api.py 为虚拟角色生成同步的面部动作。 - 游戏引擎控制: 如果命令是一个动作(例如“去厨房”),MCP会通过以下方式发送命令 OSC到虚幻引擎 移动角色。 - 聊天广播: 文本响应也通过以下方式发送回 社交流忍者 将在聊天中显示。
这种统一和流水线的方法可以提供丰富的交互体验,人工智能不仅可以理解和响应多个平台上的用户,还可以感知和反应其视觉环境,同时在虚幻引擎中呈现动态和富有表现力的虚拟角色。
Gem系统安装
先决条件
在开始之前,请确保已安装以下软件:
- 蟒蛇: 该项目已通过测试
Anaconda3_Py3_13-2025.06-0-Windows-x86_64.exe。您可以从Anaconda官方网站下载。 - 香蕉语音计: 虽然基本功能不需要它,但所有功能都需要它才能工作。从下载 https://vb-audio.com/Voicemeeter/banana.htm.
- NVIDIA CUDA工具包: GPU加速所需。从下载 NVIDIA开发者网站.
______________________________________________________________________
MCP(主控制程序)安装
- 打开Anaconda提示: 从“开始”菜单启动Anaconda Prompt。
- 克隆存储库: 导航到所需的安装目录并克隆Gem System存储库。
git clone https://github.com/JayGeeUnreal/Gem-System.git
cd YOUR_PATH\Gem-System- 创建和激活Conda环境: 为MCP创建一个新的Conda环境并激活它。
conda create --name mcp_env_1 python=3.10 -y
conda activate mcp_env_1- 安装PyTorch: PyTorch安装命令取决于您的CUDA版本。
- 通过运行以下命令检查CUDA版本:
nvcc --version- 去 PyTorch网站 为您的系统获取正确的安装命令。 - 例如,对于CUDA 12.8,命令为:
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu128- 安装要求: 安装其余必需的软件包。
pip install -r requirements.txt______________________________________________________________________
StyleTTS2安装
有关安装StyleTTS2的详细视频指南,您可以参考以下内容 YouTube视频.
- 克隆StyleTTS2存储库:
cd YOUR_PATH\Gem-System
git clone https://github.com/yl4579/StyleTTS2.git- 创建和激活Conda环境: 为StyleTTS2创建一个单独的环境。
cd YOUR_PATH\Gem-System\StyleTTS2
conda create --name styletts2 python=3.10 -y
conda activate styletts2- 安装依赖关系:
pip install huggingface_hub[hf_xet]
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -U
pip install -r requirements.txt
pip install phonemizer
pip install gradio
pip install cached_path
pip install txtsplit
pip install flask
pip install flask_cors- 安装一些特殊的东西:
- 从下载并安装 特别发布页面. - 设置环境变量: 您需要添加以下系统环境变量: - PHONEMIZER_ESPEAK_PATH = C:\Program Files\eSpeak NG - PHONEMIZER_ESPEAK_LIBRARY = C:\Program Files\eSpeak NG\libespeak-ng.dll - TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD = 1
- (可选)下载Gradio演示文件:
- 从下载演示文件 拥抱脸部空间. - 地方 ljspeechimportable.py, styletts2importable.py,以及 app.py 进入 YOUR_PATH\Gem-System\StyleTTS2 目录。
______________________________________________________________________
运行应用程序
- 导航到
start_scripts文件夹。
- 双击
start_control_panel.bat启动控制面板。
- 在控制面板中,您可以配置设置。在窗口底部,您将找到启动每个服务的按钮。
