在視頻剪輯作業中,假設我們拿到了一段電影或者電視劇素材,如果直接在剪輯的視頻中播放可能會遭遇著作權問題,大部分情況需要分離其中的人聲和背景音樂,隨后替換背景音樂進行二次創作,人工智能AI庫Spleeter可以幫我們完成大部分素材的人聲和背景音樂的分離流程,
Spleeter的模型源來自最大的音樂網站Deezer,底層基于深度學習框架Tensorflow,它可以通過模型識別出素材中的背景音樂素材,從而判斷出哪些是背景音樂,哪些是外部人聲,
Spleeter安裝
在終端執行運行pip命令:
pip3 install spleeter --user
安裝成功之后,輸入命令,檢查Spleeter安裝路徑:
pip show spleeter
程式回傳:
PS C:\Users\liuyue\www\videosite> pip show spleeter WARNING: Ignoring invalid distribution -umpy (c:\python39\lib\site-packages) Name: spleeter Version: 2.3.2
Summary: The Deezer source separation library with pretrained models based on tensorflow.
Home-page: https://github.com/deezer/spleeter
Author: Deezer Research
Author-email: [email protected]
License: MIT
Location: c:\users\liuyue\appdata\roaming\python\python39\site-packages Requires: ffmpeg-python, httpx, librosa, llvmlite, norbert, numpy, pandas, protobuf, tensorflow, typer
說明安裝成功,
如果不想在本地搭建深度學習環境,也可以通過Docker鏡像安裝,關于Docker,請移步:一寸宕機一寸血,十萬容器十萬兵|Win10/Mac系統下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群,這里不在贅述,
運行Docker命令:
docker pull deezer/spleeter:3.8-5stems
這里程式加上預訓練模型大概需要1.73GB的硬碟空間,
Spleeter分離人聲和背景音樂
Spleeter同時支持視頻和音頻檔案的人聲和背景音樂分離,Spleeter自帶三種預訓練模型:
1、人聲&伴奏聲分離模型 2 stems,分離出兩個音軌
2、鼓聲、貝斯聲及其它聲分離模型 4 stems,分離出4個音軌)
3、鼓聲、貝斯聲、鋼琴聲及其它聲分離模型 5 stems,分離出5個音軌)
后面兩種模型相對比較精細,它可以把人聲、鼓聲、貝斯聲、鋼琴聲各自分離成多個音軌,一般適合音樂行業的專業人士進行使用,
大多數情況下,我們只需要使用第一種模型 2 stems 即可,它將音頻分離成兩個音軌,人聲和背景音樂的聲音:
spleeter separate -o /output/ -p spleeter:2stems /test.mp3
這里-o代表輸出目錄,-p代表選擇的分離模型,最后是要分離的素材,
首次運行會比較慢,因為spleeter會下載預訓練模型,體積在1.73g左右,運行完畢后,會在輸出目錄生成分離后的音軌檔案:
accompaniment.wav
vocals.wav
accompaniment.wav代表人聲,vocals.wav是背景音樂,
如果是基于Docker安裝的,則需要運行對應的Docker命令:
docker run -v $(pwd)/output:/output deezer/spleeter:3.8-5stems separate test.mp3 -o /output
結語
Spleeter可以算是免費的人聲和背景音樂分離功能的最佳本地方案了,除了影視劇素材的人聲和背景音樂分離的二次創作,如果是在外部環境錄制的Vlog,環境音非常嘈雜,而又不得不現場錄音,那么使用Spleeter也可以將人聲從環境音中分離出來,節省了二次錄制畫外音的環節,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/550286.html
標籤:其他
