メインコンテンツへスキップ
見出し画像

AIDJマシンとアンビエントシンセサイザーを作った(ソース付き)

    MIDIコントローラっていいよね。
    MIDIコントローラのいいところはたくさんあって、まずいろんな形があること。

    パッド主体のものもあればノブ主体のものもある。スライダーとノブがくっついたものもある。パッドも光るものもあれば光らないものもある。

    これを全部PCから好きなようにアサインして制御できる。自分だけの環境を簡単に作れるわけだ。

    StreamDiffusionで潜在ベクトルをMIDIコントローラから制御できるようにしたので、その次はAIとDJマシンを合体させたいと考えた。

    昔、ラジオで落合陽一先生と話したときに、「AIとDJは似てる。きっと将来はDJマシンのようなものでAIの頭の中を操作するはずだ」ということを言ったのを思い出して、「いまこそやってみるか」と思った。

    長岡でこの秋に予定している「人類のミライへ」のAI体験コーナー向けに、こういう単純なものもあっていいのではないかと思った。ゲームは面白いけど飽きるしね。

    StreamDiffusionは少し古い技術なのだが、そのぶんスペック的に厳しいマシンでも動作させることができる。そこがいいところなのだ。

    MIDI + Stream Diffusion in Realtime
    シーケンサーと一体化させた。ツマミを回すと潜在ベクトルが変化する。もっとツマミほしい pic.twitter.com/Opg2OrXOaU

    — shi3z (@shi3z) August 26, 2026

    シーケンサーと合体させて音に合わせて潜在ベクトルが変化する。
    NovationのLaunchPad Pro MK3がお気に入りなのだが、こいつのカスタムモードで4トラックシーケンサーを作った。音はサンプリングではなくAIが適当に作ったノイズなのでイマイチではあるが。

    これにAKAIのMPK Miniを組み合わせてこいつのノブとジョイスティックで潜在ベクトルを変化させる。

    気がつくと音楽を作るわけでもないのに家にMIDI機材がいっぱいあった。
    しかしもっとやりたいと思ったのでさらに買い足した。これはもうノブとスライダーがノイローゼのように並んでいる。

    何より安くて良い
    これはAIの潜在空間を探るのにうってつけだ。なんせノブが24個、スライダーが9つもついてる。

    全部足したら33次元を操作できるわけだ。

    せっかくこんなにノブがついてるので、昔憧れたけど高くて買えなかったSolar42Fというアンビエントシンセサイザーのようなものを真似して作ってみた。

    SOLAR42Fが買えないのでエミュレータ作ってみた。
    わりとこれで満足できそう pic.twitter.com/ScUUUnVqSD

    — shi3z (@shi3z) August 27, 2026

    ASDF列とZXCV列で簡易的な鍵盤として機能する。
    アンビエントだと黒鍵使わなくてもそれっぽくなるからこれでいいだろう。

    パッチシンセサイザーも同じように使えるようにしてみた。
    他のオシレーターの出力を他のオシレーターの入力として使って波形を動かせる。もっと色々機能をつけたいところだが今回はこのシンプルな状態でよしとする。

    アンビエントシンセサイザーの動画をGeminiに見せて「こんなのが作りたい」と言ったら手順が出てきて、出てきた手順をそのままClaude Codeに流し、微調整して完成した。

    ソースコードは有料部分に(Claude代に充てます)。ちなみにMIDIコントローラがなくてもマウスとキーボードでも動きます。MIDIコントローラあったほうが幸せだけど。

    HTML一枚でこんなものが作れるんだから驚くしかない。
    付録としてアンビエントシンセサイザーのソースコードをとりあえず掲載しておく。

     

    shi3z

     
     
    さすらいのプログラマー 知能と生命の研究者