主頁 >  其他 > 南洋才女,德藝雙馨,孫燕姿本尊回應AI孫燕姿(基于Sadtalker/Python3.10)

南洋才女,德藝雙馨,孫燕姿本尊回應AI孫燕姿(基于Sadtalker/Python3.10)

2023-06-08 08:18:05 其他

孫燕姿果然不愧是孫燕姿,不愧為南洋理工大學的高材生,近日她在個人官方媒體博客上寫了一篇英文版的長文,正式回應現在滿城風雨的“AI孫燕姿”現象,流行天后展示了超人一等的智識水平,行文優美,綿恒雋永,對AIGC藝術表現得極其克制,又相當寬容,充滿了語言上的古典之美,表現出了“任彼如泰山壓頂,我只當清風拂面”的博大胸懷,

本次我們利用edge-tts和Sadtalker庫讓AI孫燕姿朗誦本尊的博文,讓流行天后念給你聽,

Sadtalker配置

之前我們曾經使用百度開源的PaddleGAN視覺效果模型中一個子模塊Wav2lip實作了人物口型與輸入的歌詞語音同步,但Wav2lip的問題是虛擬人物的動態效果只能局限在嘴唇附近,事實上,音頻和不同面部動作之間的連接是不同的,也就是說,雖然嘴唇運動與音頻的聯系最強,但可以通過不同的頭部姿勢和眨眼來反作用于音頻,

和Wav2lip相比,SadTaker是一種通過隱式3D系數調制的風格化音頻驅動Talking頭部視頻生成的庫,一方面,它從音頻中生成逼真的運動系數(例如,頭部姿勢、嘴唇運動和眨眼),并單獨學習每個運動以減少不確定性,對于表達,通過從的僅嘴唇運動系數和重建的渲染三維人臉上的感知損失(唇讀損失,面部landmark loss)中提取系數,設計了一種新的音頻到表達系數網路,

對于程式化的頭部姿勢,通過學習給定姿勢的殘差,使用條件VAE來對多樣性和逼真的頭部運動進行建模,在生成逼真的3DMM系數后,通過一種新穎的3D感知人臉渲染來驅動源影像,并且通過源和驅動的無監督3D關鍵點生成扭曲場,并扭曲參考影像以生成最終視頻,

Sadtalker可以單獨配置,也可以作為Stable-Diffusion-Webui的插件而存在,這里推薦使用Stable-Diffusion插件的形式,因為這樣Stable-Diffusion和Sadtalker可以共用一套WebUI的界面,更方便將Stable-Diffusion生成的圖片做成動態效果,

進入到Stable-Diffusion的專案目錄:

cd stable-diffusion-webui

啟動服務:

python3.10 webui.py

程式回傳:

Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]  
Version: v1.3.0  
Commit hash: 20ae71faa8ef035c31aa3a410b707d792c8203a3  
Installing requirements  
Launching Web UI with arguments: --xformers --opt-sdp-attention --api --lowvram  
Loading weights [b4d453442a] from D:\work\stable-diffusion-webui\models\Stable-diffusion\protogenV22Anime_protogenV22.safetensors  
load Sadtalker Checkpoints from D:\work\stable-diffusion-webui\extensions\SadTalker\checkpoints  
Creating model from config: D:\work\stable-diffusion-webui\configs\v1-inference.yaml  
LatentDiffusion: Running in eps-prediction mode  
DiffusionWrapper has 859.52 M params.  
Running on local URL:  http://127.0.0.1:7860

代表啟動成功,隨后http://localhost:7860

選擇插件(Extensions)選項卡

點擊從url安裝,輸入插件地址:github.com/Winfredy/SadTalker

安裝成功后,重啟WebUI界面,

接著需要手動下載相關的模型檔案:

https://pan.baidu.com/s/1nXuVNd0exUl37ISwWqbFGA?pwd=sadt

隨后將模型檔案放入專案的stable-diffusion-webui/extensions/SadTalker/checkpoints/目錄即可,

接著配置一下模型目錄的環境變數:

set SADTALKER_CHECKPOINTS=D:/stable-diffusion-webui/extensions/SadTalker/checkpoints/

至此,SadTalker就配置好了,

edge-tts音頻轉錄

之前的歌曲復刻是通過So-vits庫對原歌曲的音色進行替換和預測,也就是說需要原版的歌曲作為基礎資料,但目前的場景顯然有別于歌曲替換,我們首先需要將文本轉換為語音,才能替換音色,

這里使用edge-tts庫進行文本轉語音操作:

import asyncio  
  
import edge_tts  
  
TEXT = '''  
  
As my AI voice takes on a life of its own while I despair over my overhanging stomach and my children's every damn thing, I can't help but want to write something about it.  
  
My fans have officially switched sides and accepted that I am indeed 冷門歌手 while my AI persona is the current hot property. I mean really, how do you fight with someone who is putting out new albums in the time span of minutes.  
  
Whether it is ChatGPT or AI or whatever name you want to call it, this "thing" is now capable of mimicking and/or conjuring,  unique and complicated content by processing a gazillion chunks of information while piecing and putting together in a most coherent manner the task being asked at hand. Wait a minute, isn't that what humans do? The very task that we have always convinced ourselves; that the formation of thought or opinion is not replicable by robots, the very idea that this is beyond their league, is now the looming thing that will threaten thousands of human conjured jobs. Legal, medical, accountancy, and currently, singing a song.   
  
You will protest, well I can tell the difference, there is no emotion or variance in tone/breath or whatever technical jargon you can come up with. Sorry to say, I suspect that this would be a very short term response.  
  
Ironically, in no time at all, no human will be able to rise above that. No human will be able to have access to this amount of information AND make the right calls OR make the right mistakes (ok mayyyybe I'm jumping ahead). This new technology will be able to churn out what exactly EVERYTHING EVERYONE  needs. As indie or as warped or as psychotic as you can get, there's probably a unique content that could be created just for you. You are not special you are already predictable and also unfortunately malleable.  
  
At this point, I feel like a popcorn eater with the best seat in the theatre. (Sidenote: Quite possibly in this case no tech is able to predict what it's like to be me, except when this is published then ok it's free for all). It's like watching that movie that changed alot of our lives Everything Everywhere All At Once, except in this case, I don't think it will be the idea of love that will save the day.   
  
In this boundless sea of existence, where anything is possible, where nothing matters, I think it will be purity of thought, that being exactly who you are will be enough.   
  
With this I fare thee well.  
  
'''  
  
VOICE = "en-HK-YanNeural"  
OUTPUT_FILE = "./test_en1.mp3"  
  
  
async def _main() -> None:  
    communicate = edge_tts.Communicate(TEXT, VOICE)  
    await communicate.save(OUTPUT_FILE)  
  
  
if __name__ == "__main__":  
    asyncio.run(_main())

音頻使用英文版本的女聲:en-HK-YanNeural,關于edge-tts,請移步:口播神器,基于Edge,微軟TTS(text-to-speech)文字轉語音免費開源庫edge-tts語音合成實踐(Python3.10),這里不再贅述,

隨后再將音頻檔案的音色替換為AI孫燕姿的音色即可:AI天后,在線飆歌,人工智能AI孫燕姿模型應用實踐,復刻《遙遠的歌》,原唱晴子(Python3.10),

本地推理和爆顯存問題

準備好生成的圖片以及音頻檔案后,就可以在本地進行推理操作了,訪問 localhost:7860

這里輸入引數選擇full,如此會保留整個圖片區域,否則只保留頭部部分,

生成效果:

SadTalker會根據音頻檔案生成對應的口型和表情,

這里需要注意的是,音頻檔案只支持MP3或者wav,

除此以外,推理程序中Pytorch庫可能會報這個錯誤:

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 6.00 GiB total capacity; 5.38 GiB already allocated; 0 bytes free; 5.38 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

這就是所謂的"爆顯存問題",

一般情況下,是因為當前GPU的顯存不夠了所導致的,可以考慮縮小torch分片檔案的體積:

set PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:60

如果音頻檔案實在過大,也可以通過ffmpeg對音頻檔案切片操作,分多次進行推理:

ffmpeg -ss 00:00:00 -i test_en.wav -to 00:30:00 -c copy test_en_01.wav

藉此,就解決了推理程序中的爆顯存問題,

結語

和Wav2Lip相比,SadTalker(Stylized Audio-Driven Talking-head)提供了更加細微的面部運動細節(如眼睛眨動)等等,可謂是細致入微,巨細靡遺,當然隨之而來的是模型數量和推理成本以及推理時間的增加,但顯然,這些都是值得的,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/554568.html

標籤:其他

上一篇:Serverless: AI everywhere的下一塊拼圖

下一篇:返回列表

標籤雲
其他(160549) Python(38215) JavaScript(25478) Java(18209) C(15237) 區塊鏈(8270) C#(7972) AI(7469) 爪哇(7425) MySQL(7235) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5873) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4585) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2434) ASP.NET(2403) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1983) 功能(1967) HtmlCss(1952) Web開發(1951) C++(1933) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1879) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 南洋才女,德藝雙馨,孫燕姿本尊回應AI孫燕姿(基于Sadtalker/Pytho

    孫燕姿果然不愧是孫燕姿,不愧為南洋理工大學的高材生,近日她在個人官方媒體博客上寫了一篇英文版的長文,正式回應現在滿城風雨的“AI孫燕姿”現象,流行天后展示了超人一等的智識水平,行文優美,綿恒雋永,對AIGC藝術表現得極其克制,又相當寬容,充滿了語言上的古典之美,表現出了“任彼如泰山壓頂,我只當清風拂 ......

    uj5u.com 2023-06-08 08:18:05 more
  • Serverless: AI everywhere的下一塊拼圖

    摘要:本文介紹華為云函式作業流(FunctionGraph)的靈活、速度,如何讓開發人員提升工程效率,縮短TTM等 本文分享自華為云社區《華為云FunctionGraph函式作業流—— Serverless“遇見”AI,釋放AI生產力》,作者: 華為云PaaS服務小智 。 華為云Serverless ......

    uj5u.com 2023-06-08 08:17:39 more
  • 讀改變未來的九大演算法筆記06_圖形識別

    ![](https://img2023.cnblogs.com/blog/3076680/202306/3076680-20230606230540797-1528239861.png) # 1. 人工智能研究人員在過去幾十年中學到的最重要的教訓之一 ## 1.1. 看似智能的行為有可能從看似隨機的 ......

    uj5u.com 2023-06-08 08:17:04 more
  • 一些動態幾何問題的流式演算法

    本文為 STOC'04 Algorithms for Dynamic Geometric Problems over Data Streams 的閱讀筆記。 論文作者 Piotr Indyk, 研究領域:高維幾何問題, 流式演算法,摘要資料結構維護, 稀疏傅立葉變換。 ## 1 近似演算法 在假設 $\ ......

    uj5u.com 2023-06-08 08:16:52 more
  • 【acwing】Trie字串統計

    Trie樹 學習感受 相比于之前學習的kmp匹配演算法,Trie樹的實作還是非常好理解的。(kmp演算法太難了orz) 從直觀的模擬程序來看,trie樹就像一顆樹一樣,從上(根節點)到下(葉節點)有序串聯起來組成一個字串。 每一個額外標記結束的位置表示字串的結束,通過計算標記數即可指導一共有多少該字 ......

    uj5u.com 2023-06-08 08:16:44 more
  • 位元組技術面都過了,薪資都談好了20K*13結果還是被刷了,問HR,原因

    分享下自己的求職小故事。在一家公司軟體測驗技術面試已經過了,然后和最終面試官溝通了下,面試官提出來一個薪資數字,我接受了這個提議并和hr同步了這個數字。再然后被拒了,理由就是期望薪資和職級不匹配。我詢問后有郵件回復我為什么面試官和面試的地區公司hr說了不算。不知道這是不是大家都曾經遇到過的情況,心情... ......

    uj5u.com 2023-06-08 08:15:34 more
  • “古老”編程語言的最新選擇!華為云發布CodeArts IDE for C/C++

    摘要:華為云CodeArts IDE for C/C++正式上線,歡迎體驗。 本文分享自華為云社區《“古老”編程語言的最新選擇!華為云發布CodeArts IDE for C/C++》,作者:華為云頭條 。 C語言是一種“古老”且應用至今的高級編程語言,它是多種流行編程語言的根源。C++進一步擴充和 ......

    uj5u.com 2023-06-08 08:14:18 more
  • jenkins~權限控制

    jenkins上管理的任務比較多,這時需要有一定的權限管控機制,我們選擇了插件`Role-based Authorization Strategy`來做這事,它支持按著專案前綴去控制你的任務,主要思想還是rbac的模式,通過角色系結權限,通過用戶來系結角色。 # 安裝之后 ![](https://i ......

    uj5u.com 2023-06-08 08:13:57 more
  • 回學校做了個分享

    這周四,收到通知說我能不能周日的時候來學校給大一剛結束的學弟學妹們做一個分享,剛開始是有點猶豫的 因為之前從來沒做過相關的分享,而且覺得時間有點緊怕來不及準備,上一次上臺講東西的時候還是轉正答辯那會 ![image](https://img2023.cnblogs.com/blog/2958925/ ......

    uj5u.com 2023-06-08 08:12:23 more
  • ChatGPT玩法(三):AI玩轉PPT

    在線免費體驗ChatGpt:https://www.topgpt.one;作為許多職場人士的必備工具,PPT制作一直是一個瑣碎而費時的任務。但最近我發現了一個非常有用的工具網站,它可以通過人工智能來制作PPT,這款工具可以輕松制作出漂亮和專業的PPT,讓你在短短的三分鐘內完成制作,效果也是非常出色的... ......

    uj5u.com 2023-06-08 08:11:58 more