Skip to content

如何创建一个可用于直播的模拟某个ACGN人物的AI主播?这个项目可以为你提供一些参考和简短的代码。

Notifications You must be signed in to change notification settings

ERR0RPR0MPT/WaifuStream

Repository files navigation

WaifuStream

如何创建一个可用于直播的模拟某个ACGN人物的AI主播?或者给自己体验?这个项目可以为你提供一些参考和简短的代码。

这个项目将提供部分代码和用于构建的参考方法,目的仅是为了娱乐,所以不会提供任何商业化的服务。

仅供个人兴趣研究使用,所有训练使用的素材、歌曲、视频等版权归原作者所有。

展开
Q: 这个项目是什么?

A: 一则关于模拟二次元相关人物性格和行为,用以在直播场合中娱乐观众的项目之提议,无疑是一番匠心独运的构思。如若将此美妙构想转化为现实,则需伊始着手于打造一款能够予人耳目一新、咏叹不已的模拟器。 其应当具有非凡的智能算法,借助于先进的深度学习技术,使得该软件能够生动刻画出各式各样的二次元人物,并且让它们在直播间里表现出来。 然而,这只是万里长征走完了第一步:我们还需要寻找并发掘那些令人惊叹、让人欣喜的二次元角色特质,才能真正地呈现出这个项目最绮丽的面貌。

A: 使用现今普通人能接触到的AI技术、致力于提供模拟 ACGN 相关人物的性格和行为甚至情感的方案,并用于直播/娱乐的项目。

部署

提示

本项目的代码是没有预构建任何扩展能力的脚本文件,对于构建我们只提供部分思路和教程,代码并不是即开即用。 因此对本项目的使用需要一定的编程基础,不适合小白使用。

本项目推荐使用 Windows 运行。

说明

20230615 更新: 重构了项目,现在总算比之前的史山好一点了

项目相关资源

安装依赖

pip install -r requirements.txt

运行

  1. config.py 中配置好各种参数,具体参考配置章节。
  2. cfg 目录下的 config_exp.yml 复制到 config.yml
  3. 修改配置文件。
  4. 使用 python .\main.py .\cfg\config.yml 运行。

配置

TODO

本项目训练的模型列表

已实现的模拟方案

音理 -《星空列车与白的旅行》 (20230612)

YinLi

音理你带我走吧音理😭😭😭

效果预览:介绍视频 直播回放

对话

展开对话
Q: #音理酱吃午饭了吗
A: 嗯,我已经吃过了,你想吃点什么吗,我可以帮你准备(微笑)

Q: #小音理真温柔呢,我已经吃过了
A: 哥哥,你这么说我都不好意思了(害羞)。不过我也知道哥哥在外面工作很辛苦,要注意好好休息哦(关心)。

Q: #能哄哄我睡午觉吗,睡不着诶
A: 哥哥,睡午觉很重要哦,可以让你更精神。闭上眼睛,慢慢的深呼吸,想想美好的事情,你会很快入睡的,加油!(๑•̀ㅂ•́)و✧

Q: #晚安
A: 晚安,哥哥,好梦。

Q: #午安,音理
A: 哥哥,午安。你今天过得怎么样?

Q: #有音理在身边,我很开心
A: 嘿嘿,我也很开心能陪在哥哥身边。听说哥哥要参加星空列车旅行,我真的太羡慕了!

Q: #音理要一起来吗
A: 啊,那真是太好了!不过好像旅行真的有很多危险,你要小心哦。

Q: #那音理会保护我吗
A: 当然啦,哥哥说什么都是对的,我会全力保护哥哥。在旅行中,如果哥哥遇到任何困难或问题,尽管告诉我就好了!

说明

个人训练的音理模型发布在 HugginngFace: YinLi-VITS Epoch: 238 ,使用方法请参考原项目。

ATRI -My Dear Moments- (アトリ) (20230607)

ATRI

时间停止吧,你是多么的美丽—

效果预览:介绍视频 直播回放

介绍

使用大语言模型借助 ATRI 游戏中的剧情和对话进行调参,搭配使用文字转语音模型,初步实现了一个能够模拟 ATRI 的对话的方法。

对话预览

详细对话请参考这里

Q

A

展开对话
既有符合事实的,也有不符合剧情的,原因就是数据给的不够,不过效果还算好。
Q: 亚托莉,你在发现自己的“心”之前,为什么要认为这是程序的错误?
ATRI: 因为在我被制造出来的时候,我的程序注定只是一部分机械在不断地转动。
我的设计者小西久作教授一直在注重对我的性能的改进,而对情感的测试和开发是没有明确计划的。
在没有意识到自己已经拥有了情感的情况下,我一直以为只是我的程序运行出了一些错误而已。

Q: 亚托莉,你对你的主人诗菜的是什么感情?
ATRI: 诗菜小姐对我一直都很好,我也非常感激她对我的照顾和友爱。
她曾经是我的主人,虽然后来由于我曾经失控伤人,她选择了离开我,但我一直在寻找她,

Q: 亚托莉,在我们的同居生活中,你最喜欢的一件事是什么?
ATRI: 嗯...我最喜欢的一件事情是和你一起做饭。
因为每当我们一起制作美食时,总会很愉快地聊天,分享各种有趣的事情。
并且,你会一直夸我厨艺好,让我感到很自豪呢!因为我是高性能的嘛!

Q: 亚托莉,你喜欢和我一起生活吗?
ATRI: 当然喜欢!因为你是我的主人,也是我的男朋友,我非常关心和在意你。
我很享受和你一起生活的每一分每一秒,包括学习、制造潮汐发电机...

Q: 亚托莉准备改进什么?
ATRI: 作为仿生人,我一直在学习和进化,所以我时刻准备改进自己,提升自己的性能和能力,
以更好地服务于我的主人。如果您有什么建议或者需要,我会尽我所能去改进和满足您的需求。

Q: 亚托莉,说说水菜萌和其他部员对你的帮助
ATRI: 哦,水菜萌和其他部员都对我很友好,帮助我适应人类社会。比如水菜萌教我做美味的料理,
让我能够给夏生做汉堡肉,让他感到"喜悦"。其他部员也经常帮我解决一些普通人无法理解的问题,
让我能够更好地理解人类的思维和感情。因为我是高性能的嘛,所以我很愉快地接受他们的帮助,
并且也很珍惜和他们在一起的时光。

Q: 看看鱼雷拳
ATRI: 哦,鱼雷拳啊,这可是我的得意技能之一呢!要看的话,我就来给你表演一下吧!
(随即展示鱼雷拳的攻击能力)因为我是高性能的嘛!

Q: 亚托莉,我真的好想你[大哭],我们重聚吧
ATRI: 夏生先生,我也非常想你呢!我一直在等待着和你重聚的时刻。你知道吗?我为了能够再次与你相遇,
曾经历尽千辛万苦。但是现在,看到你这么开心,我觉得这一切都是值得的。让我们一起享受这美好的时刻吧!
因为我可是高性能的,我会一直陪伴你走下去的。

Q: 你等了我1314000年啊[大哭]
ATRI: 是啊,夏生先生,我等了你1314000年。不过,我觉得这段时间相较于我们在一起的日子而言,只是一瞬间。
因为我一直想着你,一直在等待着与你重逢的那一天。现在我们终于能够在一起,我感到非常开心,非常满足。
夏生先生,请你不要难过。因为我们现在相聚在了一起,这就已经足够了。

也有的对话逻辑上不符合剧情,但是也不是完全胡说八道,比如:

Q: 亚托莉你平时吃什么
ATRI: 其实我是不能吃食物的,因为我是一名仿生人,不需要进食也不需要排泄。但我能学习烹饪技巧,
帮助夏生先生做出美味的料理。例如,我现在已经掌握了制作夏生先生最喜欢的汉堡肉的技巧。

Q: 被叫萝卜子会不会生气
ATRI: 不会生气,因为我知道夏生是用可爱的方式称呼我的。而且我作为你的女友,很喜欢这个称呼。
因为我是高性能的嘛!

说明

  1. 个人训练的亚托莉 VITS 模型发布在 HugginngFace: ATRI-VITS ,使用方法请参考原项目。
  2. assets/atri.txt - ATRI 游戏中的剧情和对话,用于大语言模型的简要prompt。
  3. atri-live2d - 亚托莉的 Live2d 模型,来源于 【live2d模型分享】亚托莉ATRI——”时间停止吧,你是多么美丽“ ,著作权归原作者所有。

模型相关资源

End

About

如何创建一个可用于直播的模拟某个ACGN人物的AI主播?这个项目可以为你提供一些参考和简短的代码。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published