警告:赛博朋克 2077 的一些小剧透可能会提前......
该项目的目标是创建受 Cyberpunk 2077 启发的可穿戴 Cyberware,它具有交互式 AI,通过耳机在佩戴者的头部发出声音;由ChatGPT提供支持。
它的灵感来自Relic - 游戏中的一项技术,可以存储某人的意识,并允许他们与在其 Cyberware 中安装芯片的人进行整合和互动。
在游戏中,名为 Johnny Silverhand(由基努里维斯饰演)的角色居住在 Relic 中,并使用该技术直接与您的角色对话。他也可以被看见;虽然只是用户,因为他基本上是在他们的脑海中投射。
几年前我开始研究它,但在硬件和软件方面花费了相当长的时间和反复试验才能正确 - 它最初使用我的 Bot_Engine 和Chatbot ,直到ChatGPT发布并且我意识到显而易见的解决方案是而是整合它。
目标是将 MAX30105 传感器用作心跳检测器,安装在佩戴者的太阳穴上。如果用户的心率升高或降低,它也可以方便地进行额外的响应。
快速警告:
This code AND hardware should not be used for medical diagnosis. It's for fun/novelty use only, so bear that in mind while using it.
Also bear in mind that ChatGPT will respond with the style of whatever context you
have set within config/chatgpt_config.py, so I can't be sure what it will say. And I
can't take any responsibility for any other context that is set or what it says.
其中的关键部分是 Raspberry Pi Zero 2——它提供了足够的 CPU 能力和 RAM 来运行语音推理和其他一些原始 Pi Zero 无法提供的外形尺寸。
我最初试图用一片 PiBow 将它固定在我的耳朵上——如果它只是 Pi Zero 本身就很好,但是当你开始添加传感器时,外壳,尤其是电池技术变得太重了留在头上。
所以我不得不找到另一个解决方案;那个解决方案是我从亚马逊买的一个漂亮的大金属发带。
你可以看到我有一个漂亮的金属外壳,将整个东西安装在更坚固的 PiBow 切片上,并从 Pi Zero 外壳中添加了一些额外的东西,以容纳电池和 LiPo Powerboost 500。
30105 传感器连接到前面,面向佩戴者的头部:
这是连接到 Pi 相对容易的,如下所示:
我刚刚用一些额外的接线将其扩展。
安装到 PiBow 切片的 Pi 和外壳:
这是原始耳机上的音频 DAC 垫片,稍后必须将其移到扩展接头上,以便允许传感器通过跨接电缆连接到引脚:
电池和主要部件如何连接成角度的 USB A 至 USB Micro 电缆:
头饰的最终形态,上面还贴有荒坂的贴纸:
最后一点整理传感器和电线:
以及插入 USB 麦克风和 USB Micro 垫片、头带和耳机的最终硬件:
代码可以在我的GitHub找到。
对于任何人通过修改此程序对 FakeYou 所做的事情,我不承担任何责任,同时请注意,ChatGPT 可能会生成奇怪的东西以传递给 FakeYou,这也取决于对 ChatGPT 所说的内容。典型的。
本质上,它使用包裹在 python 脚本中的 Web 浏览器自动化来与 ChatGPT 交互。
我发现超过一定数量字符的响应会完全破坏 Nix-TTS 并导致它崩溃;但即使是更短的响应有时也会导致它崩溃。它能够完全执行响应,而无需使用任何通常的礼貌内容。非常酷,实际上感觉就像您正在从角色那里得到回应。
所以这里的主要问题是 Pi Zero 2 虽然具有四核 arm SoC 和 512mb RAM 相对强大,但仍然需要时间来处理某些事情。因此,语音到文本的处理可能需要几分钟时间,TTS 可能需要一段时间,甚至 ChatGPT 包装器也需要一些处理时间。
所以交互不是完全实时的,但我希望未来的 Pi Zero 3 具有更强大的硬件,或者甚至是我可以用于此的其他小型设备。Pi 4 会快得多,但如果戴上头戴式设备,实施起来会困难得多。
这是我头上的一些照片以及赛博朋克夹克:
还有一些额外的特写镜头:
。。
语音到文本输入:
ChatGPT 的文本到语音输出:
有时 Speech to Text 会出错:
ChatGPT 输出与它一起运行:
另一个显示心率传感器潜在误差的输出:
总的来说,这是可行的;但它在 STT 方面非常慢 - 即使 STT 自行运行,所以希望将来会出现新的 RPi Zero 3 或带有 Gig RAM 的 Zero 2 来帮助加快速度。我认为很多速度问题是由于缺少 RAM 导致分页引起的,但我也注意到在 Pi 4 8GB 上运行的Terminator Skull也存在同样的问题——同时它也在线程化和运行其他东西。
幸运的是,我构建它的平台应该允许轻松升级,希望我可以更换 Pi,同时保持连接到主要 Cyberware 的相同外壳。所以在未来,这也许可以进行实时对话,并且 Cyberware 可以用来创建各种 AI 角色和助手来与之交互。
另一个问题是我使用的 ChatGPT 包装器,因为给出的每个响应都会开始与 ChatGPT 的新对话,而不是继续同一个线程——但我认为该包装器中有代码允许这样做;现在有了官方 API 也没什么关系了。
此外,我还可以通过使用官方 API 来大大减少语音到文本的处理时间。因此,通过使用 FakeYou、OpenAI 的新 Whisper API和ChatGPT API,我可以大大加快速度。因此,请留意未来对此的改进。
以某种方式添加视觉元素会很酷 - 如果我能破解如何让正确聚焦的屏幕在佩戴者眼中很好地工作。我以前用EDITH 眼镜和钢铁侠头盔解决过这个问题,但它们不够大或不够详细,无法显示文本以外的复杂内容;所以这是一个需要进一步研发的领域。
最终,添加到其中的更新和错误修复将使它达到更好的状态,并且也会被放入最终的 Relic Cyberware 2.0 中。
不过,我认为这很合适,因为这需要很长时间才能构建,而且漏洞百出,速度缓慢,需要大量更新——鉴于赛博朋克本身就是这样在 2020 年发布的。
让我知道您的想法,并为未来的项目坚持下去!我将研究将这个基于上下文/角色的 ChatGPT 系统连接到其他项目中,例如我的Terminator Skull 。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !