NYS · 12CH REALTIME SPATIAL AUDIO

Lissajous Sampler

6つのステムを、音量に反応する3Dオブジェクトとして可視化し、12チャンネルの空間音響へリアルタイム出力するための操作・システムガイド。

SHOWCASE EDITION · 2026.08.05 · JA
01 / OVERVIEW

システム概要

NYS Lissajous Samplerは、WebGL、Node.js、SuperColliderを連携させた独立アプリです。標準ではassets/1.wav6.wavを各1つのモノラル・オブジェクトとして扱い、3D座標と12スピーカーへのゲインを同じ状態データから生成します。

SAFE START

起動時は必ずSTOPPEDです。標準音量は−24 dBFS、出力先はLoopback Audio 12ch。音を出す前に出力デバイスと下流側のルーティングを確認してください。

停止状態のLissajous Sampler全体画面
01_main.png · 全6ステム選択済み / STOPPED / 12ch ready

最短の操作

  1. Audio outputが目的の12chデバイスになっていることを確認する。
  2. Master volumeを低い値から設定する。
  3. Startで再生とモーションを開始する。
  4. Stopで現在位置のまま停止、Return to startで音源と軌道を先頭へ戻す。
02 / INTERFACE

画面と基本操作

左側は3D空間、右側はスクロール可能なコントロールパネルです。シーン内の色は各ステムに固定され、オブジェクト、パーティクル、メーター、ラベルで共通します。

オーディオリアクティブ表示中の操作画面
02_audio_reactive.png · PLAYING / object dBFS / particles / plexus / sound surface
1Source
現在のステムセットとモノラル化・12ch化の状態。
2Stem loader
1〜24ファイルをドラッグ&ドロップで交換。
3Motion
速度、軌道ファミリー、変形量を操作。
4Sound mesh
面を生成する音量しきい値をdBFSで設定。
5Object labels
動くラベルだけをON/OFF。スピーカー名は維持。
6Transport
開始、停止、先頭復帰を音と映像に同期。
03 / MOTION + VISUALS

モーションとグラフィック

読み込んだオブジェクトは位相を360° / stem数で分配され、同じ場所へ重なりにくい状態を保ちます。Path variationは軌道の単純な速度ではなく、立体的な形状そのものをモーフします。

Vortex Coilモーションの可視化
03_motion_vortex.png · Vortex Coil / variation 78% / speed 1.35×
パターン動きVariationの効果
Phase Lissajous三軸の位相曲線Orbit → Ribbon → Knot → Weave
Tilted Orbit傾斜した周回軸の傾きと上下幅
Helix Loop閉じた螺旋巻き数と立体深度
Breathing Ring膨張・収縮する環呼吸量と高さ
Box Loop箱状の周回角の硬さと面のねじれ
Vortex Coil渦巻くコイル渦の密度と縦方向の構造

各オブジェクトの実測dBFSが、点の大きさ、二層グロー、パーティクル発生量、Plexusの明るさへ反映されます。描画負荷を抑えるため、Plexusは各点から近傍2点へ限定されます。

04 / SPATIAL FX

空間エフェクト

各オブジェクトから12スピーカーまでの距離を、最短8 msからRipple travelまでの到達時間へ変換します。この12本の遅延時間はSuperColliderの音響処理とWebGLの波紋・伝播線で共有されます。

RippleとReverbの空間エフェクト画面
04_spatial_fx.png · Ripple + Reverb / distance → 12 delay taps
モード音響可視化
Dry等電力12chパンニング基本のスピーカー接続
Ripple Delay距離順に到達する12chディレイ波紋リングと伝播線
Spatial Reverb空間タイミングで再配分したFreeVerb2減衰する立体シェル
Ripple + Reverb補正付きで両フィールドを合成リング、シェル、伝播線
GAIN PRACTICE

Wet mixは標準22%です。残響を長くする場合は、まずMasterを下げ、次にWet mixを少しずつ上げて12chメーターの合計レベルを確認してください。

05 / STEMS + OUTPUT

ステムと12ch出力

標準セットは6つのステレオWAVを読み込み、各ファイルを1chモノラルとしてストリーミングします。Stem loaderではWAV、AIFF、FLAC、CAFを1〜24ファイルまで読み込めます。ファイル数が変わると、位相間隔と最小分離目標も自動調整されます。

オブジェクト別と12ch出力のメーター
05_output_meters.png · six object meters + final post-FX 12-channel activity

チャンネル順

出力スピーカー出力スピーカー
1Front C7Rear L
2Front R8L2
3R19L1
4R210Front L
5Rear R11Ceiling1
6Rear C12Ceiling2

UIは物理チャンネルを1〜12で表示します。SuperCollider内部の出力バスは0〜11です。12chメーターはエフェクト処理後の最終信号を表示します。

06 / AUDIO SURFACE

音量とサウンド面

Sound mesh thresholdを超えたオブジェクトだけが、音のある領域として幾何形状を作ります。判定にはWeb側の推定値ではなく、SuperColliderから返るオブジェクト別dBFSを使用します。

しきい値以上の数描画意図
0–1面なし単独音を粒子とグローで明確化
2グラデーション線二点間の音響的な関係を表示
3半透明三角形最小の音響面を生成
4以上Delaunay三角形群最大分散の二軸へ投影して安定した面を生成

三角形の頂点は投影後も元の3D座標を保持します。面のアルファは低く設定され、軌道、粒子、スピーカーへの接続が透けて見える設計です。

READING LEVELS

面が出ない場合は、まず各オブジェクト行のdBFSを確認します。音が鳴っている値より少し低い位置までしきい値を下げると、線→三角形→ポリゴンの変化を観察できます。

07 / ARCHITECTURE

アーキテクチャ

独立版はルートのSpatial Object Laboratoryとランタイム状態を共有しません。専用のbridge、WebGL UI、SuperColliderグラフ、起動スクリプトをlissajous-sampler/内に持ちます。

WebGL UIWebSocket
controls + meters
Node Bridgemotion + gains
single source of truth
SuperColliderOSC
stream + DSP + 12ch
要素役割
bridge/server.js状態管理、位相モーション、空間ゲイン、WebSocketとOSCの中継。
bridge/params.jsonUI範囲、軌道、エフェクト、メーター制限の共有スキーマ。
webgl/app.js3D描画、粒子、Plexus、Delaunay面、UI同期。
supercollider/ディスクストリーム、モノラル化、12ch空間DSP、実測メーター。
start.shデバイス・素材・ポート確認、bridgeとSCの起動、ready待機。
.runtime/アプリ所有PIDとポート情報。Git管理外。
08 / OPERATIONS

起動・終了・トラブル対応

管理コマンド

./lissajous-sampler/start.sh
./lissajous-sampler/restart.sh
./lissajous-sampler/stop.sh

# 12ch以上のデバイスを確認
./lissajous-sampler/start.sh --list-devices

# 出力先を指定
./lissajous-sampler/start.sh --device "<12-channel-output-device>"

restart.shstop.shは、このアプリが記録したNode bridge、sclangscsynthだけを停止し、使用ポートが再利用できることを確認します。

確認ポイント

症状確認
StartできないBridge: connectedSC: ready、ステムがREADYか確認。
音が出ない12ch出力デバイス、Master、下流DAW/Loopbackのルーティングを確認。
面が出ないオブジェクト別dBFSとSound mesh thresholdの関係を確認。
再起動できないrestart.shを使用し、孤立したsclang/scsynthを含めて管理終了。
素材を戻したいRestore 1–6で標準のassets/{1…6}.wavへ復帰。
SHUTDOWN

作業終了時はブラウザを閉じるだけでなく、./lissajous-sampler/stop.shを実行してください。SuperColliderの子プロセスとオーディオデバイスを確実に解放します。