ablx.directory

lineweave

v0.1.0

Original audio-reactive rhythm game prototype for the Ableton Live Extensions SDK

ksd6700manifest author: Original prototype created with CodexNo ratings yet
README · rendered from GitHubView source

LineWeave — Audio-reactive game for Ableton Live

Turn an Audio Clip into a playable course, then write your performance back to Live as MIDI.

Download / ダウンロード

Download LineWeave v0.1.0 (LineWeave-0.1.0.ablx)

View all releases · Source code

English

LineWeave is an original rhythm-game prototype built with the Ableton Live Extensions SDK. Right-click an Audio Clip in Arrangement View and LineWeave renders and analyzes the selected range, turning transients, loudness, and frequency-band movement into a playable course.

The game runs inside an Extension dialog and uses the analyzed audio's playback time as its clock. Play with A / S / K / L; after the run, successful inputs can be written to a new MIDI track using Live's current scale.

Quick start

  1. Download LineWeave-0.1.0.ablx.
  2. Drag the file into Live → Settings → Extensions.
  3. Place an Audio Clip in Arrangement View.
  4. Right-click the clip and select Play LineWeave.
  5. Choose a difficulty and play with A / S / K / L.
  6. Select MIDIへ書き込む to create a MIDI performance clip.

Features

  • Renders the selected clip range as pre-FX audio
  • Analyzes audio in a 44.1 kHz mono analysis space
  • Uses RMS, spectral flux, and four frequency bands to generate obstacles
  • Offers three course densities: Drift, Flow, and Surge
  • Synchronizes the course to audio playback inside the Extension
  • Writes successful gestures back to Live as MIDI
  • Includes a standalone browser demo mode for development

Requirements and synchronization

  • Ableton Live 12 Suite Beta 12.4.5 or later
  • Ableton Extensions SDK 1.0.0 beta

Extensions SDK 1.0.0 does not expose continuous Live transport position or play-state observers. For deterministic timing, LineWeave plays the rendered audio inside its own dialog and uses audio.currentTime as the game clock. A version that follows Live's transport in real time would require a Max for Live hybrid.

This is a clean-room, original prototype. It does not contain Vib-Ribbon game code, ROM data, models, audio, images, or trademarks, and it is not affiliated with the referenced projects or rights holders.


日本語

LineWeaveは、選択したAbleton Liveのオーディオクリップを解析し、音の変化からコースを生成するオリジナルのリズムゲームです。

ゲームやキャラクター、画面、名称、音声解析コードは新規実装です。『ビブリボン』のゲームコード、ROM、モデル、音声、画像、商標は含みません。

現在できること

  • Arrangement ViewのAudio Clipを右クリックして Play LineWeave を起動
  • クリップ範囲をLiveからpre-FX WAVとしてレンダリング
  • 音源を44.1kHzのモノラル解析空間へ変換
  • RMS、スペクトルフラックス、4帯域のエネルギーから障害物を生成
  • Extension内の音声再生時間にコースを同期
  • A / S / K / Lの4ジェスチャーと複合ジェスチャー
  • 成功した入力を現在のLiveスケールに沿ったMIDIクリップとして新規トラックへ書き戻す
  • ブラウザ単体で動作するデモモード

なぜLive本体の再生へ直接同期しないのか

Extensions SDK 1.0.0には、Liveの再生位置、再生/停止状態、連続的な変更通知を受け取るAPIがありません。Extensionは右クリックで起動し、一回の処理を行って終了するツールとして設計されています。

そのためLineWeaveは、次の手順で決定的な同期を実現します。

  1. 選択クリップをLiveからWAVへレンダリングする
  2. 全曲を先読み解析してコースを確定する
  3. Extension内のlocalhost配信から同じ音源を再生する
  4. audio.currentTimeをゲーム時計としてコースを流す
  5. 結果だけをLiveへMIDIとして返す

Liveのトランスポートにリアルタイム追従する版を作る場合は、Max for Liveから再生位置や解析値を送るハイブリッド構成が必要です。

必要環境

  • Ableton Live 12 Suite Beta 12.4.5以降
  • Ableton Extensions SDK 1.0.0 beta
  • Node.js 24.16.0 LTS(Ableton公式案内に合わせる場合)

すぐ使う

  1. LineWeave-0.1.0.ablxをダウンロード
  2. ファイルをLiveの Settings → Extensions へドラッグ
  3. Arrangement ViewのAudio Clipを右クリック
  4. Play LineWeave を選択

過去のバージョンや更新履歴はReleasesページから確認できます。

ビルド

Ableton Beta ProgramからダウンロードしたSDKアーカイブ内の次の2ファイルを vendor/ に置きます。

vendor/
  ableton-extensions-sdk-1.0.0-beta.0.tgz
  ableton-extensions-cli-1.0.0-beta.0.tgz

その後、次を実行します。

npm install
npm run package

プロジェクト直下に LineWeave-0.1.0.ablx が生成されます。Liveの Settings → Extensions へドラッグしてインストールしてください。

使い方

  1. Arrangement Viewへオーディオクリップを置く
  2. クリップを右クリックする
  3. Play LineWeave を選ぶ
  4. 解析後、難易度を選んで START RUN
  5. A / S / K / Lで対応する障害物を処理する
  6. 終了画面で MIDIへ書き込む

新しいMIDIトラックへプレイ結果が作成されます。

ブラウザデモ

npm run serve:demo

ブラウザで http://localhost:5177/game.html を開き、ローカル音源を選択します。ブラウザ版ではMIDI書き戻しの代わりにプレイ結果のJSONを保存します。

現在の制限

  • Live本体の再生ヘッドとは同期しません
  • Live APIのレンダリング対象はArrangement上のクリップを想定しています
  • 音声と画面はExtensionの実行中だけ、ローカル端末内のlocalhostから配信します
  • 4分を超える音源は先頭4分まで解析します
  • SDKがベータのため、APIやパッケージ方法が変わる可能性があります
  • コース生成は最初の実用プロトタイプで、BPM推定や構造解析は今後の改善対象です

参考資料

詳しいライセンス上の扱いは THIRD_PARTY_NOTICES.md を参照してください。

Rate this extension

One rating per account; you can change it any time.

No ratings yet — be the first

Comments

Sign in to join the discussion.Sign in

No comments yet.