すべてのビジュアルエフェクトは純粋なCUDAカーネル — ピクセル座標、時間、オーディオデータ、8つのパラメータを入力とし、色を出力する数学関数です。テクスチャなし、事前計算アセットなし。毎フレームGPU上でゼロから計算されます。
NVIDIA DGX Sparkでのライブパフォーマンス向けに設計。Grace Blackwellの統合メモリアーキテクチャを活用し、CPUとGPUが同じ物理メモリを共有します。外部プロセスは共有メモリにパラメータを<1μsのレイテンシで書き込み — ネットワークベースの制御プロトコルより2桁高速です。
リアルタイムグラフィックスの歴史を5カテゴリで網羅 — 1980年代デモシーンからモダンなSDFレイマーチングまで。
メインエフェクトパイプラインの後に適用。各ポストエフェクトはマクロシステムを通じてオーディオにより自動駆動されるインテンシティパラメータを持ちます。複数のポストエフェクトは順次チェイン — 1つの出力が次の入力になります。
マクロシステムはオーディオ解析をリアルタイムでポストエフェクトパラメータにマッピングします。各マクロはオーディオソースをレスポンスカーブを通してポストエフェクトターゲットにルーティング。DJが音楽を流せば、ビジュアルが自動的に反応します。
低域(<200Hz)、中域(200–4kHz)、高域(>4kHz)のRMSエネルギーと全体音量。GPU FFTで毎フレーム計算。
低域エネルギーの急激な増加からのオンセット検出。キックドラムやベースドロップで発火。ゲートスタイルエフェクト用のバイナリビートトリガー。
現在のビート内のフェーズ位置(0→1)と、0–1範囲に正規化されたBPM(60–180 BPM)。テンポ同期モジュレーションを実現。
直接1:1マッピング。比例応答。
緩やかな立ち上がり、高レベルで強力。大音量まで繊細。
静かな信号に高速応答。高感度。
指数関数。信号がピークするまでほぼ無反応。
バイナリ。閾値以上でオン、以下でオフ。ハードカット。
無音時に最大効果、音量に応じてフェードアウト。
信号を通じたサイン波。リズミカルなモジュレーション。
S字カーブ。穏やかな立ち上がりと減衰。オーガニックな質感。
256個のfloatパラメータをPOSIX共有メモリに直接書き込み。あらゆる言語、あらゆるプロセスから。シリアライズオーバーヘッドゼロ。
標準Open Sound Control。TouchOSC、Max/MSP、Ableton、SuperColliderと互換。約10msレイテンシ。
フルライブコントロール — エフェクト選択、パラメータ調整、クロスフェード、プリセット、ブラックアウト、ディスプレイ切替。設定不要。
__global__ void fx_plasma(uint32_t* fb, VJParams prm) {
int x, y;
if (!pixel_setup(prm, x, y)) return;
float u = (float)x / prm.width;
float v = (float)y / prm.height;
float t = prm.time * (0.5f + prm.p[1]);
float val = sinf(u * 10.0f * prm.p[0] + t)
+ sinf(v * 8.0f + t * 1.3f)
+ sinf((u + v) * 6.0f + t * 0.7f)
+ prm.bass * 2.0f;
float3 col = hsv2rgb(val * 0.1f + prm.p[2], 0.8f, 0.9f);
output_pixel(fb, x, y, prm, col);
}
統合メモリ。CPUとGPU間のゼロコピー。NVLink-C2Cコヒーレントインターコネクト。
cudaMemcpyによるディスクリートGPUモード。全機能対応。
MakefileのSMオーバーライドでサポート。ディスクリートメモリパス。