![[53997c92-fb80-4e42-8eb3-e3aac21afaff.webp]] # AI 作曲ライブ 2022 in クリエイターズナイト ## はじめに  さて、2022 年 16 月も半ばですね。  早々に 2022 年を手放して 2023 年に突入してしまった人々を横目で見ながら 2022 年を死守しています。  2022 年は終わらないわ。私が守るもの。  つい先日の 12 月に、大分、福岡、宮崎の拠点(+ 遠隔居住メンバー)を Zoom でつないでクリエイターズナイト + (2022 年をあきらめるメンバー向け)忘年会を開催しました。  くわしくはこちらの記事をどうぞ。 [CREATORS NIGHT#1 kickoff! | イジゲングループ株式会社](https://www.wantedly.com/companies/ijgngroup/post_articles/476917)  発起人の永井(現 VP of あとで調べる)から「なにかやってくれ」という雑な依頼を受け、その瞬間にアイデアが浮かびました。  音楽 + AI ネタをやりたい。その場で AI に作曲してもらって即興ライブをやれば盛り上がるのでは。 ## ソフトウェアエンジニアと作曲  コロナ禍の引きこもり期間に、楽器がすごく売れたようですね。  私も電子ピアノの入門機を買って触っていました。でも練習するのはめんどうくさい。じゃあ、打ち込みすればいいじゃない。  ということで、気がついたら DTM に入門していました。音楽理論とツールの使い方を知るとそれっぽい曲ができるのでソフトウェアエンジニアに向いている趣味だという気がします。  今はまだ、こんな感じでガチガチにグリッドにはまってる曲しか作れません。Bootstrap を使って web. ページをコーディングしているイメージ。 [Beat Making in Suijo Park - YouTube](https://youtu.be/ohGJ-fMvM5k)  しかも、4 小節のループを作るのが精一杯。  ここから先はもう、AI (歌手じゃなくて人工知能のほう)に手伝ってもらうしかない。  後述しますが、DTM 界隈でも AI (歌手じゃなくて人工知能のほう)旋風が巻き起こっています。  音楽理論というものあるので、ルールに従って生成できるということは AI (歌手じゃなくて人工知能のほう)が活躍できるということですよね。たぶん。 ## AI 作曲ライブの仕込み  瞬間的に発表内容のアイデアが湧いたのと同時に実現方法もすぐに思い浮かびました。  機械学習を使って音楽やドローイングを生成できる「Magenta」という Google の実験的プロジェクトがあります。  以前から Magenta の存在を知っていたので、これを使おう。 [Magenta](https://magenta.tensorflow.org)  なお、Magenta はコマンドラインツールだったり DAW(音楽制作するソフトたち)のプラグインとしても提供されているので、プログラムを書かないミュージシャンやアーティストでも利用することができます。  プログラムを書いて利用する方法としては、Python と JavaScript のふたつの選択肢があります。  最初は Google Colab で Python 版を試していたのですが、作曲ライブっぽくするためにはローカル環境で動かしたい。  ところが、Apple Silicon だと TensorFlow と Magenta のバージョンの組み合わせがうまくいかない。それなら、JavaScript でいいか。2022 年は死守するけれど、環境構築は潔くあきらめるスタイル。 [Magenta.js](https://magenta.tensorflow.org/js-announce)  JavaScript を使ってそのままブラウザで動かしても面白くない。ブラウザで 1 ページ開いて「どやっ!」ってやっても盛り上がる気がしない。  じゃあ、Node.js にしよう。  そして、もうひとつの武器「Sonic Pi」を投入。 [Sonic Pi - The Live Coding Music Synth for Everyone](https://sonic-pi.net)  ライブコーディングというパフォーマンスがあります。リアルタイムにプログラムを書いて音楽を演奏したり映像を操作したりするものです。  GitHub のイベントのオープニングアクトなどで観たことがあるかもしれません。 [Opening Performance:vecoded original set - GitHub Universe 2021 - YouTube](https://youtu.be/JDxhkdm_t1U)  Sonic Pi は前に触ったことがあり、OSC が使えることを知っていました。  OSC というのは、電子楽器やコンピューターなどの間で音楽演奏データをネットワーク経由でリアルタイムに共有するためのプロトコルです。 [OSC index](https://opensoundcontrol.stanford.edu)  これをつかうと、こんなことができるはず。 1. Node.js で Magenta を動かしてリアルタイムに作曲 2. Node.js 上でそのまま演奏(音は出ない) 3. 演奏データを OSC で Sonic Pi に送信 4. Sonic Pi で音を鳴らす  Node.js ではなくブラウザ上で実行して OSC on WebSocket で演奏データを送信することもできるので、それはお好みで。 (なお、Processing も OSC を使えるので同時にビジュアルエフェクトを操作するといったパフォーマンスもできます)  やることは決まったので、あとは週末にちまちまと実装。 ## ライブ当日  さあ、クリエータズナイトの当日。  まずは、ChatGPT に「Sonic Pi でかっこいいドラムを演奏するプログラムを書いてください」とお願いします。ChatGPT が書いてくれたプログラムを Sonic Pi のエディタに貼って演奏開始。 (コード進行やメロディも同じように書いてもらうパフォーマンスもありかも) ![[creators_night_2022_demo_1.png|400]]  そのドラムの上に、Magenta が生成した「ファミマ入店音の続きのメロディ」を乗せます。  ここで、言い訳なのですが…  Magenta.js が内部で利用しているプレイヤーには Tone.js という Web Audio 用のフレームワークが利用されています。 [Tone.js](https://tonejs.github.io)  これの初期化プロセスをハックすることができず、カスタマイズして音を鳴らす代わりに OSC で演奏データを送信するということができませんでした。  しかたがないので自作でタイミングを測って演奏データを送信するコードを書いたところ、これがあまりうまくいっていない。  Magenta はちゃんと作曲してくれていると思うのですが、私が書いた演奏用のコードがいまいち。Magenta は悪くないはず。  そんなわけで、大分、福岡、宮崎の各拠点に微妙なメロディが流れるという事態に。 「俺たちは何を聴かされているんだ!」  まあ、気にせず Sonic Pi でリアルタイムにコードを書き換えて、微妙なメロディの音色を変えたりして、微妙なライブパフォーマンスを披露しました。 ![[creators_night_2022_demo_2.png|400]]  後日、リベンジとして Colab 上で Python 版を利用した動画をアップしました。 「続きのメロディを作曲」の他に「メロディとメロディの間をつなぐメロディを作曲」というデモも入れています。  それっぽいと言えばそれっぽい気がしますね。 [AI 作曲 DEMO - YouTube](https://youtu.be/yVD2m9hNGCw)  Magenta を使うと、今回のような単音のメロディ作曲のほかに、ドラムやバンド演奏の作曲、コード進行に沿ったメロディやバッハ風合唱曲の作曲、複雑な和音や高度なピアノ演奏の作曲なども可能です。  ぜひ、試してみてください。 ## 2022 年の DTM と AI  前述の通り、DTM 界隈では AI 旋風が吹き荒れています。  余談ですが、「108」「1900」を続けて早口で言うと「竜巻旋風脚」に聞こえるって知ってました?ひゃくはちせんきゅーひゃく!  いくつか参考記事を貼っておきますね。 (これ以外にも日々あれやこれやリリースされています) [AI音源分離、音声合成、立体音響…テクノロジーとの関係から総ざらいする2022年の音楽ニュース – Soundmain](https://blogs.soundmain.net/16689/) [音楽制作をアシストするAI搭載ツールを振り返る【マスタリング・メロディ/ビート生成】編 – Soundmain](https://blogs.soundmain.net/16677/) [音楽制作をアシストするAI搭載ツールを振り返る【音声合成・音源分離・サンプル分類】編 – Soundmain](https://blogs.soundmain.net/16678/)  ソニーがやっている音楽制作プラットフォームです。ブラウザで操作できるし、安いし、音楽制作を始めやすいサービスになっています。現在は AI を使った機能が搭載されていますが、ブロックチェーンなど先進テクノロジーを取り入れるというコンセプトのようです。 [Soundmain | Soundmain](https://soundmain.net)  動画制作していると動画と BGM の尺が合わなかったり、雰囲気に合う曲が見つからなかったりします。そんな時に、使える AI が曲を生成してくれるサービス。曲の長さを指定できるので動画制作に便利。 [AI Music Generator - SOUNDRAW](https://soundraw.io) ## AI と音楽  先日開催された AI ミュージックバトル!『弁財天』という AI 作曲バトルイベント。  リモート試聴していましたが、いろんなアプローチがあることに感心と関心。「ドメイン知識は必要か?」という観点は、かつてコンピュータ将棋界に衝撃を与えた「Bonanza」の開発者が将棋についての知識がほとんどなかったことを思い起こさせます。 [AIミュージックバトル!『弁財天』](https://benzaiten.studio.site)  新たな音楽ジャンルが生まれるかも?というのは高まりますね。  最後に、AI が生成する音楽を無限に聴いていたい人向けにこちらをどうぞ。  今回利用した Magenta を使って Lo-Fi な曲をエンドレスに流してくれます。ソースコードも公開されています。 [Lo-Fi Player](https://magenta.github.io/lofi-player/) Stability AI が関わっている Harmonai というプロジェクトで diffusion model を使って生成した音楽をエンドレスにライブ配信しています。 [🎵 Diffusion Radio - 24/7 AI music from Harmonai 🎵 - YouTube](https://www.youtube.com/live/kJgxC9d0p50?feature=share)  OpenAI が公開している AI が生成したデモ音楽です。ビートルズ風など、実際のミュージシャン風の曲のデモもあります。 [Stream OpenAI music | Listen to songs, albums, playlists for free on SoundCloud](https://soundcloud.com/openai_audio)    音楽 × AI は面白いジャンルなので追いかけてはいたいけれど、自分でモデルを作るとなると学習用に大量の MIDI データ(演奏データ)を用意するのが難しいというのがつらいところですね。(オーディオデータから MIDI を生成する AI も出てきているので、そのうち解決するのかも)  まずは、利用者として楽しんでいこうと思います。  記事を書いてるうちに、GPT-4 を組み込んでプロンプトで音楽を生成できるサービスが出てました。 (早く著作権問題を解決しないとあれこれ大変そうですね…) [WavTool](https://wavtool.com)  NO AI, NO MUSIC.