AI 學習紀錄 — UVR Ultimate Vocal Remover 人聲移除

最近看到一個人聲替換的 Youtube 影片,雖然替換效果不太好,但人聲分離效果還不錯,就記下來了。由於這是一個有 GUI 的程式,暫時還無法在 docker 裡成功運行 vnc,所以就先記下來了。

關於在 nvidia docker 裡要運行 GPU 加速的分離,經過了多次的試驗,發現使用 nvcr.io/nvidia/pytorch 22.12-py3 是可以的,若是 23.08-py3 則不行,其它的版本沒試過。而 docker 裡面還要裝桌面環境和 VNC server, 會在後面說明。

基本環境安裝

一些基本的環境 (如 anaconda、共用 script) 的設定,已經寫在【共同操作】 這篇文章裡,請先看一下,確保所以指令可以正確運作。

建立 conda env

由於每個專案的相依性都不同,這裡會為每個案子都建立環境。

UVR – Ultimate Vocal Remover

UVR 專案提供了去人聲的功能,這也是本篇主要要描述的部份。

安裝下面套件。

啟動 UVR 與模型下載

進入 GUI 環境,並啟動 UVR 程式

點擊 「Start Processing」左邊的 ICON ,以進行模型下載。

首先下載 VR 模型

接著下載 Demusc 模型

 

人聲分離

接著回到主畫面,選擇要分離的音樂檔,與選擇模型

這邊選擇輸入的檔案,與輸出的目錄。選擇模型 DEMUCS,方法是 UVR_MODEL_1,開啟 GPU 加速,接著就可以開始進行人聲分離。分離會產生2個檔案,一個是樂器的檔案,一個是人聲的。

進一步分離

接著要將人聲的部份,再去除一些迴音。使用下面畫面的模型和方法

Docker 內的安裝

以下是在 nvidia docker image 「nvcr.io/nvidia/pytorch:22.12-py3」內的環境建置流程,安裝步驟同上。這邊要注意的是 vnc 要使用 tigervnc-standalone-server,使用 tightvnc 的話會因為不支援 xrandr 而無法啟動 UVR。

在 ~/.vnc/xstartup 輸入以下內容

然後下達下以命令來啟動 VNC Server

 

結語

這是人聲替換流程中的前置部份,先將人聲分離,由於人聲替換的部份效果不是很好,可能就不會再特別說明。

 

 

Leave a Reply(Name請以user_開頭,否則會被判定會垃圾息)

請輸入答案 4 + 6 =