AIが楽器を分離してくれるフリーソフト「spleeter」を使ってみた。無料とは思えない高性能さで耳コピをサポート。

当ページのリンクには広告が含まれています。

はじめに

対象読者

  • ボーカルのある曲を耳コピしたいが、難しく感じるので難易度を下げたい。
  • 楽器をパート分けしてくれるソフトを探している。
  • プログラミングをかじったことがあって、Macの「ターミナル」を使うことに抵抗がない
  • iZotope RXのMusic Rebalance機能が欲しいが、予算がないので代替するものを探している

文明の利器で耳コピのハードルを下げられないか探していたら、ちょっと感動するくらいいいものを見つけたので記事にします。

導入方法はMacの場合をザックリと書いておきます。
公式の導入方法は英語で書いてあり、また公式の導入方法だけだと現時点(2020年4月5日時点)でうまくいかないのでやや導入のハードルは高いです。

コメントで要望があったり、人気の記事になったら別記事で導入方法解説や実戦動画を作成するかもしれません。

「spleeter」は何ができるのか

Photo by Austin Distel on Unsplash

簡単にまとめると、spleeterは楽曲をステムデータ化(いくつかの楽器パートに分割)してくれるプログラムです。
オープンソースソフトウェアライセンスの「MITライセンス」のもと配布されており、著作権表示とライセンス全文記載の条件を満たせば誰でも改変や商用利用まで自由に使えます。
開発元はフランス発の音楽配信サービス会社のDeezer。

通常のCDやストリーミングサービスで聴く音楽はボーカル、ギター、ベース、ドラム、ピアノ、シンセサイザー、バイオリンなどいくつもの楽器が使われています。
通常耳コピする際はその中からコピーしたい音(例えばリードギターの音)を集中して聴き分けることになります。
しかし、spleeterを使うことによって目的以外の楽器の音を消した状態で聴くことが可能になります。
現在プログラムの性能上、最大で5分割(ボーカル、ドラム、ベース、ピアノ、その他)なので、リードギターのみを聴きたい時でもバッキングギターやストリングスの音は分離できないのですが、全てのパートが同時に流れている状態よりは遥かに聴き取りやすくなります。

通常のアプリやDAWプラグインと異なり、ターミナルで動かす

このプログラムはMacでは「ターミナル.app」を使って動かします。
ターミナル.appはMac標準搭載のアプリなのでインストールなどは不要ですが、見た目のとっつきにくさから、このプログラムが誰でも使えるわけではない理由のひとつです。

ターミナル.appは「Finder.app」→「アプリケーション」→「ユーティリティ」と辿っていくと見つけることができます。

中段右から2つ目の黒いやつ。

導入手法概要(Mac版)

spleeterを使うにはダウンロード&インストールするものが3つあります。すべて無料です。

1.spleeter本体
2.miniconda (Anacondaでも可) : pythonとその拡張機能を使うためのパッケージ
3.FFmpeg : python上で音声データを扱うためのプログラム。minicondaに含まれてないので別途必要

導入手順的には2→3→1になります。

minicondaインストール先の公式ページ https://docs.conda.io/en/latest/miniconda.html

このブログを書いている2020/4/23時点ではPython3.7のMiniconda3をデフォルトでインストールすればOKです。

minicondaがインストールできたら、FFmpegをcondaのコマンド機能を使ってターミナル上でインストールします。

conda install -c conda-forge FFmpeg

とターミナルに入力し、enterキーで実行すれば10分程度のインストール時間を経てインストールが完了します。

最後にspleeterのインストールですが、これも同様にminicondaのコマンドを使って行います。

conda install -c conda-forge spleeter

これで導入は完了です。

今後各ソフトのバージョンが変わったりして紹介した方法でうまくいかない場合が考えられますが、その時は下にGitHubのspleeterのページリンクを載せておくので、必要があればそこで確認できます。

https://github.com/deezer/spleeter

試しに米津玄師の「Lemon」をspleeterで4パートに分離させてみた感想

実際に米津玄師の「Lemon」をspleeterで4パート(vocal, bass, drums, other)に分離させてみたことで分かったことを書きます。
実際のデータは載せられないのですが、ある程度参考になるかと思います。

vocal

残響までちゃんと含まれている。
コーラス、ハモリのパートもここに含まれる。
Aメロの「ウエッ」って音もここに入ってる。ああいったFXも声判定される。
ストリングスの弾き始めの音も入ってしまっているが、耳コピに支障が出るほどではない。

bass

全体的に軽い印象になってしまうが、輪郭がある抜き出し方をしてくれている。
この曲はbassをコントラバスが担当しているが、弓の擦れる音など、高音の成分もちゃんと入っていて、音の高さだけでなく、奏法もわかる。
同じ帯域であるkickの音が入ってしまっているかと思ったが、ほとんど感じない程度に分離してくれている。

drums

ブレスの「スッ」って音がここに入ってしまっている。
サビ前のバッキングギターのブラッシング音もここに入ってしまっている。
クラッシュシンバルがやたらサラサラした音になるが、判別には問題ない。
ちゃんとkickの音はここに入っている。この点は優秀。

other(上記パート以外。この曲の場合はpiano,strings,guitarが該当)

Aメロ、Bメロ、大サビは全体的にかなり聴き取りやすい。もともと鳴ってる楽器は少ないが、ボーカルがきれいに分離されているのでさらに聴きやすくなっている。
サビはバッキングギターが入ってくるのと、単純に鳴ってる音が多いのでストリングス系の中間あたり(バイオリン2nd,ヴィオラ)の音は聴き取りにくい。
意外なほどにエレキギターのアルペジオは綺麗に分離してくれていていい音で聴ける。一方バッキングはフェイザーがかかった感じになってしまい、いい音とは言えないがハーモニーとリズムは聴きやすいので耳コピには問題ない。

4パート全部聴いた感想としては、「十分な性能ではないか」と思う。
ミックス前のパラデータのように理想的な分離はできていないものの、耳コピ前に聴きやすくする下処理としては、spleeterをするだけでかなり集中しやすくなると感じる。
バッキングギターに顕著であるが、全体的にフェイザーがかかったような影響を受けている部分もあるので、エフェクトなどの音色の細かい判定には注意が必要と感じる。

まとめ

無料で使えるツールなのにここまで便利なものがあるとは思っていませんでした。
私はiZotopeのRXも購入して持っていて、耳コピ目的でMusic Rebalance機能を試しましたが、正直それより性能は上です。特に分離後のパートで楽器の質感がspleeterの方がちゃんと残っていて、聴いていてそんなに気持ち悪くないです。
インスト曲も分離できるようになるとか、さらに細かいパートに分離できるようになるような、今後の進化を期待しています。

ちなみに機械学習がかなりできる人は、この配布バージョンのspleeterをさらに再教育して精度を高めることもできるみたいです。私はスキルがないのでやろうとは思いませんが。
無料なので時間のある時に一度試してみる価値があると思います。

最後まで読んでいただきありがとうございました!
お役に立てれば幸いです。

コメント

コメント一覧 (3件)

  • 興味深く拝見しました。MIT(マサチューセッツ工科大学)開発は間違いですよ。MITとはライセンスの種類のことですよ。spleeterはフランスの音楽配信サイトである Deezerが開発したものです。さらに新しいのが出てきて、Facebookなどで知られるMeta社の研究部門Meta Researchが開発したDemucsというのが最近あるみたいです。

    • ご指摘ありがとうございます!
      該当箇所を修正・更新いたしました。
      今後ももしお気付きの点があればご指摘いただければ幸いです。

コメントする

目次