AI でボーカル抽出! – Spleeter on Ubuntu 18.04

最終更新日

Spleeter すごいよ!

テスト

使い方

基本的には公式のドキュメントGigazineを参照した.というかGigazine の説明が分かりやすいからそれを見ながらやるのがいいかな?

1 Conda をインストール

Conda のインストール方法は適当にやったら上手く行ってしまったので,ちゃんと分かってるわけじゃないんだけど… いちおうここに書いてある内容を試したら上手く行きました.

python を僕は使ったことがないし,miniconda を使ったのも初めてなのでよく分からないんだけど,環境を作ってその中でSpleeterを実行することになるらしいね.難しい.

環境で実行

上の画像の行頭の (my_env) が実行環境を表示してるっぽい.よく分かってない笑

ちなみに環境から出る (終了する?) には $ conda deactivate と入力すればいいのかな? $ . deactivate$ source deactivate の代替表記です (さっきも紹介したこのページを参照).

たぶん….

2 Spleeter を実行

これは簡単.このコードを環境内で実行するだけ.

$ git clone https://github.com/Deezer/spleeter
$ conda install -c conda-forge spleeter
$ spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output

これをそれぞれ書く.3行目の spleeter separatespleeter でソース分離するためのコマンド.

  • -i の部分に入力したい音声ファイルを
  • -p spleeter: に分離オプションを
    • 2stems:ボーカル/伴奏に分類。
    • 4stems:ボーカル/ドラム/ベース/その他の楽器
    • 5stems:ボーカル/ドラム/ベース/ピアノ/その他の楽器
  • -o に出力先を

例えば下の画像は次のコマンドをホームディレクトリで実行した結果. ~/ouptut/help というディレクトリに,ボーカルとその他の演奏が2つのファイルに分離されてるね.

spleeter separate -i ~/Downloads/help.mp3 -p spleeter:2stems -o output
結果

Spleeter – ソース分離エンジン

Spleeter というソフトウェアがあることを Gigazine の記事で知った.ソース分離というのはボーカルやギターやドラムなどがミックスされた音楽データから,ボーカルやギターやドラムなどの楽器別に分離する技術だそうだ.

感想

Spleeter は深層学習を用いたソフトウェアで,本当に声らしい部分を抜き出せるように訓練されている. Audacity で周波数ベースでボーカル抽出をする方法もなくはないけど,Spleeter のほうが品質は圧倒的にいい.やっぱり機械学習は強力だ.

僕の用途

もちろん Beatles の Help! のソース分離は僕にとってテストでしかない.本当にしたいことは,昔録音した音源が雑音だらけだから,その音声データを綺麗にするために使いたい.何年か前に声ブログと称して思ってることをただ話すだけの録音とかを録ったりしてたからね.

無駄な努力だということは百も承知なんだけど,僕はこういう「質の低いオリジナルデータをポストプロセスで直す」というのが好きなんだよね.変な言い方だけど「ポストプロセスマニア」なんです (マニアと言うほど色々と凝ってるわけじゃないけど).

AI でボーカル抽出

今回の目的の音声から Spleeter を使って背景の演奏 (?) 部分を抜き出すことには成功した.でもその音声はまだ質が低くて,音割れが酷い.音割れを適当に補って修正する深層学習ベースのエンジンを誰かが作って公開しれくれないかなぁ.

コメントを残す

%d