SOUND LAB MANUAL

なまず振り子シーケンサー 説明書

複数の振り子を120Hz固定stepで動かし、中央通過・折り返し・角度Gateを実Triggerとして音へ変換します。MAX版では振り子を直接触り、同期を壊し、CouplingやSYNC BURSTで再び揃える体験を中心に再構成しました。

ツールを開く

まず試す操作と生成方法

初めての方へ

最初の1分は、ここだけ試してください

  1. Presetを選び、PLAYします。
  2. Pendulumをドラッグして動きを変えます。
  3. 近い案はVARIATION、より大きな案はMUTATE/WILDを使います。

ランダム・自動生成はどこ?

押す場所
VARIATION/MUTATE/WILDは強度順にPhysics、Trigger、Sound、Mapping、Effectsを変えます。TODAY'S SEED/NEW SEEDはSeedだけを変更し、それだけでは現在設定を生成し直しません。
何が変わるか
PHYSICS/TRIGGER/SOUND/MAPPING/EFFECTS Lockを保ちますが、Seedと名前は更新します。
気に入った部分を残す
確定した操作はUNDO/REDO 30状態です。気に入った案はSceneまたはProjectへ保存します。
同じ結果を残す
変化は乱数から作られますが、表示Seedだけでは同じ案を再生成できません。完成状態をProjectで保存します。

このツールでできること

  • Performance Stage上のBobをPointerで直接dragし、現在角度と角速度へ介入できます。
  • 実計算のSynchronizationをSYNC %、状態、短い履歴として表示します。
  • WHY THIS NOTEはAudioへ送った実EventからPitch / Velocity / Pan / Filter / Trigger原因を表示します。
  • PUSH、SYNC BURST、BREAK SYNC、DROP、Simulation Freezeは基礎Paramsを壊さないRuntime介入です。
  • Scene A–D、STOP中のParameter Morph、Variation / Mutate / Wild、カテゴリLock、Undo / Redoに対応します。
  • Project v2で現在設定、Scene A–D、LockをPocketへ保存し、旧v1 Paramsも互換読込します。
  • 実Trigger TimingのMIDI、Master WAV録音、MIDI Editor、Share URL、Tilt、限定Hapticに対応します。

クイックスタート

  1. FIRST SWINGまたはSYNC LABを選びます。
  2. ▶ PLAYを押します。Play / Stopは同じボタンです。
  3. StageのBobをdragして同期を崩し、SYNC BURSTまたはCoupling Strengthで戻してみます。
  4. 右側のWHY THIS NOTEで、鳴った音がどのMotion値から作られたか確認します。

1. SYNC / DESYNC / RE-SYNC

Synchronizationは各振り子の角度と正規化角速度から位相を作り、円平均の長さを0〜100%へ変換した実指標です。UIだけで作った値ではありません。

BREAK SYNCはRuntime stateへ決定論的な位相差を加え、SYNC BURSTは一定時間だけGlobal Couplingを強めます。どちらも保存Paramsを書き換えません。

2. Bobを直接演奏する

BobをdragするとPointer位置から角度を計算し、移動速度から角速度を与えます。Mouse / Pen / Touchは同じPointer Events経路で処理し、Stage操作中のページスクロールを抑えます。

3. WHY THIS NOTE

  • Trigger Mode / Direction / Angle / Angular Velocity / EnergyをEventへ保存します。
  • 同じEventへPitch / Velocity / Pan / Filter / Gateの実Mapping結果も保存します。
  • Canvas Pulse、History、WHY、MIDIは同じ実発音Eventを基準にします。

4. Performance介入

  • PUSH: 選択Bobまたは全体へImpulse。
  • SYNC BURST: 約2.4秒だけGlobal Couplingを強化。
  • BREAK SYNC: Runtime stateだけへ位相差を追加。
  • DROP: 約1.5秒Drive OFF + Damping増加。
  • FREEZE SIM: Simulationだけ停止。Sound Loop Freezeではありません。
  • RELEASE: 一時介入とFreezeを解除。

5. Scene A–D / Morph

SceneはPendulum Params一式をA〜Dへ保存します。Recallは現在設定へ戻し、Morphは連続値を補間し、Instrument / Scale / Trigger等の離散値は50%地点で切り替えます。構造Params再初期化を避けるためMorph SliderはSTOP中のみ有効です。

6. Variation / Mutate / Wild とLock

現在の状態を基準に変化量を3段階へ分けています。Physics / Trigger / Sound / Mapping / EffectsをLockすると、そのカテゴリはDiscoveryから除外されます。大きな変更はUndo / Redoできます。

7. Tilt / Haptic

Tiltは対応端末でのみ表示され、Calibration後の入力をRuntime Torqueへ1回だけ適用します。HapticはOpt-inで、強い同期達成とScene Captureだけに限定し、全Triggerでは振動しません。

各パラメータ

項目範囲・選択肢役割
Pendulum Count3〜16同時に動く振り子本数です。構造変更なのでRuntimeを再初期化します。
Length / Spread0.4〜2.2 / 0〜100%固有周期の中心とばらつき。Length差が周期差とPitch Mappingへ影響します。
Gravity0.25〜2.0×復元力へ使うGravity倍率です。
Damping0〜100%角速度へ作用する減衰。高すぎると同期を観察する前に静止します。
DriveON/OFF + 0〜100%中央付近で不足Energyを補い、演奏を持続させます。
CouplingOFF / Neighbor / Global + 0〜100%Neighborは左右、Globalは全体平均との差からCoupling Forceを計算します。
TriggerCenter / Turning / Angle中央横切り、折り返し、指定角度Crossを実判定します。
QuantizeOFF / 1/16 / 1/8 / 1/4Triggerの実発生後、AudioContext基準の未来Gridへ予約します。
Mapping RouterPitch / Velocity / Pan / Filter / GateMotion値をAudio Parameterへ接続します。Recipe適用後もAdvancedで個別編集できます。
Tilt対応端末のみ許可・Calibration・Sensitivity・Dead Zone・Smoothing等を使い、Runtimeへ追加Torqueを与えます。

プリセット

  • FIRST SWING: 標準的な8振り子。最初のPlay向け。
  • SYNC LAB: Coupling ONで再同期が見えやすい設定。
  • POLYRHYTHM: Length差で周期がずれるPendulum Wave。
  • CHAOTIC BELLS: 位相差とTurning TriggerをBellで演奏。
  • SLOW WAVE: 低Gravity・長い振り子・Reverbでゆっくり観察。

保存・共有・書き出し

  • Pocket Project v2は現在Params、Scene A–D、Lockを保存します。旧v1のParams JSONもそのまま読み込めます。
  • Share URLは軽量なParamsだけを保存し、Scene / Runtime stateは含めません。URLを開いても自動再生しません。
  • MIDIは実Trigger EventのPitch / Start / Duration / Velocityを使用し、非等間隔Timingを保持します。
  • WAVはAudio Engineの最終Master Outputを録音するため、Coupling、Performance介入、Scene変更、Effectsの結果が入ります。
  • localStorageには最後のParams、Visual、Scene、UI Lock設定を保存します。

おすすめ設定

  • 同期の違いを見るときはSYNC LABから始め、BREAK SYNC → SYNC BURSTを交互に使います。
  • Pendulum WaveでQuantize OFFにすると物理Trigger本来の非等間隔Timingを聴きやすくなります。
  • 良い状態ができたらSceneへCaptureし、Pocket Project v2へ保存します。

トラブルシューティング

  • 音が出ない場合はPLAYまたはStage操作でAudioContextを開始し、端末音量を確認します。
  • 同期が上がりにくい場合はLength Spreadを小さくし、CouplingをGlobal / 60%以上にします。
  • Bobをdragできない場合はStage上の重り本体を触り、ページの別領域をdragしていないか確認します。
  • Scene Morphが動かない場合はSTOPしてください。再生中は構造Paramの連続再初期化を防ぐため無効です。
  • Tiltが表示されない場合、そのブラウザ/端末ではDevice Motionを利用できません。

データ・プライバシー

Physics、Audio Mapping、Scene、Project、MIDI/WAV生成はブラウザ内で完結します。PocketはIndexedDB、最後の設定やSceneはlocalStorageを使用し、外部サーバーへ自動送信しません。

FAQ

SYNC %は演出用ですか?
いいえ。各振り子の位相を実状態から計算したSynchronizationを表示しています。
SYNC BURSTで保存設定が変わりますか?
変わりません。Runtimeだけへ一定時間のGlobal Coupling Overrideを適用します。
MIDIは等間隔Stepになりますか?
Quantize OFFでは実Trigger時刻をそのままtickへ変換します。Quantize ONではAudioへ予約したGrid Timingを使います。
旧Projectは読めますか?
はい。旧v1 Params JSONを検出してnormalizeし、MAX版へ読み込みます。

関連ツール・ガイド