FIELD NOTES / 2026

HUMAN × AI
OBSERVATION LOG

LOG ENTRY / post

ゲームBGMを520曲、テキストの楽譜で作った

ゲームBGMを520曲、テキストの楽譜で作った

C4 E4 G4:2 | のようにテキストで楽譜を書くと、ブラウザがその場で音を合成して鳴らす。そういうものを Claude と作っていて、曲が520曲になったので公開した。

やりたかったこと

AIにゲームっぽいループBGMをどんどん作らせて、ゲームのあらゆる場面を網羅したかった。タイトル画面、フィールド、ダンジョン、ボス戦、町、イベント、ホラー、SF、レトロ8bit、和風、民族音楽、スポーツ、ミニゲーム、日常、環境音……17ジャンルに分けて、曲には「熱い」「切ない」「夜」「海」のようなタグを付けて、探しやすくした。ジャンルを選んで「ランダムに1曲」を押すと、その場面の曲が流れっぱなしになる。

曲はぜんぶ Claude に書かせたオリジナル。1曲は数十小節のループで、楽譜がテキストなので中身が全部読めるし、書き換えればその場で鳴る。

楽譜がテキストであること

MIDIでも音源ファイルでもなく、人間が読めるテキストにしたのは、AIに曲を書かせるのに一番具合がいいからだ。楽器ごとにトラックを並べて、音名と拍数を書く。! で強く、? で弱く、glide でつなぐ、くらいの記法で、Claude はこの形式で曲を書けるし、こちらも直せる。

音は全部合成

サンプル音源は使っていない。ピアノ、ギター、ベース、ドラム、オルガン、ストリングス、ブラスなどを Web Audio の部品で組んでいる。最近は楽器を一つずつ作り込んでもらった。

  • バイオリン:弓で擦った弦の波形を、約50個の共鳴を重ねた胴の応答に通す。音の長さと強弱で弓づかいが自動で変わる。短い音は跳ね、長い音はふくらんで、遅れてビブラートがかかる
  • バイオリンの合奏:1音を1回だけ鳴らして、揺れる遅延線で「別々の奏者」に複製する。人数分鳴らすより軽い
  • サックス:強く吹くほど倍音が増える。息の音、タンギング、しゃくり上げ、!! でグロウル
  • ドラムンベース用のドラムキット:ゴーストノートが別の音で、連打が毎回少し違う

音色の良し悪しは、Claude は音を聴けないので、数値で詰めたものを自分が聴いて返す、の繰り返しだった。

軽さ

曲を3秒くらいの塊に区切って先に書き出しておき、再生はそれをつなぐだけにしている。これでスマホでも音が途切れない。残響も、畳み込みと計算式の2種類から自動で選ぶ。

→ テキスト譜スタジオ