引言:一张图也能“说话”?

你有没有想过,一张静态的照片,配上一段音频,就能变成一段“对嘴”的视频?不是简单的口型同步,而是让图片中的人物“活过来”,仿佛真的在说话、唱歌、甚至表演。

这听起来像是科幻电影里的场景,但其实,这样的技术已经在我们身边悄然实现了。

之前已经介绍过一些类似项目的搭建:

FLOAThttps://www.cnblogs.com/cj8988/p/18984186 (带表情,比较快,但是会裁剪为正方形尺寸)

DICE-Talkhttps://www.cnblogs.com/cj8988/p/18957718   (带表情,比较慢)

ComfyUI_Sonichttps://www.cnblogs.com/cj8988/p/18952604 (基础版,效果好)

今天要介绍的这个开源项目 —— fantasy-talking,就是这样一个神奇的存在。它能让你上传一张图片和一段音频,自动生成一段“对嘴”的视频,效果之逼真,令人惊叹。

这篇文章,我们就来一起看看这个项目的魅力所在,以及它是如何做到“让图片开口说话”的。


一、项目简介:fantasy-talking 是什么?

fantasy-talking 是一个基于深度学习的开源项目,旨在实现将静态图片与语音音频结合,生成一段看起来像是人物在“说话”的视频。项目代码托管在 GitHub 上,目前已有不少开发者关注和贡献。

它的核心思想是通过语音驱动模型,生成与语音内容匹配的面部动作(尤其是嘴巴动作),再结合原始图片中的人物面部结构,生成一帧帧动态画面,最终合成一段视频。

简单来说,只要你有一张正面清晰的人脸照片,和一段你想让他“说”的语音,这个项目就能帮你生成一段“他”在说话的视频。


二、搭建过程:动手试试看

如果你对这个项目感兴趣,不妨亲自搭建一下试试看。以下是大致的搭建流程:

环境准备

  • Python 3.10
  • Anaconda
  • PyTorch
  • CUDA 环境(如果你有 GPU)
  • 磁盘空间大,因为要下载大量的模型文件

步骤概览

  1. 克隆仓库

    git clone https://github.com/Fantasy-AMAP/fantasy-talking.git
  2. 虚拟环境搭建

    我的环境是window中的Anaconda

    生成虚拟环境:(第一次)conda create -n fantasy-talkings python=3.10

    生成虚拟环境:(第一次)
    conda create -n fantasy-talkings python=3.10

    激活:
    conda activate fantasy-talkings

    #安装依赖:
    pip install -r requirements.txt
    #下面这个是gpu加速的,我在window没有安装成功
    #pip install flash_attn 如果直接使用pip install flash_attn安装失败,可以试试下面的方法: 1:下载whl文件:https://huggingface.co/lldacing/flash-attention-windows-wheel/tree/main 2:找到跟你pip show torch 和 python版本对应的whl下载 3:安装:
    pip install flash_attn-.....whl
  1. 模型下载

特别是第一个模型,非常的大。下载后存放到相应位置:

 ./models/Wan2.1-I2V-14B-720P。

 ./models/wav2vec2-base-960h。

 ./models

可以手动下载,也可以cli下载:

   pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.1-I2V-14B-720P --local-dir ./models/Wan2.1-I2V-14B-720P
huggingface-cli download facebook/wav2vec2-base-960h --local-dir ./models/wav2vec2-base-960h
huggingface-cli download acvlab/FantasyTalking fantasytalking_model.ckpt --local-dir ./models
  1. 运行项目

    pip install gradio spaces
    python app.py
  2. 查看结果
    上传你的图片和音频,等待一段时间后,查看生成的视频。


fantasy-talking:实现图片加音频生成对嘴数字人的更多相关文章

  1. ThinkPHP5.0图片上传生成缩略图实例代码

    很多朋友遇到这样一个问题,图片上传生成缩略图,很多人在本机(win)测试成功,上传到linux 服务器后错误. 我也遇到同样的问题.网上一查,有无数的人说是服务器临时文件目录权限问题. 几经思考后,发 ...

  2. PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转

    [强烈推荐]下载地址(github.com/masterexploder/PHPThumb). 注意这个类库有一个重名的叫phpThumb,只是大小写的差别,所以查找文档的时候千万注意. 在网站建设过 ...

  3. xcode UIImageView创建、图片加载、 音频文件播放、 延迟调用

    代码创建 /** 创建UIImageView */ UIImageView * imageView=[[UIImageView alloc]init]; /** 设置尺寸位置 */ imageView ...

  4. c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)

    c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...

  5. 图片加水印文字,logo。生成缩略图

    简单JSP代码 图片加水银文字 try { String path = request.getRealPath("images\\01.jpg"); out.print(path) ...

  6. ios新手开发——toast提示和旋转图片加载框

    不知不觉自学ios已经四个月了,从OC语法到app开发,过程虽然枯燥无味,但是结果还是挺有成就感的,在此分享我的ios开发之路中的小小心得~废话不多说,先上我们今天要实现的效果图: 有过一点做APP经 ...

  7. 火车头dede采集接口,图片加水印,远程图片本地化,远程无后缀的无图片本地化

    <?php /* [LocoySpider] (C)2005-2010 Lewell Inc. 火车采集器 DedeCMS 5.7 UTF8 文章发布接口 Update content: 图片加 ...

  8. Android 框架练成 教你打造高效的图片加载框架(转)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41874561,本文出自:[张鸿洋的博客] 1.概述 优秀的图片加载框架不要太多, ...

  9. iOS图片加载框架-SDWebImage解读

    在iOS的图片加载框架中,SDWebImage可谓是占据大半壁江山.它支持从网络中下载且缓存图片,并设置图片到对应的UIImageView控件或者UIButton控件.在项目中使用SDWebImage ...

  10. iOS图片加载新框架 - FlyImage

    FlyImage 整合了SDWebImage,FastImageCache,AFNetworking的优点,是一个新的性能高效.接口简单的图片加载框架. 特点 高效 可将多张小图解码后存储到同一张大图 ...

随机推荐

  1. 【经验】微信小程序|云后台比价(自带云开发、leancloud、bmob)(2022/10/31更新)

    这个博客UI不太好看,我另外也发在了博客园里,可点击链接查看. 文章目录 前言 1. 免费配额 2. 超过额度时收费情况 3. 另外的价钱 总结 前言 作为前端开发者,没有购买云服务器的习惯,在只需要 ...

  2. Ubuntu 中通过源码安装 Python3.x 环境

    最近在个人前后端分离项目时候, 后端接口程序 fastapi, 在部署的时候, 需要 Pyhton3.8 以上的环境, 但 ubuntu 默认的是 2.7 于是想通过源码安装的方式进行环境搭建. 下载 ...

  3. .NET程序启动就报错,如何截获初期化时的问题json

    一:背景 1. 讲故事 前几天训练营里的一位朋友在复习课件的时候,程序一跑就报错,截图如下: 从给出的错误信息看大概是因为json格式无效导致的,在早期的训练营里曾经也有一例这样的报错,最后定位下来是 ...

  4. MCP Server 实践之旅第 3 站:MCP 协议亲和性的技术内幕

    作者:柳下,西流 背景 在分布式架构设计中,请求亲和性是实现有状态服务高可用的核心技术,通过将具备相同会话标识的请求智能路由至固定计算节点,保障会话连续性及缓存有效性.然而在 Serverless 范 ...

  5. docker 发布netcore webapi

    新建项目testapi 新建Dockerfile 文件 FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-nanoserver-1809 AS base WO ...

  6. Java中XML相关

    XML的两种解析方式: 1.DOM解析:将标记语言一次性读入内存并在内存中生成一颗DOM树(适用于服务端) 优点:操作方便,可以对文档进行CURD操作 缺点:由于它是一次性全部读入内存的所以占用内存空 ...

  7. Doxygen基本使用教程

    前言 规范的注释是一个良好的编程习惯. Doxygen可以直接将注释提取为程序文档,便于开发人员使用 本文主要介绍了Doxygen的使用方法,更多细节请阅读官方文档 一.Doxygen是什么? dox ...

  8. 假如给你1亿的Redis key,如何高效统计?

    前言 有些小伙伴在工作中,可能遇到过这样的场景:老板突然要求统计Redis中所有key的数量,你随手执行了KEYS *命令,下一秒监控告警疯狂闪烁--整个Redis集群彻底卡死,线上服务大面积瘫痪. ...

  9. TypeScript中never类型的实用技巧

    本文由 ChatMoney团队出品 妙用一 当我们在一个项目中,可能会去改动一个在整个项目中应用很广泛的函数的参数类型,但是可能由于代码量比较庞大,我们不好排查改了之后哪些地方会出现问题,此时我们可以 ...

  10. 香港CN2优化线路带宽低延迟VPS服务器推荐

    原文:https://ichochy.com/posts/20231120.html CN2 CN2,中国电信下一代承载网(ChinaNetNextCarryingNetwork).CN2是一个多业务 ...