音频分离Spleeter的安装
生活随笔
收集整理的這篇文章主要介紹了
音频分离Spleeter的安装
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
音頻分離Spleeter的安裝
- 1.環境依賴及建立(需要已安裝anaconda)
- 1.0 項目源地址(github地址)
- 1.1 創建虛擬環境
- 1.2 激活虛擬環境
- 1.3 conda 安裝spleeter
- 1.4 下載一個示例音樂
- 1.5 將該音樂分離為兩部分
- 1.5.1 報錯:No module named numba.decorators
- 1.5.2 解決方案:
- 1.6 下載分類模型
- 1.6.1報錯ValueError:Can't load save_path when it is None.
- 1.6.2 解決方案:
- 1.6.3 繼續運行
- 1.6.4 查看分離結果
- 2. 參考
音軌分離軟件 spleeter,只需輸入一段命令就可以將音樂的人聲和各種樂器聲分離,支持 mp3、wav、ogg 等常見音頻格式。
Spleeter 基于 TensorFlow 開發,本身運行速度非常快。分離過程可以在 GPU 或 CPU 上執行。在 GPU 上運行,如果它將音頻文件分成四個音軌,可以比實時速度快 100 倍。
作為一位研究音頻的學生,還是忍不住來接觸了一下,接觸后自覺 該模型也確實不錯 ,不然也不可能在短短幾周在github標星上千。總而言之,就是 向大佬學習 。
1.環境依賴及建立(需要已安裝anaconda)
1.0 項目源地址(github地址)
具體內容可以參看原作者的github地址:
spleeter項目github鏈接
1.1 創建虛擬環境
conda create -n spleeter python=3.71.2 激活虛擬環境
conda activate spleeter激活之后是這樣的:
1.3 conda 安裝spleeter
conda install -c conda-forge spleeter這里要安裝的文件還是比較多的:
在這里我還是要說一下的,此處我們在下載個別庫的時候或許有時候網絡會慢,但是沒關系的,一次下載不成功,之后再去嘗試就好了嘛~
1.4 下載一個示例音樂
由于原項目的文件我沒有下載成功,此處我是在一個備份網址上下載的:
https://gitee.com/mirrors/spleeter/raw/master/audio_example.mp31.5 將該音樂分離為兩部分
spleeter separate -i audio_example.mp3 -p spleeter:2stems -o output1.5.1 報錯:No module named numba.decorators
運行時出錯:
1.5.2 解決方案:
出現這個問題是因為版本升級的問題,之前的一些庫不在原來的目錄下了,例如我們這里出現的 jit ,解決辦法,就是將該庫從最新的目錄下引入即可:
D:\softwares\Anaconda\install\envs\spleeter\Lib\site-packages\librosa\util\decorators.py 然后將 from numba.decorators 改為 from numba.core.decorators import jit as optional_jit 保存退出,再次運行即可已經么有出錯了:
1.6 下載分類模型
可以使用其他下載工具下載該模型文件,這里程序一直在搜索該模型文件而沒有繼續向下進行
https://github.com/deezer/spleeter/releases/download/v1.4.0/2stems.tar.gz然后將文件放置到pretrained_models文件夾下的2stems文件夾下:
之后再次運行該程序:
其他分類模型下載:其他分類模型文件下載鏈接(包括兩種的、四種的、五種的)
1.6.1報錯ValueError:Can’t load save_path when it is None.
但是這一步報錯了ValueError:Can’t load save_path when it is None.
1.6.2 解決方案:
在2stems文件夾內將之前下載的文件解壓即可,如下所示:
1.6.3 繼續運行
這下就沒有錯誤了,執行成功后會出現如下結果:
OMP: Info #212: KMP_AFFINITY: decoding x2APIC ids. OMP: Info #210: KMP_AFFINITY: Affinity capable, using global cpuid leaf 11 info OMP: Info #154: KMP_AFFINITY: Initial OS proc set respected: 0-7 OMP: Info #156: KMP_AFFINITY: 8 available OS procs OMP: Info #157: KMP_AFFINITY: Uniform topology OMP: Info #179: KMP_AFFINITY: 1 packages x 8 cores/pkg x 1 threads/core (8 total cores) OMP: Info #214: KMP_AFFINITY: OS proc to physical thread map: OMP: Info #171: KMP_AFFINITY: OS proc 0 maps to package 0 core 0 OMP: Info #171: KMP_AFFINITY: OS proc 1 maps to package 0 core 1 OMP: Info #171: KMP_AFFINITY: OS proc 2 maps to package 0 core 2 OMP: Info #171: KMP_AFFINITY: OS proc 3 maps to package 0 core 3 OMP: Info #171: KMP_AFFINITY: OS proc 4 maps to package 0 core 4 OMP: Info #171: KMP_AFFINITY: OS proc 5 maps to package 0 core 5 OMP: Info #171: KMP_AFFINITY: OS proc 6 maps to package 0 core 6 OMP: Info #171: KMP_AFFINITY: OS proc 7 maps to package 0 core 7 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 19160 thread 0 bound to OS proc set 0 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 19160 thread 1 bound to OS proc set 1 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 22880 thread 2 bound to OS proc set 2 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 18956 thread 8 bound to OS proc set 0 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 23428 thread 12 bound to OS proc set 4 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 6992 thread 3 bound to OS proc set 3 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 16912 thread 7 bound to OS proc set 7 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 4264 thread 6 bound to OS proc set 6 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 22176 thread 4 bound to OS proc set 4 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 5200 thread 9 bound to OS proc set 1 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 21368 thread 10 bound to OS proc set 2 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 15160 thread 11 bound to OS proc set 3 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 22224 thread 14 bound to OS proc set 6 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 19652 thread 5 bound to OS proc set 5 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 15096 thread 15 bound to OS proc set 7 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 24260 thread 13 bound to OS proc set 5 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 19524 thread 16 bound to OS proc set 0 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 17908 thread 17 bound to OS proc set 1 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 19516 thread 18 bound to OS proc set 2 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 24540 thread 19 bound to OS proc set 3 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 9528 thread 20 bound to OS proc set 4 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 6120 thread 21 bound to OS proc set 5 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 24108 thread 22 bound to OS proc set 6 OMP: Info #250: KMP_AFFINITY: pid 7496 tid 10668 thread 23 bound to OS proc set 7 INFO:spleeter:File output\audio_example/vocals.wav written succesfully INFO:spleeter:File output\audio_example/accompaniment.wav written succesfully1.6.4 查看分離結果
好了,到了這里我們就可以到對應文件夾(output)下取尋找解析的文件了,以我的為例:
2. 參考
1.spleeter使用
2.spleeter環境搭建遇到的問題解決辦法參考:
總結
以上是生活随笔為你收集整理的音频分离Spleeter的安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 自动批量打开网页
- 下一篇: Python异步高并发批量读取URL链接