C#/WPF 使用开源Wav2Lip做自己的数字人(无需安装环境)

实现效果

Speaker

Wav2Lip概述

        2020年,来自印度海德拉巴大学和英国巴斯大学的团队,在ACM MM2020发表了的一篇论文《A Lip Sync Expert Is All You Need for Speech to Lip Generation In The Wild 》,在文章中,他们提出一个叫做Wav2Lip的AI模型,只需要一段人物视频和一段目标语音,就能够让音频和视频合二为一,人物嘴型与音频完全匹配。

对口型的技术,此前其实已经有很多,甚至在基于深度学习的技术出现之前,就有一些技术使角色的嘴唇形状与实际的语音信号相匹配。但这Wav2Lip 在目前的众多方法中,显示出了绝对优势。现有的其它方法,主要是基于静态图像,来输出与目标语音匹配的唇形同步视频,但对于动态的、在讲话的人物,唇形同步往往效果不佳。而 Wav2Lip 则可以直接将动态的视频,进行唇形转换,输出与目标语音相匹配的视频结果。

Wav2Lip模型结构

Wav2Lip模型是一个两阶段模型。

  • 第一阶段是:训练一个能够判别声音与嘴型是否同步的判别器;
  • 第二阶段是:采用编码-解码模型结构(一个生成器 ,两个判别器);

Wav2Lip生成数字人

        Wav2Lip生成数字人的步骤比较麻烦,有时候可能出现下载依赖包出错的问题,具体步骤如下:

1、从github下载wav2lip开源包

git clone https://github.com/Rudrabha/Wav2Lip

2、安装运行环境

安装conda

3、运行环境构建

conda create -n wav2lip python==3.10
conda activate wav2lip 
conda install ffmpeg
cd Wav2lip
pip install -r requirements.txt

4、预训练模型下载及存放

wav2lip.pth存放到checkpoints目录下
wav2lip_gan.pth存放到checkpoints目录下
lipsync_expert.pth存放到checkpoints目录下
visual_quality_disc.pth存放到checkpoints目录下
s3fd.pth存放到face_detection/detection/sfd/目录下

5、通过python命令合成数字人

 python inference.py --checkpoint_path checkpoints/wav2lip_gan.pth --face data/demo.png --audio data/demo.wav 

WPF生成启动数字人

        怎么让WPF启动虚拟数字人,之前我们通过WPF显示图片并播放语音,或者通过cef加载webm视频来实现数字人,这种方式的缺点是不能通过输入的文字实现嘴型与语音同步(C# 实现虚拟数字人_c#数字人源码-数字人直播源码-CSDN博客),现在我们通过Wav2Lip便可以轻松解决这个问题。

为了让C#直接调用Wav2Lip启动生成数字人,我讲程序和运行环境一起打包,你可以跳过那些繁琐的安装配置过程,直接下载运行。操作界面如下:

实例地址:https://download.csdn.net/download/lvxingzhe3/89076048

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/588626.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ansys Zemax | 如何将光栅数据从Lumerical导入至OpticStudio(上)

附件下载 联系工作人员获取附件 本文介绍了一种使用Ansys Zemax OpticStudio和Lumerical RCWA在整个光学系统中精确仿真1D/2D光栅的静态工作流程。将首先简要介绍方法。然后解释有关如何建立系统的详细信息。 本篇内容将分为上下两部分,上部将首先简要介绍方法工…

视频监控/云存储/磁盘阵列/AI智能分析平台EasyCVR集成时调用接口报跨域错误是什么原因?

EasyCVR视频融合平台基于云边端架构,可支持海量视频汇聚管理,能提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等视频服务。平台兼容性强,支持多协议、多类型设备接入,包括:国标G…

Git 如何合并多个连续的提交

我平常的编程喜欢是写一段代码就提交一次,本地一般不攒代码,生怕本地有什么闪失导致白干。但这样就又导致一个问题:查看历史日志时十分不方便,随便找一段提交可以看到: > git log --oneline 8f06be5 add 12/qemu-h…

数据基础设施投资将进一步扩大!请问现在开融资融券账户交易佣金利率最低是多少?怎么开户!

请问现在开融资融券账户交易佣金利率最低是多少?怎么开户! 融资融资利率没有最低的说法,利率一般都是相对的,融资融券的利率通常约为6%以上,当然这个也会根据市场货币的政策有所变动,比如现在的的货币政策…

多态--下

文章目录 概念多态如何实现的指向谁调谁?例子分析 含有虚函数类的大小是多少?虚函数地址虚表地址多继承的子类的大小怎么计算?练习题虚函数和虚继承 概念 优先使用组合、而不是继承; 继承会破坏父类的封装、因为子类也可以调用到父类的函数;…

vs2022 开始自己的第一个Python程序

这是针对于vs2022安装和使用教程(详细)创建Python项目的简单示例,旨在示范从项目搭建到程序运行的简单流程,代码就是打印Hello World,适合初次使用vs2022的用户~ 1.以Python为例,下拉到Python应用程序&…

VScode-配置文件

导入配置文件 ShiftCtrlp 输入: import 选择文件 点击确认 导出配置文件 设置选择导出 确认导出 保存为本地文件 保存文件

软件杯 深度学习YOLO抽烟行为检测 - python opencv

文章目录 1 前言1 课题背景2 实现效果3 Yolov5算法3.1 简介3.2 相关技术 4 数据集处理及实验5 部分核心代码6 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习YOLO抽烟行为检测 该项目较为新颖,适合作为竞赛课…

腾讯游戏基于 DeepFlow 的零侵扰可观测性进阶实战

腾讯不仅致力于开发广受欢迎的自研游戏,还与世界各地的知名游戏开发商合作,负责将这些游戏推向市场,让更多玩家享受游戏的乐趣。这些合作伙伴来自全球各地,使用多种多样的技术栈,这为游戏的稳定性维护提出了复杂的挑战…

从零到一:基于 K3s 快速搭建本地化 kubeflow AI 机器学习平台

背景 Kubeflow 是一种开源的 Kubernetes 原生框架,可用于开发、管理和运行机器学习工作负载,支持诸如 PyTorch、TensorFlow 等众多优秀的机器学习框架,本文介绍如何在 Mac 上搭建本地化的 kubeflow 机器学习平台。 注意:本文以 …

常见滤波算法(PythonC版本)

简介 受限于MCU自身的ADC外设缺陷,精度和稳定性通常较差,很多场景下需要用滤波算法进行补偿。滤波的主要目的是减少噪声与干扰对数据的影响,让数据更加接近真实值。 一阶低通滤波算 一阶低通滤波是一种信号处理技术,用于去除信号…

this.$route.back()时的组件缓存

1.this.$route.back()回到上一个路径会重新加载 跳转时,前一个路由的内容会被销毁,当回来时,重新创建树,组件内有保存了距离,没有一开始是0. 2.keep-alive写在router-view上面,这个地方所代表的路由会被保存,因此可以写在上面,保存,当返回时,如果是这个路由,里面的内容是一样…