音楽＋機械学習ハッカソン、BitRateの優秀プロジェクトが発表 　音楽+機械学習の可能性を感じる７つのプロジェクトを解説

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61803/ae4acd2c-24e5-d591-fed9-f0df1fc728db.png)

2020年の8月7日〜9月7日（実際は６週間を超えた開催期間だったらしいです）に、オンラインで開催された、Google の機械学習音楽ライブラリーMagenta開発チームと、サンフランシスコのメディアアート機関”Gray Area”による機械学習＆音楽のリモートワークショップ＆ハッカソンイベント”Bit Rate”。

以前運営している音楽TECHアカデミーの記事にてその告知を行いましたのでご記憶されている方もいらっしゃるでしょうか？

https://canplay-music.com/2020/08/03/bitrate/

世界中から８００を超える有志が参加した！との事。
ファイナル審査に進んだ３３のプロジェクトの中から、優秀プロジェクトが３つ、表彰プロジェクトが４つ、決定しました。
その各プロジェクトを一つずつ紹介させていただきます。
どれも非常に興味深く、この中には、これからの音楽＋機械学習のブレークスルーとなる様なプロジェクトもあるかもしれません。
使用されている技術はGoogleの音楽機械学習ライブラリMagentaと、ウェブアプリが中心のためJavaScript関連のライブラリが多いです。


#Dear Diary
####音楽とともに文字を書いて癒し効果を得る
Dear Diaryはジャーナリングの際の文字入力にMagentaを使用した音楽を一緒に生成して瞑想効果を高める目的の音楽マインドフルネスウェブアプリです。


https://deardiary.ai/

ジャーナリングとは、書く瞑想とも呼ばれ、思い浮かんだ文章をただ文字として書き記す事で瞑想の様な効果を得る手法です。
ストレス軽減や、心を落ち着かせる効果があると言われています。

文字を入力すると、Magentaが生成するピアノの音楽が一緒に生成されて、確かに何も考えずにいれると言えば良いのか、癒しの効果が期待できるのかもしれません。

使っている技術はMagenta.jsからはMusicVAEのInterpolation（２つの異なる音楽をつなげる事で新たな音楽を生む音楽生成機械学習）、ピアノの音色はTone.js、自然言語処理も大いに活用されている様で、そのために使用したライブラリはvader.jsというものだそうです。
例えばコード進行に沿った音楽生成ができるImprovRNNはあまり音楽的な生成ができなかった、、、とレポートされていますが、通常の音楽生成ではもっとも音楽的な生成ができるImprovRNNがなぜだろう？と色々想像してしまいます。

今後は人の感情をより抽出、表現できる様に自然言語処理の性能を高める事や、なんと、Logic やReaperなどのDAWのプラグイン開発も行いたいと言っています。


#Maestro
####AIガイドボーカルレッスン
機械学習を活用したボーカルレッスンや楽器レッスンは私もやりたいと計画しているもののため、非常に興味があるプロジェクトでした。

https://maestro-application.herokuapp.com/

ここでMagentaは歌の手本用の音楽を生成し、その音程と合う様に歌う、そして、ピッチやタイミングがあっているかで歌のレベルを判断する仕組みの様です。
各レベルごとにレッスン動画があり、音楽理論もきちんと考慮されているなど非常に好感が持てます。

使っている技術はMagentaはMusic RNN（単音メロディー生成）、ml5.jsでピッチ検出、を行っています。
精度など難しい面もあるかもしれませんが、機械学習の音楽レッスンは実用化される、しかもこれまでにない新しい機能を持って、と思っているので今後の進展にも期待したいです。


#Natya*ML
####インドの古典舞踊バラタナティヤムの振り付けを機械学習生成音楽とともにレンダリング

タイトルのままですが、Natya*MLはインドの古典舞踊バラタナティヤムの振り付けを機械学習の生成曲とともに、レンダリングして表示するウェブアプリです。

https://dance-project.glitch.me/

生成される音楽がとてもインド的で、Magentaでここまでできるのか？と感心しました。

使用している技術は、Magneta のMusicRNN（単音メロディー、ドラム生成）、音色はTone.js、そして振り付けの検出にml5.jsのPoseNetが使用されているとの事です。

製作者のアパルナクマールさんは、なんとMagentaも機械学習も、JavaScriptもさらにはhtmlやcssの様なウェブの知識さえ、あまりない状態で参加したそうです。
それでここまでできるというのは本当に素晴らしい事だと思います。
皆様も勇気付けられるのではないでしょうか？

#Sonic Pi DrumRNN GUI
####SonicPiにMagentaのドラム生成を組み合わせたライブコーディング パフォーマンス

これは私も実験し、生徒様に発表や、動画投稿などもしていますが（私はPythonのライブコーディング FoxDotで直接、Pythonを使用してMagentaを制御）非常に興味のあるプロジェクトです。

機械学習の音楽生成はリアルタイムのスピードが大きなメリットであると考えており、ライブパフォーマンスには実は向いていると思っています。
その際、同じプログラミング言語によって演奏できるライブコーディングであれば、双方の可能性を大きく広げる事ができ、新たな音楽パフォーマンスを生み出す事が、できるのでは？と考えています。

プロジェクトというよりは、パフォーマンスと言えるものという感もありますが、さらなる進化を期待しましょう。

#Loaf-ai
####Lo-Fi Hip Hopを機械学習で生成する
昨年Magentaが発表したLo-fi playerの様なアプリで,こちらもLo-Fi Hip Hopを生成するウェブアプリです。

https://kathrynisabelle.com/loaf-ai

サイトの背景画像がどこか昔の日本風でなつかしさを感じますが、これが逆に今の時代が求めているものをあらわしているのでしょう。

音楽の精度はかなり高めでLo-Fi Playerよりも出来が良いと感じます。
特にギターパートに拘っているらしく、サイト下部にギターパートの波形がp5.jsでハイライト表示されている様です。

実用性は1番ある様にも思えるアプリですが、すでに既出のアイディアのため、優秀プロジェクトに選出されなかったのかもしれません。

#Sea Change
####海の変化によって音楽を生成する
Sea Changeは海の変化によって変化する音楽生成を行うウェブアプリとの事です。

https://sea-change-bitrate.glitch.me/

この目的のために海洋変化の数値をとるのは、随分大掛かりだな、とも感じたのですが、データは海洋ステーションの様なものから簡単に取得できるみたいです。

phaser.jsというゲームを作成するJavaScriptライブラリが使用されている他、Magentaが生成した音楽を再生する際の音源はSpliceからのものが使用されている様です。

#Lightning Loops
####ブラウザに描画されたグラフィックに合わせた音楽生成を行う

かなり本格的な描画が行われ、実装は高度なスキルが用いられている様に感じます。

https://vr.fox-gieg.com/

音楽生成はMagentaのAI-Duet（自動伴奏ピアノアプリ）とPianoGenie（少ない鍵盤でピアノの８８鍵盤全てを使用した様な演奏を実現するアプリ）を使用しており、MIDIデータはご自身で演奏した１６４曲のMIDIファイルを使用しているそうです。



#最後にまとめ
いかがだったでしょうか？
７つのプロジェクト、全て素晴らしかったです。
素晴らしい試みであり、大成功だったのではないでしょうか。
とてもレベルが高く驚きましたし、いつかこれらのプロジェクトから花開くものがきっと現れると期待してしまいます。
コロナの影響でオンラインの開催だった様ですが、世界中から参加できる良いチャンスにもなったのではと思います。
私も日本でこの様なイベントを実現してみたいものです。