Spleeter導入メモ~プログラムのプの字も知らないド素人が四分五裂しただけ~


<Spleeterとは?>
音楽ファイルを、ボーカルファイルと楽器演奏ファイルに分割する無料プログラム
(ただし、無料に釣られて面白半分に手を出すと地獄を見る)

 


<ここまでは簡単だった点>
Miniconda(Anacondaの一種)をインストール
https://docs.conda.io/en/latest/miniconda.html

Gitをインストール
https://git-scm.com/downloads

 


<それぐらいできるだろと思った点>
git clone https://github.com/deezer/spleeter
conda install -c conda-forge spleeter
conda env create -f spleeter/conda/spleeter-cpu.yaml
conda activate spleeter-cpu
(コマンドを一行ずつコピペして実行)

 


<つまづいた点>
Spleeterがインストールできない
conda env create -f spleeter/conda/spleeter-cpu.yaml を入力すると
エラー表記が返ってくる
EnvironmentFileNotFound: 'C:\Users\ユーザー名\spleeter\conda\spleeter-cpu.yaml' file not found
そこから先に進めない


<原因>
spleeter-cpu.yaml がない
(コマンド表記では所定の場所には見つからないとなっているがそもそもフォルダごとない)

<解決策>
右クリックから新規作成で、テキストドキュメントを作成

テキストドキュメント=メモ帳に以下をコピペする


name: spleeter-cpu

channels:
- conda-forge
- anaconda

dependencies:
- python=3.7
- tensorflow=1.14.0
- ffmpeg
- pandas==0.25.1
- requests
- pip
- pip:
- museval==0.3.0
- musdb==0.3.1
- norbert==0.2.1
- spleeter

上書き保存する

ファイルの名前を 新しいテキスト ドキュメント.txt から

spleeter-cpu.yaml にコピペで書き換える(注:拡張子ごと書き換える)

Cドライブのspleeterフォルダの中に 新しいフォルダー を作る

作成したフォルダの名前を conda に書き換える

condaフォルダの中に先ほど作成した spleeter-cpu.yaml をコピペする

この状態でAnaconda Prompt (miniconda3)をもう一度立ち上げて

conda env create -f spleeter/conda/spleeter-cpu.yaml

を入力するとインストールに成功する

 


<つまづいた点>
サンプル音源で分割をテストすると分割に成功しましたという表記が出るが
できたファイルがどこにあるのかわからない


<原因1>
spleeterフォルダの中に output または audio_output というフォルダがない

解説サイトにあるような
spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output

または
python -m spleeter separate -i audio_example.mp3 -o audio_output

というコマンド表記が間違っている

正確には、個人のPC情報のため一部が省略されている点と、説明不足な点が混ざっている


<解決策1>
spleeterフォルダ内のaudio_example.mp3を選択して右クリック

右クリックメニューからプロパティを開く

セキュリティタブを開く

オブジェクト名にファイルのアドレスが表示されているので全部コピーする

先のコマンドの spleeter/audio_example.mp3 の部分をまるまるコピペで置き換える

書き換えたコマンドをAnaconda Prompt (miniconda3)にコピペすると分割が成功する

成功するのは成功するのだがspleeterフォルダの中にはoutputと名のつくフォルダがない

Cドライブをまるごと検索するとCドライブ直下にoutputフォルダが単体で作成されている

その中に分割に成功したファイルが発見できる


<原因2>
-o outputというコマンドが-oでターゲットフォルダを指定しているのだが

肝心のoutputフォルダのアドレスが正確に表記されていないために

Cドライブ直下にoutputフォルダを作れというコマンドとして処理されてしまう

2回目以降は最初に作成されたoutputフォルダの中に順次、分割されたファイルが作られていく流れ

 

<解決策2>
outputの部分を、自分が作成先に指定したいフォルダのアドレスに書き換える

 


<つまづいた点>
日本語名のファイルを分割しようとするとNo such file or directoryと表記されて分割できない


<原因>
ファイル名に「半角スペース」または「全角スペース」が含まれている


<解決策>
エラーで表示されたファイル名をよく見るとスペース以降のファイル名が省略されている
つまりスペース以降のファイル名を認識しないということ
(2バイト文字に特有の呪い)
スペースを削るまたはファイルをリネームする

 


<気がついた点>
アイコンを叩いてアプリを起動してマウスで操作する普通のフリーソフトではない
コマンドライン(真っ黒なウインドウに白文字の英語が並んでるやつ)を使って
一字一句間違いなくコマンドを正確に入力すると結果が返ってくるタイプ(コピペ推奨)


アナコンダを使ってコマンドを入力して
Spleeter本体ファイルをダウンロード&インストールする仕組みになっている
インストール後、conda activate spleeter-cpu のコマンドを入力することで
アナコンダコマンドラインを使ってSpleeterの操作が可能になる仕組み


GUIアプリケーションではなくコマンドラインで操作するプログラムなので
一般的なソフトと同じ感覚でブラウザからダウンロードする必要は全くない
落としたファイルを叩いてもとくに何も起こらないというかよくわからない
DLしておくとむしろ邪魔というか混乱する
DLした方は消した方がPCの容量にもやさしい

 

 


<NO MORE 老人会>
分割ソフトと言うと、なぜかうまいみかんが食べたくなる

 

 

 

埋め込みとはめ込み (数学選書)

埋め込みとはめ込み (数学選書)