見出し画像

【メモ】Spleeterで、楽曲の伴奏とボーカルを分離させる

こんにちは、未来のポスト米津玄師です(超適当

私も米津玄師になりたくて、「歌ってみた」動画を作りたいと思ったんですけど、どうも著作権が色々きびしくて、簡単にはいかなそうとわかりました。

それで、最終手段として次のような作戦を考えました。

「AIに作曲させた音源の、伴奏とボーカルを分離し、その伴奏に私が歌を入れる」

で、今日はそのために、自前のPCで伴奏とボージャルを分離させるソフト、spleeterというのを動作させてみました。

この記事は、そのやり方の自分用のメモですが、よかったら参考にしてください。

では参りましょう。


01.spleeterって?

spleeterというのは、Pythonで書かれたプログラムであり、音源を伴奏とボーカルに分離してくれるものです。

Githubのリポジトリはこちら。

02.インストールの手順確認


インストール方法を見るには、まず上記のリポジトリにアクセスし、上部のメニューから「Wiki」を選びます。

移動した先で、「Installation」という水色の文字をクリックします。

すると下のような情報が表示されます。ffmpeg、libsndfileというパッケージをまずインストールして、そのあとspleeterをインストール、という手順のようです。ただしlibsndfileは、「only needed if you plan to perform evaluation(評価を行う時のみ必要)」とのことで、spleeter実行時に「evaluate」オプションを使いたい時に必要なようですが、ここでは不要としておきます。

03.インストールの開始。まずAnacondaで、spleeter実行環境を用意する

私はPC上で、いろんなPythonの環境を構築できるように、Anaconda NavigatorというPython実行環境をインストールしています。まずはこれを前提とさせてください。

Anacondaの左のメニューから、「Environment」を選びます。すると中央に、作成済の環境(Environment)が表示されます。そのずーっと下の緑色の「+」、Createを押します。

すると作成したい環境の名称と、Pythonのバージョンなどを指定する窓が開きます。名前は自分でわかりやすいものにしてください。

Spleeter最新版が動作可能なPythonのバージョンの確認は、Slpeeterのリポジトリの右側のペインから、「Releases」という文字をクリックすると、みることができました。「Python 3.9含むすべてを有効にするために、TensorFlow 2.5の依存関係をアップデートしています」、とあります。よく意味がわかりませんでしたが、どうやら「現在はPython 3.8以前の環境を推奨します」ということのようです。

3.8.20というのがあったので、それを選びました。右下の「Create」ボタンを押して、環境を生成します。

※なお、3.9.20でも確認してみたらspleeterの実行でエラーが発生して動きませんでした。

環境「For_Spleeter」が出来たのを確認して、左のメニューの「Home」を選びます。

上部に選択中の環境名が表示されています。これがさっき作ったSpleeter用の環境であることを確認して、下の「Powershell Prompt 0.0.1」のパネルの「install」をクリックします。すると選択中の環境で、Powershell Promptを使うための準備がされます。

準備が完了すると「install」ボタンは「Launch」ボタンに変化します。それを押して、Powershell Promptを開きます。

PowerShellが開きました。

04.作成した環境に、ffmpegをインストールする。

ここでさっき確認した、「ffmpeg」のパッケージのインストールを行います。

conda install -c conda-forge ffmpeg

上記コマンドを実行すると、「Proceed ([y]/n)?」、と聞かれますので何も入力せずEnterを押すと、インストールが開始されます。

インストールが完了しました。

試しにffmpegと入力してEnterを押してみます。次のように、バージョンなどが表示されればOKです。

05.spleeterのパッケージをインストールする

次にspleeterのパッケージを、次のコマンドでインストールします。

pip install spleeter

インストールが完了しました。

こちらも「spleeter」と入力しEnterを押して、動作するか確認してみましょう。次のように、使い方(Usage)などが表示されればOKです。

06.インストールしたspleeterで、曲を伴奏とボーカルに分割してみる

動作確認です。まず分割してみたい曲を用意しましょう。私は次の曲で試してみることにしました。「♪キトクロー、キトクロー、キノクトロー」っていう歌ですね(笑

上記をダウンロードして、C:\spleeter_test\inputというフォルダの下に置きます。

実行方法については、Githubの下記ページで確認できます。英語ですが(白目

下記のように、「separate」コマンドの後ろに出力フォルダ、入力ファイルと記述した場合、デフォルトで伴奏とボーカルの分割が行われるようです。

次のようなコマンドで実行してみます。うまく分離できるでしょうか?

spleeter separate -o "C:\spleeter_test\output" "C:\spleeter_test\input\dancing owl.mp3"

実行完了しました。

「accompaniment.wav」(伴奏)、「vocals.wav」(ボーカル)の2つのファイルが出来ており、再生するとうまく分離されてました! ありがとうspleeter!

このspleeterというツールにも、AIの技術が使われているようで、いやあもうAI様さまですねえ。ありがたやー。

いいなと思ったら応援しよう!