Audio File Player
音声ファイルを読み込んで再生し、そのスペクトラムから値を取り出すノードです。ファイルはノードへのドラッグ&ドロップ、「Choose Audio File」ボタン、パス入力欄のいずれからでも指定できます。対応形式は WAV / MP3 / OGG / AIF・AIFF で、それ以外の拡張子は読み込みません。ノード上には波形・シークバー・再生時間・Loopトグルが並びます(Loopは既定ON)。
解析
512ビンのスペクトラム(Blackman-Harris窓)から次を計算します。
- Level — 全ビンのピーク × Gain
- Bass — 20〜200Hz、Mid — 200〜2000Hz、Treble — 2000〜8000Hz の平均 × Gain
- Onset — スペクトラルフラックスが直近43フレームの平均 × (1 + OnsetSensitivity) + 0.01 を超えたら発火。不応期0.1秒
パラメータ
- Gain — 負値は0扱い(既定1)
- Smoothing — 値の落ちる時定数(秒)。最小0.001でクランプ、既定0.25。上がりは即座、下がりだけがこの時定数で減衰します
- OnsetSensitivity — 負値は0扱い(既定1)
停止中・終端では Level / Bass / Mid / Treble を一度0へ戻します。これをしないと音を止めたあとも下流が最後の値で動き続けます。
読み込みに失敗したファイルを指定すると、前の音源は停止・破棄されます(UIとパスは新しいファイルを指すので、古い音が鳴り続けないようにするため)。波形表示はffmpegに依存する補助表示で、生成に失敗しても再生自体は続きます。
入力ポート
| Port ID | 型 |
|---|---|
Play | bool |
Gain | float |
Smoothing | float |
OnsetSensitivity | float |
出力ポート
| Port ID | 型 |
|---|---|
Level | float |
Bass | float |
Mid | float |
Treble | float |
Onset | trigger |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
playInput | bool |
gainInput | float |
smoothingInput | float |
sensitivityInput | float |
currentFilePath | string |
currentPlaying | bool |
currentLoop | bool |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "AudioFilePlayer" })