機械学習で自分の歌声を色々な楽器音に変換できるTone Transfer



Googleの機械学習音楽プロジェクトMagentaから新しいウェブアプリの登場です。


Tone Transfer
https://sites.research.google/tonetransfer



Tone Transferは、歌声や楽器音、その他あらゆるオーディオデータを他の楽器の音に変えるという、機械学習だかこそ実現できる新しいコンセプトの高度なプログラムとなっています。
文字で解説するよりもまずは動画でどんな事が行えるのか見てみましょう。
自分の歌を、フルート、サックス、トランペット、ヴァイオリンという4つの楽器音に変換してみます。

いかがでしょうか?
録音はPCのマイクから行っていますが問題なく変換可能でした。
標準で用意されている入力用のサンプルでもわかりますが、歌声や楽器音だけでなく、手拍子や雑音など、音程のない音でも変換でき、それらしくもユニークな演奏になる様です。
注意点としては、入力オーディオは単音のみ認識で和音は不可、エラーが出ます。
単音の歌などは問題ないですが、ピアノやギターで和音演奏は意図した通りの変換が行われません。
それでは実践方法を簡単に解説していきます。




1・まずは用意されているサンプルで視聴

サンプルは入力(変換元)が6種類、変換用楽器が上述したフルート、サックス、トランペット、ヴァイオリンの4種類用意されています。
どんな事ができるのか?まずは視聴をしてみてください。
レコーディングは入力の最下列にあるAdd your inputをクリックします。




2・自分の歌をレコーディング

Recordボタンで録音開始です。
他に既存のオーディオファイルをアップロードし使用する事もできます。
気に入ったメロディー以外に、ドラムループや特殊音などをアップするのもあり得ない効果が出て面白いかもしれません。



3・変換

録音またはアップロードが完了するとTransformボタンが現れますのでクリックして変換を行います。
少し待つと変換が完了しますので左側のTransformationから楽器を選んで視聴する事ができます。
再生ボタンの脇にコントロール機能もあり、原音、変換のミックス量やオクターブなどを調整できるので色々試すと新たな楽器音を作る事などもできるかもしれません。




Pythonで希望の楽器音を使用した独自モデルの作成も可能です

今回のTone Transferはウェブアプリのため、TensorFlowおよびMagentaのjs(JavaScript)版です。
それ以外にTone Transferの元となったDDSP: Differentiable Digital Signal ProcessingというPython版プログラムのコードも公開されており、これを使用すると希望の楽器音を使用した独自モデルの作成も可能です。


DDSP: Differentiable Digital Signal Processing
https://github.com/magenta/ddsp


筆者は元(現役?)のギタリストなのでギターに変換できるモデルの作成がまず思いつきますが、各種シンセ音などを使用し、電子音楽に実践的に使用するなども面白いと思いかもしれません。



最後に

GoogleのMagentaチームは長い時間をかけ待望のリリース、や、今後さらなる進化を匂わせる様なコメントをしています。
機械学習の音楽活用は音楽生成以上に音響関連、あるいはその融合の方が可能性があると感じており、その点でも今後の展開を非常に楽しみにしております。