最近どえらい寒くなってきたじゃんねぇ…どうも、sawapyです
音響信号処理の世界に凄いヤツが登場してしまいました。その名も
Spleeter
つい一ヶ月ほど前に公開されたばかりです。しかも無料。
今回の記事では、コイツが一体何者なのか、技術的な話(なるべくわかり易くなるよう頑張ります)や、使用感などをつらつらと書いていこうと思います。
・Spleeterって何ぞ?
端的に言うならば、最近流行っており、様々な分野に応用されている深層学習を用いた楽音分離エンジンです。
現在は
・ボーカル/その他
・ボーカル/ドラム/ベース/その他
・ボーカル/ドラム/ベース/ピアノ/その他
の3つの分離のモードがあり、それぞれのパートごとに分離されたファイルを出力してくれます。
「深層学習?は???」という声が聞こえそうなので、少し補足を…
深層学習とは、あるシステムに膨大な量のデータと答えの対を与え、その時にシステムが導き出した結果と与えられた答えの一致率が高くなるようにシステムが自動で学習していく、というものです。しかし、どのような思考回路を作り上げたのかは完全に機械任せ。どこをどう捉えて答えを出しているのか、人間には解読できません。
音声データで言えば、一次元の入力データをどんどん次元を上げて多次元配列に変換しながら"重み"を掛け算し、その結果と答えを比較しながら"重み"の値を調整し…
そろそろ目眩を起こす人が出てきそうなのでやめておきます。
要するに、データとお手本をたくさん用意すれば、あとは機械が全ていいカンジにやってくれるんだ、そんなイメージです。
・実際に使ってみた
百聞は一見に如かず、実際にSpleeterの精度テストで使われた音楽データを分離してみました。
まずは元の音楽がこちら
全パート
ボーカルパート
ドラムパート
ベースパート
その他
Spleeterで実際に分離したものがこちら
ボーカルパート
ドラムパート
ベースパート(音量ちっちゃいです)
その他
・・・凄くないですか??
個人的にはドラムのシンバルが他パートに吸われている部分が見受けられるかと思いましたが、正直言って驚きました。過去にもフリーの楽音分離ツールはありましたが、ここまでの精度と音の綺麗さを持つツールははじめて見ました。(従来のものは、だいたい音が反響しまくっているような、ぼやけた音になってしまいがちでした)
耳コピや楽曲の分析など、色々な場面で役に立ちそうです。
・どうやって使うの?
コイツはプラットフォーム選ばず使えるようになっている(要はMacでもWindowsでもLinuxでも動く)がために、導入が少々面倒でして…
Macなら"ターミナル"、Windowsなら"コマンド"、Linuxなら"端末"の上でコマンドを入力しながら導入します。さらに、実行する時もコマンドを入力して動かすので、慣れないと難しいかもしれません。
そんなものの導入解説を僕が書くととんでもない長さになってしまいそうなので、既存の解説記事に頼らせていただきます…
こちらの記事が分かりやすいと感じたので、試してみたい方は参考にしてみてください。
https://chilloutwithbeats.com/spleeter-try/#toc6
・最後に
音響信号処理の最前線のものを紹介してみましたが、いかがでしたでしょうか、Spleeter。
ここ数十年で情報処理技術は大幅に進歩しており、ついにここまで精度が高まったのか!という印象です。今後もモリモリ発展していく分野ですので、将来どのようなツールやサービスが登場するのか楽しみですね!