(本库停止维护,可以关注下我的新项目:Langup: https://github.com/jiran214/langup-ai 已实现直播数字人)
Real Virtual UP 支持BiliBili和抖音直播,基于生产者-消费者模型设计,使用了openai嵌入、GPT3.5 api (本库暂时停止维护)
- 基本功能,回答弹幕和SC、欢迎入场观众、感谢礼物
- plugin(默认关闭)
- speech:监听ctrl+t热键,输入语音转为文本和ai数字人交互
- action:根据观众的行为匹配对应人物动作
- schedule:隔一段时间触发某一事件,讲故事、唱rap...
- context:给问题补充上下文
- win 10
- python 3.8
- vpn全局代理
git clone https://github.com/jiran214/GPT-vup.git
cd src
# 建议命令行或者pycharm创建虚拟环境并激活 https://blog.csdn.net/xp178171640/article/details/115950985
python -m pip install --upgrade pip pip
pip install -r requirements.txt
- 重命名config.sample.ini为config.ini
- 更改api_key和proxy 其它可以不用管
- 相关配置见后
- src目录下运行:>>
python manager.py test_net
- 安装依赖库:>>
pip install bilibili-api-python
- config.ini 的 room -> id 更改为自己的房间号,可以先随便找个
- src目录下运行:>>
python manager.py run bilibili
- 参考 抖音弹幕抓取数据推送: 基于系统代理抓包打造的抖音弹幕服务推送程序
- 启动该项目
- 打开web或者桌面端抖音正在直播的直播间,数据开始抓取
- src目录下运行:>>
python manager.py run douyin
- 在steam下载Vtube Studio软件
- 教程:https://www.bilibili.com/video/BV1nV4y1X7yJ?t=426.7
- 重点!!!
- 麦克风设置:你可以不用虚拟声道,win 默认输出设备为Speaker Realtek(R) Audio,在VTS里的麦克风设置,输入设备也设置为Realtek(R) Audio即可。
- 嘴型同步声音,在mouthOpen的输入参数设置为声音频率、或者声音音量
- 如果需要更好的直播效果,请自行了解更多
- config.ini -> plugin -> speech 设置为True
- 运行>>
pip install pyaudio speech_recognition keyboard
- 程序启动后按住 ctrl+T 说话,自动语音转文字,vup会听到你说的话
- config.ini -> plugin -> schedule 设置为True
- utils/prompt_temple.py 的schedule_task_temple_list列表有我写好的触发事件
实现vup根据观众的互动行为匹配动作
- config.ini -> plugin -> action设置为True
- 运行>>
pip install pyvts
- 打开VTS,开启VTS的API开关
- 在VTS的表情设置里,给每一个动作重命名为体现动作表情的词,不然没有意义
- src目录下运行>>
python manager.py action
,pyvts会请求vts api(注意:此时VTS会有确认弹窗) - 程序会自动生成 action.json
- 如果需要更新动作,请重复上述步骤
- 前提1:Docker安装milvus2.0单机版本,并设置 config.ini -> milvus -> host and port
- 前提2:Mysql环境,并设置 config.ini -> mysql -> uri
- config.ini -> plugin -> context 设置为True
- 运行>>
pip install pymilvus==2.0
- 自行设置scripts/manager.py的参数,运行>>
python scripts/manager.py run
,采集贴吧数据到MySQL,处理后推给Milvus
- utils/prompt_temple.py 的 system_template 可以更改vup的初始设定
- V2.0 支持context plugin,目录重构、更简单的readme,解决依赖混乱的问题
- V1.0 旧版本内容