音響の可能性
皆さんは、音楽からボーカルだけを抜いてみたいと思ったことはないでしょうか?
私は、そのような経験が何度もあり、その度に良い方法がないか模索してきました。
このサイトでは、これまで模索してきた音楽からボーカルを抜く様々な手法と、私が考えた新しい手法について解説します。
最終的に新しい手法で処理すると、このようになりました。
(曲は、現在の埼玉県浦和出身、武笠三(むかさ・さん)作詞の童謡「案山子」を、私が編曲したものです。)
次のページから解説を始めますので、ぜひ読んでいって下さい。
(左上の≡ボタンをクリックすることで、サイト内の各ページに飛ぶことができます)
ボーカルを抜くことの難しさ
音の正体
皆さんは「音」というものに対してどのようなイメージを持っているでしょうか?
実は音というものは、必ず下の画像のような波になっています。
(画像をクリックすると拡大できます)
|
|
基本的な音 |
すべての音がこのような波になっており、例外はありません。
音の分離の難しさ
ではなぜ、この様な波から特定の音を抜き出すことが難しいのでしょうか?
(画像をクリックすると拡大できます)
右の波は左の2つを足し合わせたものです。
この足し合わせた音は、多くの方にとってみれば簡単に聞き分けることができるのではないでしょうか?
しかし、コンピューターはこの足し合わせた波から、足す前の個々の波を完全に復元することはできません。
これは「1+1」が「=2」になることはわかっても、「=2」から左辺の計算式を1つに絞ることができないこととよく似ています。
この様な理由があるため、これまで個々の波を復元するための多くの手法が提案されてきました。
次章では、代表的な2つの手法について解説します。
EQ処理
EQとは
EQというのは、イコライザー(Equalizer)という音の高さごとに音量を調節できる音響機器のことです。
近年では、下の画像のようなコンピューター上のソフトウェアでEQ処理ができるようになりました。
(画像をクリックすると拡大できます)
|
Audacity(R)のイコライザー画面
|
現在CDに収録されている音楽は、基本的にすべての楽器に対してこのEQ処理を行っています。
ここでは、EQの音の高さごとに音量を調節できるという特徴を生かして、目的の音以外をすべて消します。
EQ処理の効果
では、実際に処理をした音を聞いてみましょう。
処理前に比べてボーカルの音量が小さくなっていることがわかるかと思います。
しかしながら、この手法は抜きたい音に対して大雑把にしか抜くことができません。
最近では、この手法を用いて正確に音を抜くソフトウェアも存在しますが、人の手ですべてを指定しなくてはならないため、あまり現実的ではありません。
センターキャンセル
センターキャンセルとは
センターキャンセルは、文字通り中央(センター)の音を消す(キャンセル)という手法です。
スマートフォンなどを含むほとんどの音楽プレイヤーは、左右で別々の音を再生できます。
この機能があるからこそ、私たちは広がりのある音で音楽を聴くことができるのです。
例えば、右から音を聴かせたいときは、右の音量を大きく再生するようにします。
では、真ん中に聞こえる楽器の音量はどのようになっているのでしょうか?
実は、左右から全く同じ音が同じ音量で再生されているのです。
ここで、今までに聴いてきた様々な音楽を思い出してみてください。
・・・ボーカルは、ほとんど真ん中にいませんでしたか?
これはポピュラー音楽の業界では、重要な音は中心に置くという一種の常識が存在するためです。
この常識を利用して、センターキャンセルによってボーカルを抜くことができます。
つまりセンターキャンセルは、左右の音を比較して真ん中にある音のみを消すという原理なのです。
センターキャンセルの効果
では、実際にセンターキャンセルを施した音を聴いてみましょう。
前章のEQ処理と比較してみても、ボーカルが格段によく抜けていることがわかるのではないでしょうか。
すばらしい方法のようにも思えますが、この手法にもいくつかの欠点があります。
まず1つ目は、左右で別々の音が存在する場合でしか処理を施せない点です。
これは、そもそも1つの音しか存在しない状況では、何が中央にある音か識別できないからです。
2つ目は、重要な音も同時に消してしまうという点です。
上でも説明しましたが、現在の音楽では重要な音は中心に置くということが常識のようになっています。
そのためセンターキャンセルのみでは、ボーカル以外の重要な音も同時に消してしまいます。
2つ目の欠点は、前章のEQ処理と組み合わせることで回避しようという方法もありますが、ボーカルと楽器の音の高さが同じであった場合は、どうしようもありません。
DeepLearning
ここからは、これまで紹介した既存の手法に加えて、私が自ら考えた新たな手法の解説に移ります。
DeepLearningとは
DeepLearningとは日本語では深層学習と訳される、人工知能の一種です。
2012年ごろから世界中で活発に研究されるようになり、2017年に囲碁の世界チャンピオンを全勝で破ったGoogle DeepMind社のAlphaGoもこの技術を活用していました。
この技術は、画像認識の分野で大きな成果を残しました。
Androidスマートフォンの「フォト」アプリ上で、写真に写っている物の名前を検索することのできるサービスは、この技術を応用して実現されました。
このように、現在様々な分野で応用され始めている技術を用いて、ボーカルを抜いてみようと思います。
pix2pix
pix2pixとは
pix2pixは、2016年11月下旬にカリフォルニア大学バークレー校のP. Isolaらの"Image-to-Image Translation Using Conditional Adversarial Networks"という論文の中で発表されたDeepLearningのモデルです。
これは元々、画像を一対一で変換するという処理に対して最適化されたモデルです。
例えば、絵の塗り方を学習をさせた人工知能に対し、下の写真を入力するとこのようになります。
(画像をクリックすると拡大できます)
|
➡
人工知能による画風変換➡
|
|
着色後の画像は、まるで絵のような塗り方になっているのがわかるかと思います。
このように画風を変更することができたり、下の画像のように線のみから色を塗らせることもできます。
|
➡
輪郭線だけ残す処理➡
|
|
➡
人工知能による着色➡
|
|
pix2pixの音への応用
今回はこのモデルを用い、画像ではなく音声を「音楽」→「ボーカル」という図式で変換させます。
そのためには音を波ではなく、画像へと変換しなければなりません。
そのために今回は、STFT(短時間フーリエ変換)を行います。
詳しい内容は割愛しますが、この処理を加えることで音を下の画像へ変換することや、その画像から音への逆変換が可能になります。
|
➡
|
|
楽曲 |
|
ボーカル |
最後に、「音楽」と「ボーカルのみ」の音声を大量に集めて、声の形をコンピューターに学習させます。
そのようにして、人工知能はボーカルを「だいたい」抜くことができるようになりました。
処理前(音楽) |
|
処理後(ボーカルのみ) |
|
ボーカル除去 |
|
人工知能によってボーカルのみを抜き出したものが、真ん中の「処理後(ボーカルのみ)」の音です。
そして、その「処理後(ボーカルのみ)」の音を用いてボーカルを除去したものが、一番下の「ボーカル除去」の音になります。
中心にある音もボーカルのみを重点的に抜くことができているように聴こえます。
ただし、上で「だいたい」と書いた通り、きれいにボーカルのみを抜くことはできませんでした。
また、楽曲によってはボーカルを全く抜くことができないものもありました。
さらに、処理自体に非常に時間がかかり、専用でない一般的なコンピューターでは、5分の音声を処理するのに100分以上必要とする場合もあります。
まとめ
いかがでしたでしょうか?
既存の方法も、私が新しく提案した方法も一長一短あり、必ずこれで抜けばよいというものではありませんでした。
しかし、DeepLearningはこれからも新しい技術がどんどん現れる、まだまだ進歩し続けている分野です。
そのため今後、さらに精度が向上してゆくことが考えられます。
音響技術の進歩は、他の分野に比べ分かりづらいものです。
ですが、日々確実に技術は進歩していっています。
本サイトから、そのことを少しでも感じていただけたなら、これ以上のことはありません。
本サイトについて
本サイトに掲載されているコンテンツは、画像下にライセンスが明記されているものと以下を除き、すべて本ページ製作者へ帰属します。
以下のコンテンツは、クリエイティブ・コモンズ、及びMIT Licenseに基づき本ページへの掲載をしています。
背景画像
作品名:Bright Abstract Media Background Vector
ライセンス:Creative Commons Attribution 3.0 United States
リンク:
https://www.freevector.com/bright-abstract-media-background-vector#
JavaScript Plugins
MIT License
-jQuery
-Drawer
-iScroll
-zoom
-transition
**プラグインの詳細なライセンス表記は、ソースコードを参照してください。
**If you want to know the license details, please refer to the source code.