1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🎧Strudelを使ってAIに「バイブコーディング」で「ライブコーディング」させたらバイブスぶち上がった件 【沼】

1
Posted at

最近、「バイブコーディング(自然言語でコードを書かせる手法)」が話題ですよね。
ふと、「これをプログラミングで音楽を作るツールと組み合わせたらどうなるんだろう?」と思い立ち、ちょっと面白い実験をしてみました。

題材にしたのは、私が普段からよく遊んでいる「Strudel」というブラウザツール。JavaScriptライクなコードを書いて音楽を生成する、いわゆる「ライブコーディング」の環境です。

過去に音楽理論を少しかじったことがあり"少しだけ"作曲自体はできるのですが、わざわざ楽器やDTMソフトを準備するのは少しハードルに感じていました。

その点、いまの自分のメインスキルである「プログラミング」だけでサクッと音楽が作れるこの環境は、自身の過去の経歴と現在のスキルに見事にマッチしていて、すごく自分にぴったりだと感じています。

そのため、普段は自分でコードを書いて音楽を作っているのですが、今回はそこにちょっと「AIという実験的な味」を加えてみました。

今回の実験内容

具体的には、自分でコードを書くのをあえて封印し、
「Claudeに公式ドキュメントを読ませて、自然言語の指示だけでどこまで曲が作れるか」
を試してみました。

結果として、AIを中間に噛ませることで、いま話題の 「バイブコーディング」「ライブコーディング」 が融合するという、とんでもない体験になりました!

「クラブハウス系にして」→「もっとLo-fiに」→「自然の中で集中できるフォーカスBGMにして(不協和音なしで!)」と、AIとあれやこれやと10分程度の会話しながら育てた最終形がこちらです↓

setcpm(88/4)

stack(
  sound("~ rim ~ rim").bank("RolandTR909").gain(0.35).room(0.6),
  sound("hh*4").bank("RolandTR909").gain(0.22).lpf(2500).room(0.55),
  note("<c2 a1 f2 g2>*2").sound("gm_acoustic_bass").gain(0.6).lpf(1200).room(0.3),
  note("<[c3,e3,g3,b3] [a2,c3,e3,g3] [f3,a3,c4,e4] [g2,b2,d3,f3]>/2")
    .sound("piano").gain(0.3).lpf(4000).room(0.6).delay(0.2),
  n("<[0 ~ 2 4] [~ 4 ~ 7] [6 4 2 ~] [0 ~ ~ 2]>")
    .scale("C:pentatonic").sound("gm_marimba").gain(0.52).room(0.5).delay(0.18)
)

👆 こちらのリンクを開くと、Strudelの画面が立ち上がりすぐに楽曲が再生されます 🎧
※ご自身でコードをいじってみたい方は、画面内の数値を適当に書き換えて Ctrl + Enter を押すとリアルタイムに音が変わります。

💭 やってみて感じたことと、湧き上がった「疑問」

バイブコーディング × ライブコーディングの衝撃

コードの文法に縛られず、AIに「こんな雰囲気で」と伝えるだけで、リアルタイムに音楽が組み上がっていく過程はシンプルに衝撃と面白さを感じました。

頭の中のイメージを直に音にできる手軽さ

専門知識がなくても、頭の中にある「こんな感じ」を直に音にできる手軽さに、新しい時代の波を感じます。
AIイラストが賛否を呼んでいますが、音楽も確実にそれに近い文化になりつつあり、危惧する反面、誰もがサクッと音楽を作れるこの体験は純粋に素晴らしいです。

耳を持たないAIはどう「心地よさ」を理解しているのか?

自然言語の指示だけで、ここまで「しっくりくる」音楽が作れたことに驚くと同時に、大きな疑問が湧いてきました。
「耳を持たず、音を物理的に聴けないAIが、どうやって音楽を感じ取って作っているのか?」 ということです。

人間にとって「心地いい」と感じる感覚は個人差がある曖昧なものですが、AIはそれを膨大なコードや理論のパターンから統計的に解釈し、マッピングしているに過ぎません。
それなのに、人間の「感性のツボ」をここまで的確に突いてくることに、感動と少しの空恐ろしさを覚えました。

「感性の最適化」はどう実装すべきか

今回行ったのは「公式ドキュメントを読ませて指示する」という、プロンプトエンジニアリング(あるいは簡易的なRAG)の領域です。
では、これをさらに進めて 「自分専用の心地よさ」 に最適化していくにはどうすべきか?

過去の自分の自作曲や好きなコード進行を学習させてファインチューニングを行うのか、より高度なRAGを構築して理論を引き出させるのか。AIのチューニング手法によって、人間の「感性」をどこまでハックし、最適化できるのかという技術的な興味が次から次へと湧いてきました。


音楽理論を知っている身からしても、AIとペアプロ感覚で「感性」をチューニングしていく新しいインターフェースには完全に「沼」りました。
ただでさえプログラミングで音楽が作れるというだけで楽しいのに、より強力なおもちゃに進化させてしまった、手に入れてしまった感覚です…笑

単なる作業用BGM作りを超えて、技術的にも深掘りしがいのあるテーマなので、ぜひ皆さんも暇なときに遊んで(そして考察して)みてください〜 🎧

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?