Audio File Player

AIと読む
全ドキュメントを1ファイルで(llms-full.txt)
AudioFilePlayer #Audio #ノード
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
Playbool
Gainfloat
Smoothingfloat
OnsetSensitivityfloat

出力ポート

Port ID
Levelfloat
Bassfloat
Midfloat
Treblefloat
Onsettrigger

スクリプトから設定可能なメンバー

パス
playInputbool
gainInputfloat
smoothingInputfloat
sensitivityInputfloat
currentFilePathstring
currentPlayingbool
currentLoopbool

Synapse Apps(スクリプティング)

await synapse.modules.create({ type: "AudioFilePlayer" })