Giter Site home page Giter Site logo

ai-yinmei's Introduction

AI-YinMei【Ai吟美】

Github stars   发布版本   python

😄开发文档|💗视频教程|🚚1.8整合包教程|✨1.7整合包教程

技术架构

吟美流程图1.8.0

支持技术

  • 支持 fastgpt 知识库聊天对话
  • 支持 LLM 大语言模型的一整套解决方案:[fastgpt] + [one-api] + [Xinference]
  • 支持对接 bilibili 直播间弹幕回复和进入直播间欢迎语
  • 支持微软 edge-tts 语音合成
  • 支持 Bert-VITS2 语音合成
  • 支持 GPT-SoVITS 语音合成
  • 支持表情控制 Vtuber Studio
  • 支持绘画 stable-diffusion-webui 输出 OBS 直播间
  • 支持绘画图片鉴黄 public-NSFW-y-distinguish
  • 支持搜索和搜图服务 duckduckgo(需要魔法上网)
  • 支持搜图服务 baidu 搜图(不需要魔法上网)
  • 支持 AI 回复聊天框【html 插件】
  • 支持 AI 唱歌 Auto-Convert-Music
  • 支持歌单【html 插件】
  • 支持跳舞功能
  • 支持表情视频播放
  • 支持摸摸头动作
  • 支持砸礼物动作
  • 支持唱歌自动启动伴舞功能
  • 聊天和唱歌自动循环摇摆动作
  • 支持多场景切换、背景音乐切换、白天黑夜自动切换场景
  • 支持开放性唱歌和绘画,让 AI 自动判断内容
  • 支持流式聊天,提速 LLM 回复与语音合成
  • 对接 bilibili 开放平台弹幕【稳定性高】
  • 支持 funasr 阿里语音识别系统
  • 增加点赞、送礼物、欢迎词等触发事件
  • Ai吟美桌宠【关注B站“程序猿的退休生活”,回复181获取下载链接】

吟美直播间功能说明

  • 1、聊天功能:
    1.1 设定了名字、性格、语气和嘲讽能力的 AI,能够与粉丝互怼,当然录入了老粉丝的信息记录,能够更好识别老粉丝的行为进行互怼。
    1.2 多重性格:吟美有善解人意的女仆和凶残怼人的大小姐性格,根据不同场景自行判断切换

  • 2、唱歌功能:
    2.1 输入“唱歌+歌曲名称”,吟美会根据你输入的歌曲名称进行学习唱歌。当然,你可以输入类似“吟美给我推荐一首最好听的动漫歌曲”这些开放性的话题,让吟美给你智能选择歌曲进行演唱。
    2.2 切歌请输入“切歌”指令,会跳过当前歌曲,直接唱下一首歌曲

  • 3、绘画功能:
    3.1 输入“画画+图画标题”,吟美会根据你输入的绘画提示词进行实时绘画。
    3.2 当然,你可以输入类似“吟美给我画一幅最丑的小龟蛋”这些开放性的话题,让吟美给你智能输出绘画提示词进行画画。

  • 4、跳舞功能:
    4.1 输入“跳舞+舞蹈名称”,舞蹈如下:
    书记舞、科目三、女团舞、社会摇
    呱呱舞、马保国、二次元、涩涩
    蔡徐坤、江南 style、Chipi、吟美
    直接输入“跳舞”两个字是随机跳舞
    4.2 停止跳舞请输入“停止跳舞”

  • 5、表情功能:
    输入“表情+名称”, “表情+随机” 是随机表情,表情自己猜,例如,“哭、笑、吐舌头”之类

  • 6、场景切换功能:
    6.1 输入“切换+场景名称”: 粉色房间、神社、海岸花坊、花房、清晨房间
    6.2 系统智能判定时间进行早晚场景切换

  • 7、换装功能:
    输入“换装+衣服名称”:便衣、爱的翅膀、青春猫娘、眼镜猫娘

  • 8、搜图功能:
    输入“搜图+关键字”

  • 9、搜索资讯功能:
    输入“搜索+关键字”

  • 智能辅助:
    1、歌单列表显示
    2、Ai 回复文字框显示
    3、Ai 动作状态提示
    4、智能识别唱歌和绘画
    5、说话、唱歌循环随机摇摆动作
    6、随着心情值增加或者当前的聊天关键字,智能判断输出日语
    7、绘画提示词对接 C 站,丰富绘画内容
    8、智能判断是否需要唱歌、画画
    9、根据关键字进行场景切换
    10、funasr 语音识别客户端

应用模块

  • Ai-YinMei:Ai 吟美核心
  • stable-diffusion-webui:绘画模块
  • public-NSFW-y-distinguish:鉴黄模块
  • gpt-SoVITS:语音合成模块
  • Auto-Convert-Music:唱歌模块
  • fastgpt + one-api + Xinference:聊天模块
  • funasr-html-client:语音识别客户端

软件下载

整合包教程:https://www.bilibili.com/video/BV1zD421H76q
百度网盘群号:930109408
功能整合包下载(4个):人工智能 -> yinmei-all
吟美核心【版本迭代】:人工智能 -> 吟美核心
吟美开发文档:人工智能 -> 吟美开发文档

  • 语音播放器 mpv:语音播放、音乐播放使用
    在百度网盘->人工智能->软件->mpv.exe
    注意:项目需要在根目录放两个播放器,分别是:mpv.exe【播放语音】、song.exe【播放音乐】
  • 虚拟声卡:虚拟人物口型输出音频
    在百度网盘->人工智能->软件->虚拟声卡 Virtual Audio Cable v4.10 破解版
  • ffmpeg:音频解码器,用于语音合成
    在百度网盘->人工智能->软件->ffmpeg
  • mongodb 连接工具-NoSQLBooster for MongoDB
    人工智能->软件->nosqlbooster4mongo-8.1.7.exe
  • fastgpt 的 docker-compose 配置
    人工智能->软件->docker 知识库

运行环境

  • Python 3.11.6

启动方式

注意:更详细的启动方法,请参考 🔥整合包说明文档 🚚1.8整合包教程

1、吟美核心(必选)

下载整合包 双击执行 start.bat
整合包说明文档

2、聊天服务(可选)

2-1、【fastgpt】+【one-api】+【Xinference】(推荐)

fastgpt:https://github.com/labring/FastGPT
one-api:https://github.com/songquanpeng/one-api
Xinference:https://github.com/xorbitsai/inference
启动:使用 window WSL 的 docker 启动,启动流程看教程文档第 23 点
教程视频:https://www.bilibili.com/video/BV1SH4y1J7Wy/

2-2、text-generation-webui

项目 github:https://github.com/oobabooga/text-generation-webui

#进入虚拟环境
& 盘符:py虚拟空间路径/Scripts/Activate.ps1
#安装py包
pip install -r requirements.txt
#启动text-generation-webui程序,start.bat是我自定义的window启动脚本
./start.bat

window 的 bat 启动命令:

python server.py --trust-remote-code --listen-host 0.0.0.0 --listen-port 7866 --listen --api --api-port 5000 --model chatglm2-6b --load-in-8bit --bf16

API 访问:http://127.0.0.1:5000/

3、语音合成(必选)

3-1、Bert-VITS2

项目地址:https://github.com/fishaudio/Bert-VITS2
启动:使用 Bert-VITS2-clap-novq-ui 里面的 start.bat 启动
定制页面:hiyoriUI.py 包含中英日混合语音合成方法,需要放到对应项目,不一定兼容
效果:Ai 与用户的语音互动,包括:聊天、绘画提示、唱歌提示、跳舞提示等

3-2、gtp-sovits(推荐)

项目地址:https://github.com/fishaudio/Bert-VITS2
效果:Ai 与用户的语音互动,包括:聊天、绘画提示、唱歌提示、跳舞提示等

百度网盘群号:930109408
提示:因为百度网盘分享总是屏蔽,现在切换到百度网盘的群分享,请在“百度网盘->消息” 添加群号,加入群后可以在文件列表进行下载
双击执行 start.bat

整合包说明文档

3-3、edge-tts(吟美自带)

edge不需要另外安装语音合成服务

4、绘画服务(可选)

stable-diffusion-webui项目
项目地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui
效果:输入“画画 xxx”,触发 Ai 使用 stable-diffusion 进行绘图

百度网盘群号:930109408
提示:因为百度网盘分享总是屏蔽,现在切换到百度网盘的群分享,请在“百度网盘->消息” 添加群号,加入群后可以在文件列表进行下载
双击执行 start.bat 

整合包说明文档

5、鉴黄服务 (可选)

public-NSFW-y-distinguish项目
项目地址:https://github.com/fd-freedom/public-NSFW-y-distinguish

百度网盘群号:930109408<br>
提示:因为百度网盘分享总是屏蔽,现在切换到百度网盘的群分享,请在“百度网盘->消息” 添加群号,加入群后可以在文件列表进行下载<br>
双击执行 start.bat <br>

整合包说明文档

6、唱歌服务 (可选)

Auto-Convert-Music项目
原创开发者:木白 Mu_Bai、宫园薰ヾ(≧∪≦*)ノ〃
项目地址:https://github.com/MuBai-He/Auto-Convert-Music
启动:使用 Auto-Convert-Music 里面的 start.bat 启动
效果:输入“唱歌 歌曲名称”,触发 Ai 从歌库学习唱歌

7、皮肤(必选)

皮肤启动,安装 steam,安装 VTube Studio
这个自行下载 steam 平台,在平台里面有一个 VTube Studio 软件,它就是启动 live2D 的虚拟主播皮肤

8、虚拟声卡驱动(必选)

8-1、 安装虚拟声卡:虚拟声卡驱动(Virtual Audio Cable)4.66 官方版

效果:Ai 主播的发声来源

百度网盘群号:930109408
加群下载软件
8-2、Voicemeeter虚拟声卡:

下载banana版本即可【注意你主板要安装声卡驱动,不然虚拟声卡通道可能失效】:

百度网盘群号:930109408
加群下载软件

9、AI 回复框【HTML 插件】(可选)

把项目文件:ai-yinmei\html\chatui.html 放入 OBS 浏览器插件展示
效果:Ai 的回复内容会在回复插件显示

10、歌单显示【HTML 插件】(可选)

把项目文件:ai-yinmei\html\songlist.html 放入 OBS 浏览器插件展示
效果:用户点歌的歌单会在上面以列表形式显示:
'xxx 用户'点播《歌曲名称》[正在播放]
'xxx 用户 2'点播《歌曲名称》

11、时间显示【HTML 插件】(可选)

把项目文件:ai-yinmei\html\time.html 放入 OBS 浏览器插件展示
整合包说明文档

12、跳舞能力(可选)

跳舞视频的存放地址【支持子文件夹存放】: dance_path = 'J:\ai\跳舞视频\横屏'
效果:输入跳舞,立即进行跳舞视频随机抽取播放;输入\停止跳舞,可以立即停止跳舞

13、弹出视频表情(可选)

表情视频的存放地址【支持子文件夹存放】: emote_path = 'H:\人工智能\ai\跳舞视频\表情'
效果:输入表情随机 或者 表情名称,立即进行表情视频播放,表情随机 为随机播放表情视频
表情视频的名称展示【支持子文件夹存放】: emote_font = 'H:\人工智能\ai\跳舞视频\表情\表情符号'
效果:表情名称会显示在 obs 的字体控件,提示用户可以输入这些表情名称

14、funasr语音识别客户端(可选)

吟美目定制funasr插件:./funasr/index.html
服务端:需要根据阿里 funasr进行配置, 建议安装容器,参考服务器部署文档

服务端启动:

docker run -p 10095:10095 --name funasr -it --privileged=true -v /j/ai/ai-code/funasr/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.9

目录说明

  • func:
    吟美功能类库,全部功能源代码在这里

  • runtime:
    整合包才有的python运行类库

  • html:
    html插件,包含歌单列表、流式回复框、彩色回复框、功能说明框等

  • background:
    背景图,可以在OBS软件自行添加背景图

  • porn:
    存放鉴黄图片、绘画图片、搜图

  • output:
    语音合成中转目录,还有歌曲、伴奏保存目录

  • logs:
    日志输出目录

  • config:
    OBS配置、fastgpt配置,可以参考

  • api.py:
    接口启动主要文件

  • config.yml:
    所有配置的文件

  • mpv.exe:
    语音聊天播放器,输出设备设置:设置Voicemeeter第二个虚拟通道

  • song.exe:
    人声唱歌播放器,输出设备设置:设置Voicemeeter第二个虚拟通道

  • accompany.exe:
    伴奏唱歌播放器,输出设备设置:设置Voicemeeter第一个虚拟通道

  • Voicemeeter虚拟声卡官网:
    下载banana版本即可【注意你主板要安装声卡驱动,不然虚拟声卡通道可能失效】:

特别鸣谢

更多关注

  • 讨论Q群:27831318
  • 我的Q号【定制化开发】:314769095

捐献基金

捐助列表:https://docs.qq.com/sheet/DWUZPUlRrT1BXTXBk
扫码赞助

ai-yinmei's People

Contributors

worm128 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.