MuseTalk模型构建指南

news2024/9/20 5:40:49

一、介绍

MuseTalk 是由腾讯团队开发的先进技术,它是一个实时的音频驱动唇部同步模型。该模型能够根据输入的音频信号,自动调整数字人物的面部图像,使其唇形与音频内容高度同步。

二、特点

  • 多语言支持:该模型支持多种语言,包括中文、英文和日文,能够服务于不同语言的用户群体。
  • 逼真的同步效果 :MuseTalk 生成的唇部动作与音频内容高度同步。
  • 出色的生成能力 :‌MuseTalk 在口型生成方面表现出色,‌尤其擅长真人视频生成。‌这种高度逼真的口型同步效果提升了视频的真实感和观看体验。‌

三、模型构建过程

1. 更新基础软件包:

apt-get update
apt-get upgrade
apt-get install -y wget unzip lsof net-tools openssh-server git git-lfs gcc cmake build-essential
apt-get install -y libsndfile1 espeak-ng ffmpeg libasound-dev libportaudio2 libsqlite3-dev

2. 安装 GPU 依赖:CUDA

  • 下载 CUDA Toolkit 的密钥环
    • 使用 wget 工具从 NVIDIA 官方下载 CUDA Toolkit 的 GPG 密钥环。这个密钥环用于在安装过程中验证 CUDA 包的签名。
  • 安装 CUDA Toolkit 的密钥环
    • 使用 dpkg 工具安装下载的密钥环 .deb 文件。这确保了系统可以验证 CUDA 包的真实性。
  • 更新本地包索引
    • 使用 apt-get update 命令更新本地的软件包索引,确保安装时使用的是最新的包信息。
  • 安装 CUDA Toolkit
    • 使用 apt-get install 命令安装 CUDA Toolkit 12.1。-y选项自动接受所有提示,无需手动确认。
      以下是具体的命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
dpkg -i cuda-keyring_1.0-1_all.deb
apt-key del 7fa2af80
apt-get update
apt-get -y install cuda-toolkit-12-1
  • 配置系统环境
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
source ~/.bashrc

3. 安装 Miniconda:

  • 下载 Miniconda 安装脚本 :
    • 使用 wget 命令从 Anaconda 的官方仓库下载 Miniconda 的安装脚本。Miniconda 是一个更小的 Anaconda 发行版,包含了 Anaconda 的核心组件,用于安装和管理 Python 包。
  • 运行 Miniconda 安装脚本 :
    • 使用 bash 命令运行下载的 Miniconda 安装脚本。这将启动 Miniconda 的安装过程。
# 下载 Miniconda 安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-x86_64.sh

# 运行 Miniconda 安装脚本
bash Miniconda3-py310_22.11.1-1-Linux-x86_64.sh

# 初次安装需要激活base环境
conda init bash
source ~/.bashrc
  • 注意事项:
  • 请确保您的系统是 Linux x86_64 架构,因为下载的 Miniconda 版本是为该架构设计的。
  • 在运行安装脚本之前,您可能需要使用 chmod +x Miniconda3-py310_22.11.1-1-Linux-x86_64.sh 命令给予脚本执行权限。
  • 安装过程中,您将被提示是否同意许可协议,以及是否将 Miniconda 初始化。通常选择 "yes" 以完成安装和初始化。
  • 安装完成后,您可以使用 conda 命令来管理 Python 环境和包。

如果链接无法访问或解析失败,可能是因为网络问题或链接本身的问题。请检查网络连接,并确保链接是最新的和有效的。如果问题依旧,请访问 Anaconda 的官方网站获取最新的下载链接。

4. 从 github 仓库克隆项目:

  • 克隆存储库:
    • git clone https://gitee.com/empty-snow/MuseTalk.git --depth 1
    • 这个命令使用 git clone 从指定的 GitHub 地址克隆 "Linly-Talker" 项目。--depth 1 参数告诉 Git 只下载最新的历史记录,这减少了需要下载的数据量,使得克隆过程更快。如果没有 --depth 参数,默认情况下 Git 会克隆整个项目的所有提交历史。
  • 切换目录:
    • cd MuseTalk
    • 这个命令使用 cd(change directory)命令切换当前工作目录到刚才克隆的 "MuseTalk" 目录中。这意味着接下来执行的所有命令都是在该项目目录下执行。
# 克隆 MuseTalk 项目,只包含最新的提交历史
git clone https://gitee.com/empty-snow/MuseTalk.git --depth 1

# 切换到克隆的项目目录中
cd MuseTalk

请注意,如果 https://github.com/Kedreamix/Linly-Talker.git这个链接不存在或者无效,git clone 命令将不会成功克隆项目,并且会报错。确保链接是有效的,并且您有足够的权限访问该存储库。

5. 创建虚拟环境:

# 升级 pip
python -m pip install --upgrade pip

# 更换 pypi 源加速库的安装
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 创建一个名为 musetalk 的新虚拟环境,并指定 Python 版本为 3.10.8
conda create -n musetalk python=3.10.8
# 激活新创建的虚拟环境
conda activate musetalk

6. 下载预训练模型:

  • 切换目录 :

    • cd /MuseTalk
    • 这个命令用于切换当前工作目录到 /MuseTalk。这通常是一个项目的根目录,其中包含了项目的所有文件和子目录。
  • 下载权重 :

  • weights

  • sd-vae-ft-mse

  • whisper

  • dwpose

  • face-parse-bisent

  • resnet18

进入以上链接,按照下面的要求进行模型下载和保存:

./models/
├── musetalk
│   └── musetalk.json
│   └── pytorch_model.bin
├── dwpose
│   └── dw-ll_ucoco_384.pth
├── face-parse-bisent
│   ├── 79999_iter.pth
│   └── resnet18-5c106cde.pth
├── sd-vae-ft-mse
│   ├── config.json
│   └── diffusion_pytorch_model.bin
└── whisper
    └── tiny.pt

7. 安装模型依赖库:

  • 切换到项目目录
# 切换到项目工作目录
cd /MuseTalk
  • 安装 FFmpeg
# 在base环境中安装特定版本的FFmpeg
conda install ffmpeg==4.2.2
  • 安装 WebUI 依赖
# 安装WebUI界面所需的Python依赖库
pip install -r requirements.txt
  • 安装 TensorBoard nightly 版本
# 安装TensorBoard的nightly版本,使用阿里云的PyPI镜像源
pip install tb-nightly -i https://mirrors.aliyun.com/pypi/simple
  • 安装 OpenMIM
# 安装OpenMIM,一个用于管理模型和依赖的工具
pip install --no-cache-dir -U openmim
  • 安装 MMEngine
# 安装MMEngine,一个通用的深度学习训练框架
mim install mmengine
  • 安装 MMCV
# 安装MMCV(MegEngine Model Center Vision),至少2.0.1版本
mim install "mmcv>=2.0.1"
  • 安装 MMDetection
# 安装MMDetection,至少3.1.0版本的目标检测框架
mim install "mmdet>=3.1.0"
  • 安装 MMPose
# 安装MMPose,至少1.1.0版本的人体姿态估计框架
mim install "mmpose>=1.1.0"

8. 运行项目:

cd /MuseTalk
python app.py

四、网页演示

2222222222.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为何我建议你学会Queue集合

先赞后看,南哥助你Java进阶一大半 PriorityQueue的底层数据结构就如andrewlock.net网站提供的图一样,虽然PriorityQueue是一个平衡二叉堆,但JDK底层的实现却是:一个普普通通的二维数组!! 我是南哥&#xff…

计算机网络 数据链路层2

ALOHA:想发就发 CSMA 载波监听多路访问协议 CS:载波监听,在发送数据之前检测总线上是否有其他计算机在发送数据 1-坚持CSMA:主机想发送消息,需要监听信道; 信道空闲则直接传输信息; 信道忙碌则一直监听,直…

半路出家程序员感受:非科班出身如何转行程序员? 答案在这

🤟 基于入门网络安全打造的:👉黑客&网络安全入门&进阶学习资源包 非科班出身是指那些大学专业为非计算机相关专业的人群,多数人对于计算机基础了解比较少,甚至零基础。这部分人群中有相当多一部分处于对于编程…

dinput8.dll错误应该如何修复呢?五种快速修复dinput8.dll错误的问题

dinput8.dll文件是DirectInput库的一部分,主要负责处理游戏控制器的输入,如键盘、鼠标和游戏手柄等。这个文件通常位于Windows系统的System32文件夹中,是许多游戏和应用程序正常运行所必需的组件。它通过提供一个统一的接口来管理不同类型的输…

软媒市场-为企业提供了高效便捷的软文发布渠道和提升品牌曝光度

软媒市场是软文媒体自助发布平台,作为数字营销领域的一股重要力量,正日益受到企业与个人的青睐。这些平台通过整合海量媒体资源,提供从内容创作到多渠道发布的一站式解决方案,极大地提升了品牌曝光度和市场影响力。 一、平台优势 ‌资源丰富‌:软媒市场汇聚了包括门户网站、行业…

打造主播美颜工具:视频美颜SDK与直播美颜API的集成与优化详解

本篇文章,小编将深入讲解视频美颜SDK与直播美颜API的集成与优化策略,帮助开发者构建出色的主播美颜工具。 一、视频美颜SDK与直播美颜API的核心功能 直播美颜API则提供了实时美颜处理的能力,确保美颜效果在直播过程中流畅呈现,不…

【蔡英丽医生】颈动脉斑块:隐形杀手?揭秘症状与治疗新策略!

在繁忙的生活节奏中,你是否曾关注过隐藏在身体深处的健康隐患——颈动脉斑块?这个看似不起眼的“小东西”,实则可能成为引发中风、记忆力衰退等严重疾病的幕后黑手。今天,就让我们一起揭开颈动脉斑块的神秘面纱,了解它…

c++--智能指针(RAII)

智能指针可以帮助我们管理动态空间,即自动释放动态空间。 --------------------------------------------------------------------------------------------------------------------------------- 简单原理 事实上,智能指针的原理就是将指向动态空间…

一目了然的图解一般AI与AI Agent到底区别在哪

全部使用Midjourney绘成,绘制魔法放出自取 魔咒1 Lego shaped Skywalker Luke and Lego shaped Anakin battle --niji 6 --ar 1:1 魔咒2 Lego-style Luke Skywalker and Lego-style Anakin are sitting in a caf talking. --niji 6 --ar 1:1 魔咒3 Anakin in …

18、Gemini-Pentest-v2

难度 中 目标 root权限 一个flag 靶机启动环境为VMware kali 192.168.152.56 靶机 192.168.152.63 信息收集 web测试 访问80端口 上面介绍了一下这个系统是一个内部系统,让员工查看他们的个人资料还可以导出为PDF 页面还有一个链接是UserList可以访问但是页面什…

【自然语言处理】调用NLTK数据失败‘wordnet‘和‘punkt‘不存在[Errno 11004]问题解决

wordnet报错 明明已经按照了nltk包&#xff0c;但使用 WordNet 语料库时依然报错提示数据不存&#xff0c;依据以下代码在python中下载wordnet仍然报错&#xff1a; import nltk nltk.download(wordnet)运行后始终提示&#xff1a; [nltk_data] Error loading wordnet: <…

【算法】PageRank

一、引言 PageRank是由谷歌创始人拉里佩奇和谢尔盖布林在斯坦福大学读研究生时发明的一种算法&#xff0c;用于衡量网页的重要性。它基于一个简单的假设&#xff1a;更重要的网页会有更多的链接指向它。 二、算法原理 PageRank算法的核心思想是&#xff0c;一个网页的重要性可以…

如何找到适合的IT外包服务商

在信息技术迅速发展的今天&#xff0c;IT外包服务已成为企业运营中不可或缺的一部分。选择合适的IT外包服务商对于确保项目成功、提高效率和降低成本至关重要。下面一起探讨评估和选择IT外包服务商的关键因素。 关键因素一&#xff1a;专业资质与认证 选择IT外包服务商时&…

ROS 工具箱系统要求

ROS 工具箱系统要求 要为 ROS 或 ROS 2 生成自定义消息&#xff0c;或从 MATLAB 或 Simulink 软件中部署 ROS 或 ROS 2 节点&#xff0c;您必须构建必要的 ROS 或 ROS 2 软件包。要构建这些软件包&#xff0c;您必须具备 Python 软件、CMake 软件以及适用于您的平台的 C 编译器…

分支和循环以及猜数字游戏的实现

分支和循环以及猜数字游戏的实现目录 随机书生成randsrandtime设置随机数的范围 猜数字游戏的实现 随机书生成 rand C语言中有一个函数叫rand函数&#xff0c;它可以生成随机数&#xff0c;代码格式如下&#xff1a; int rand&#xff08;void&#xff09;rand函数会返回一个…

Unity(2022.3.41LTS) - UI详细介绍- Button(按钮)TMP

目录 零.简介 一、基本功能与重要性 二、属性和设置详解 三、使用方法深入探讨 四、优化和注意事项 零.简介 在 Unity 中&#xff0c;按钮&#xff08;Button&#xff09;是用户界面中非常重要的交互元素之一。以下是对 Unity 中按钮的更详细介绍&#xff1a; 一、基本功…

【docker】docker 是什么

docker 是什么 Docker 本质Docker 的引擎迭代Docker 和虚拟机的区别Docker 为什么比虚拟机资源利用率高&#xff0c;启动快Docker 和 JVM 虚拟化的区别&#xff1f; Docker 本质 Docker 本质其实是 LXC 之类的增强版&#xff0c;它本身不是容器&#xff0c;而是容器的易用工具…

《黑神话:悟空》背后的渲染技术解析

《黑神话&#xff1a;悟空》作为备受瞩目的国产单机游戏&#xff0c;承载了深厚的文化底蕴&#xff0c;其背后的渲染技术无疑是推动其视觉表现达到新高度的关键。这款游戏不仅融合了传统与创新的角色设计&#xff0c;还通过一系列前沿的图形渲染技术&#xff0c;为玩家带来了前…

JVM面试(三)类加载过程

什么是类加载&#xff1f; 前面的文章已经说过&#xff0c;我们手动敲代码&#xff0c;写出来的文件是.java文件。 虚拟机编译之后&#xff0c;可识别的文件是.class文件。 但是在真正运行的时候&#xff0c;在内存中进行各种流转&#xff0c;通过程序来进行执行的时候&#…

【深度解析】GPT-3.5、GPT-4.0、GPT-4o mini的区别,你了解多少?

在人工智能的浪潮中&#xff0c;GPT系列模型如同璀璨的明星&#xff0c;吸引着无数开发者和研究者的目光。随着技术的不断进步&#xff0c;OpenAI推出了多个版本的GPT模型&#xff0c;其中GPT-3.5、GPT-4.0、GPT-4o mini各具特色。今天&#xff0c;我们就来深入探讨它们之间的区…