Google Deepmind Lyria API x Spatial Audio + Visual
ループ・ライブラリから、Ableton Live プロジェクト・空間オーディオ・3レイヤーのフィールド映像までを自動生成する。
ループ・ライブラリ → Ableton Live (.als) + 空間オーディオ + 歩ける3レイヤー・フィールド。すべてを単一のソースが駆動する。
View repository (private)すべてのループが常に鳴っている。
近づいたものだけが聞こえる。
最大100本の常時ループするAI生成素材を、3D空間に散りばめる。リスナー(カメラ)が移動すると、近くに来たオブジェクトだけが立ち上がり、前後左右は空間オーディオが描く。
同じ1本の「近接ゲート」曲線が、Ableton のトラック音量・プレビュー音声・映像の発光を同時に駆動する。だから .als とプレビューが完全に一致する。
実際に生成した音+映像
KIBISI が生成した als → wav → mp4 の実出力。youtu.be/poJtbmOfIMI
単一ソースから3つの成果物へ
音源生成のルール — 重み付きスタイル
ループは固定のスタイル・パレットから style_id を選び、重み(合計≈1)で配合して生成する。配合がライブラリの多様性を生み、後段の beat / SE / drone 仕分けへつながる。
● drone ● beat ● SE / texture — 色は3レイヤーへの傾向(目安)。
{
prompt: "experimental footwork with percussive fm synth",
durationSeconds: 30,
styles: [
{ id: "footwork", weight: 0.6 },
{ id: "modular_synth", weight: 0.4 },
],
anonymousAccessTokenSecret: "$ACCESS_TOKEN",
}
音響解析で beat / SE / drone に仕分ける
リズムの土台。強いダウンビート・反復・トランジェント。空間に散らばる「格子ノード」になる。
効果音的・ノイズ的・無調で明るい素材。空中をリサジュー/螺旋で高速に飛ぶ「フライヤー」に。
持続音。低crest(持続的)・調性・低反復で判定。光る「星雲」として描く。
発見: Lyria の「ドローン」は進化するグラニュラー・テクスチャで、オンセット密度では区別不可。crest(持続性)・調性・反復が効いた(本物36/36を検出)。
drone_score = (crest_db < 15) + (atonal < 0.45) + (repetition < 0.55) + (flatness < 0.0015)
3つのレイヤー、それぞれ別の配置と映像
- beat — 内殻に均等散布。カメラが巡回する歩ける格子。kNNで線を結ぶ。
- SE — リサジュー/螺旋の軌道で高速移動。音に反応するトレイル。
- drone — 外殻に少数・大きく配置。フィラメントと濃いコアを持つ光る星雲。
近接ボリューム・ゲート
各オブジェクトとカメラの距離から毎フレーム算出した滑らかなゲイン曲線(smoothstep)。NEAR内は等倍、FARで無音まで落ちる。
同じ曲線を ALS のトラック音量・プレビュー音声・映像の発光に焼くから、Ableton で開いた音とプレビューが1フレーム精度で一致する。
Stereo Spatializer(自作 VST3)
前後左右・距離は、カメラ幾何から焼いた azimuth / elevation / distance / spread を、自作の空間オーディオ・プラグインが2chへレンダリングする。10パラメータ凍結、DSPの numpy 移植でオフライン2chも同一結果。
近接ゲートはトラック音量、方向はプラグイン — 役割を分離。
1つのテンポに強制ワープ、ポリリズムは許容
全ループをセッション・テンポへワープして連続再生。テンポが離れすぎる素材は除外し、ハーフ(×1/2)やポリリズム(例 3:4 = 120 against 160)は積極的に許容する。
プレビューは簡易ワープ、マスターは .als を Ableton で開いて本来のワープで書き出す。
生成物:編集可能な Ableton プロジェクト
.als は連続クリップ+ワープ+Stereo Spatializer デバイス+オートメーション(空間/近接ゲート)を焼き込んだ本物の Live プロジェクト。ロケータ=セクション、トラック=役割で、Live 12 でそのまま手編集できる。
映像の自動生成(自作レンダラ)
自作の点群レンダラ(numpy + ffmpeg)が3レイヤーを描画する。音声と同じベイク済みブレークポイントを読むので、リアルタイム解析なしに音と映像が1フレーム精度で一致する。
- 各ループは自分の実スペクトル(STFT→8帯域)で駆動。テンポ一律ではなく音色ごとに動く。
- ビートノード:低/中/高のアタック検出 → 異なるサイズのパーティクルがエッジを伝って隣ノードへ流れる。
- 近接ゲートが発光も制御=聞こえる時だけ光る。可変速のローミングカメラ+サイバーブルーのグレード/ブルーム。
WebUI で選曲・設定 → 4つの出力を自動生成
scripts/webui.py のブラウザUIで楽曲(ベースループ)・コーパス・SE数・尺・BPM・カメラ・seed を選び Generate を押すと、plan → bake → als → mixdown → render が一括で走る(〜2-4分、session 名はユニークで上書きしない)。
- Ableton .als — 編集可能なマスター・プロジェクト
- spatial audio 2ch — Spatializer で空間化した 2ch wav
- previs wireframe — 640×360 の高速プレビュー映像
- metal render video — Metal(satin)エンジンの本番レンダ映像(上のデモがこれ)
設定はそのまま実行スクリプトになる
Generate を押すと WebUI の設定が kibisi コマンド列へ変換され、各ステップが順に実行される(ログはライブで流れる)。生成物は .als(マスター)・2ch 空間 wav・previs wireframe・Metal(satin) 本番レンダ。
$ kibisi plan <song> --preset warp30 --loops 120 --density-arc \
--bpm 160 --target-sec 113 --finale-sec 24 --outro-sec 55 \
--intro-bars 8 --se 30 --support 3 --downbeat-kick --seed 1 --name webui_7cghzx
$ kibisi spatial-bake webui_7cghzx
$ kibisi generate-als webui_7cghzx → webui_7cghzx.als (Ableton master)
$ kibisi spatial-mixdown webui_7cghzx → spatial_preview.wav (2ch spatial)
$ kibisi render-video webui_7cghzx --wireframe → preview_wire.mp4 (previs)
$ kibisi render-video webui_7cghzx --engine satin → preview_satin.mp4 (Metal)
同じ曲を 10 / 30 / 50 / 100 ループで
同じベース・同じシードで密度だけを変えた4バージョン。ランク選定なので、小さい版は「最良N本」になる。




各図の下に drone / beat / SE の本数。レンダは完成次第、自動で差し込まれる。
技術スタック
Python · Polars · librosa · numpy/scipy。BPM・ダウンビート・帯域・調性・crest を解析し Parquet に。
相性グラフ+ルールベース役割分類+ランク選定。決定論的(seed固定)。
JUCE 8 / VST3 の Stereo Spatializer と、その numpy 双子(オフライン2ch)。
.als を直接合成(gzip+XML)。クリップ・ワープ・デバイス・オートメーションを焼き込み。
自作の点群レンダラ(numpy + ffmpeg)。星雲・フライヤー・格子・近接発光。
同じベイク済みブレークポイントを映像・音声が共有 → レイテンシゼロの一致。
ループから、空間で鳴る音と映像へ
- 音響解析で beat / SE / drone に仕分け、3D空間に配置
- 近接ゲート+空間オーディオで「近づいた音だけ聞こえる」フィールド
- WebUI で選曲・設定 → als / 2ch wav / previs / Metal render を自動生成
関連する参照ページ
FAQ、用語集、外部参照、計測、AI用索引へ移動できます。それぞれのリンク先で何を確認できるかを明記しました。