Clock
拍を刻んで Beat(トリガー)、Phase(周期内の 0〜1)、Count(通算発火数)を出すノードです。基準は 2 通りあり、BeatPosition 入力に何か繋がっている間はそちらの拍位置に追従し、繋がっていなければ自前の BPM で走ります。
拍分割はドロップダウンで 1/4 beat・1/2 beat・1 beat(既定)・2 beats・1 bar・2 bars・4 bars の 7 段。bar 系の長さは BeatsPerBar × 1 / 2 / 4 拍です。
- BPM 既定 120(1〜500 にクランプ)
- BeatsPerBar 既定 4(1〜32 にクランプ)
- Sync は現在位置を最も近い拍へ丸め、Reset は拍位置・Phase・Count を 0 に戻します
- フレーム落ちで複数の分割をまたいだ場合はまとめて発火します(1 フレームあたり最大 1024 回。Count には打ち切り前の実数が入ります)
Clock はグローバルテンポを自動では見ません。アプリのテンポに同期させたいときは GlobalTempo の BeatPosition 出力を BeatPosition 入力に繋いでください。未接続の Clock はローカルの BPM で独立して走ります(仕様)。
分割ドロップダウンや BeatsPerBar を変えると内部でリセットが走り、Phase と Count が 0 に戻ります。
入力ポート
| Port ID | 型 |
|---|---|
BPM | float |
BeatPosition | float |
Sync | trigger |
Reset | trigger |
BeatsPerBar | int |
出力ポート
| Port ID | 型 |
|---|---|
Beat | trigger |
Phase | float |
Count | int |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
bpmInput | float |
beatPositionInput | float |
beatsPerBarInput | int |
currentDivisionIndex | int |
currentBpm | float |
currentBeatsPerBar | int |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "Clock" }) 




