实时智能应答数字人搭建

2024-03-07 19:28

本文主要是介绍实时智能应答数字人搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

语音驱动口型的算法
先看效果:

你很快就可以帮得上我了



FACEGOOD 决定将语音驱动口型的算法技术正式开源,这是 AI 虚拟数字人的核心算法,技术开源后将大程度降低 AI 数字人的开发门槛。FACEGOOD是一家国际领先的3D基础软件开发商,研究领域涉及生物软组织模拟、运动科学、计算机图形学等,其核心产品软件AVATARY广泛应用于国内外影视动画、游戏、虚拟人应用场景的娱乐、文化、媒体等行业的3D数字内容制作,提供优秀的数字工程设计、娱乐软件服务和媒体娱乐行业和基础设施行业的产品和技术解决方案。 2022年6月28日,FACEGOOD(量子动力(深圳)计算机科技有限公司)作为国内首批企业以Principle Member身份正式加入Metaverse Standard Forum(元宇宙标准论坛)。

下载工程

​git clone  https://github.com/FACEGOOD/FACEGOOD-Audio2Face.git



文件如下:
 



部署依赖

pip install PyAudio
pip install tensorflow
pip install websocket ,websocket-client



pyaudio库,使用这个可以进行录音,播放,生成wav文件等等。PyAudio 提供了 PortAudio 的 Python 语言版本,这是一个跨平台的音频 I/O 库,使用 PyAudio 你可以在 Python 程序中播放和录制音频。为PoTaTudio提供Python绑定,跨平台音频I/O库。使用PyAudio,您可以轻松地使用Python在各种平台上播放和录制音频.
PyAudio更多
相关版本如下:tersorflow-gpu 2.6
cudatoolkit 11.3.1 cudnn 8.2.1 scipy 1.7.1
python-libs:pyaudio 请求 websocket websocket-client

申请智能语音API接口
会话精灵(Talking Genie) “ www.talkinggenie.com ”,是思必驰新近推出的针对企业智能服务的定制平台,提供虚拟机器人的在线定制服务。
会话精灵为客户提供通过API接入的方式,获取智能会话、语音识别、语音合成等服务的能力。如果您自主开发前端应用,可以通过创建API接入类型的产品,对接会话精灵的相关能力。
请前往会话精灵文档中的以下地址: https: //login.tgenie.cn/,申请一个产品帐号来替换您项目中的产品帐号。选择 "智能语音API接入",获取到PID、PublicKey、SecretKey。
 



修改配置文件
将获取到的KEY填入到配置文件:zsmeif_aispeech_config.json 对应的参数中
productId:会话精灵ID
PublicKey是应用标识,在开放api调用过程中唯一标识一个应用;
SecretKey是调用API时的Token,用来验证请求的合法性
Token:Token api接口生成的token,必须和productId是对应的关系
 


接口: /aispeech/portal/api/v1/ba
同时支持语音识别、对话和语音合成功能
上述3个功能可同时使用
◑对query.type 传入 url 或者voice时,即表示使用语音识别功能。
一句话识别就是对一分钟内的短语音进行识别,适用于对话聊天,控制口令等较短的语音识别场景。
支持音频编码格式:pcm(无压缩的pcm文件或wav文件)、ogg\wav 8000\16000;   mp3\flv 16000\22050\44100;  amr 8000的单声道(mono)。
仅支持单声道
支持音频采样率:8000Hz、16000Hz。
支持对返回结果进行设置:处理唤醒词,是否识别结果需要加标点符号,是否将中文数字转为阿拉伯数字输出(逆文本)。支持多种语言的识别,资源模型选择
接口地址:https://api.talkinggenie.com/aispeech/portal/api/v1/ba/asr
◑传入dialog.enableDialog = true 时,即表示使用对话功能
会话接口地址:https://api.tgenie.cn/api/v1/ba
◑对output.type传入tts或者url时,即表示使用语音合成功能,语音合成提供将输入文本合成为语音二进制数据流或者音频下载url的功能
参数中的asr, tts, audio如果不传入,即表示使用默认参数,如果不符,会影响服务的使用
接口地址:https://api.tgenie.cn/api/v1/tts

实时语音识别,对于实时采集到的录音流传输做识别,适用于麦克风实时采集数据,边接收边识别的不间断识别的场景。
/aispeech/runtime/v3/recognize?productId=914005898&token=a616baa5-c203-4b0f-8cd0-1cd7418d734d

下载FaceGoodLiveLink
FaceGoodLiveLink.exe程序请从这里下载:data_all code : n6ty

启动

python zsmeif.py


 



当终端显示“run main”消息时,请运行位于/example/ueExample/文件夹中的FaceGoodLiveLink.exe
 



在UE项目的屏幕上点击并按住鼠标左键,即可与AI模型对话并等待语音和动画响应。
 




错误处理
1:ERROR: Handshake status 429 Too Many Requests -+-+- {'server': 'nginx/1.15.3', 'date': 'Mon, 04 Mar 2024 03:08:29 GMT', 'content-type': 'application/json; charset=UTF-8', 'transfer-encoding': 'chunked', 'connection': 'keep-alive', 'cache-control': 'no-store, no-cache, must-revalidate, max-age=0', 'x-content-type-options': 'nosniff', 'x-frame-options': 'DENY', 'x-xss-protection': '1 ; mode=block'} -+-+- None
ERROR: Could not create connection: ws://api.tgenie.cn/runtime/v3/recognize?res=comm&productId=914020983&token=114d40a6-ad9d-408e-b47a-16d9c9fe1a9d
 



在 HTTP 协议中,响应状态码 429 Too Many Requests 表示在一定的时间内用户发送了太多的请求,即超出了“频次限制”。
去会话精灵中申请一个产品帐号

2:Error Main loop: Expecting value: line 1 column 1 (char 0)
 


在会话精灵中选择 "智能语音API接入"。
这两个问题都是配置文件里的参数没有设置好。注意是一句话识别,传入的语音数据时长不能超过60s。


音频产生表情的流程
常规的神经网络模型训练大致可以分为三个阶段:数据采集制作、数据预处理和数据模型训练。
第一阶段,数据采集制作。这里主要包含两种数据,分别是声音数据和声音对应的动画数据。声音数据主要是录制中文字母表的发音,以及一些特殊的爆破音,包含尽可能多中发音的文本。而动画数据就是,在 maya 中导入录制的声音数据后,根据自己的绑定做出符合模型面部特征的对应发音的动画;
第二阶段,主要是通过 LPC 对声音数据做处理,将声音数据分割成与动画对应的帧数据,及 maya 动画帧数据的导出。
第三阶段就是将处理之后的数据作为神经网络的输入,然后进行训练直到 loss 函数收敛即可。
项目地址:GitHub - FACEGOOD/FACEGOOD-Audio2Face: http://www.facegood.cc  更多:机器之心

在Unity中应用可以用过构建python服务,Unity客户端开启麦克风录制音频,将音频数据发送给python服务端,服务端转换为驱动BlendShape的权重数据后,返回给Unity客户端进行驱动。需要注意的是Unity中BlendShape的权重范围并不是[-1,1],因此需要进行映射。

 



参考:
国内首批!FACEGOOD以主要成员正式加入Metaverse Standard Forum 出处:bilibili 作者:FACEGOOD官方

近实时智能应答 2D 数字人搭建  作者:薛东 AWS 解决方案架构师,负责基于 AWS 云平台的解决方案咨询和设计

别再狂吹数字人了 作者:商隐社

有道数字人形象定制

METAHUMAN轻松制作高保真数字人类

Facegood面捕全流程:AVATARY操作方法

Unity & FACEGOOD Audio2Face 通过音频驱动面部BlendShape

实时智能应答数字人搭建 作者 金双石科技

这篇关于实时智能应答数字人搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/784563

相关文章

捷瑞数字业绩波动性明显:关联交易不低,募资必要性遭质疑

《港湾商业观察》施子夫 5月22日,山东捷瑞数字科技股份有限公司(以下简称,捷瑞数字)及保荐机构国新证券披露第三轮问询的回复,继续推进北交所上市进程。 从2023年6月递表开始,监管层已下发三轮审核问询函,关注到捷瑞数字存在同业竞争、关联交易、募资合理性、期后业绩波动等焦点问题。公司的上市之路多少被阴影笼罩。​ 业绩波动遭问询 捷瑞数字成立于2000年,公司是一家以数字孪生驱动的工

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要

【网络安全的神秘世界】搭建dvwa靶场

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 下载DVWA https://github.com/digininja/DVWA/blob/master/README.zh.md 安装DVWA 安装phpstudy https://editor.csdn.net/md/?articleId=1399043

基于 Java 实现的智能客服聊天工具模拟场景

服务端代码 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class Serv

剑指offer(C++)--和为S的两个数字

题目 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 class Solution {public:vector<int> FindNumbersWithSum(vector<int> array,int sum) {vector<int> result;int len = array.size();if(

剑指offer(C++)--数组中只出现一次的数字

题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 class Solution {public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {int len = data.size();if(len<2)return;int one = 0;for(int i

神经网络第四篇:推理处理之手写数字识别

到目前为止,我们已经介绍完了神经网络的基本结构,现在用一个图像识别示例对前面的知识作整体的总结。本专题知识点如下: MNIST数据集图像数据转图像神经网络的推理处理批处理  MNIST数据集          mnist数据图像 MNIST数据集由0到9的数字图像构成。像素取值在0到255之间。每个图像数据都相应地标有“7”、“2”、“1”等数字标签。MNIST数据集中,

cocospod 搭建环境和使用

iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources -a https://ruby.taobao.org/ 3.验证新源是否替换成功 $gem sources -l 4.安装CocoaPods (1)  $sudo gem