HeadlinesBriefing favicon HeadlinesBriefing.com

Aetheryte Radio Audio Engineの構築

Hacker News •
×

著者がAetheryte RadioのJavaScript実装について詳述し、Final Fantasy XIVの環境音行動を再現しています。ゲームはランダムな間隔、ピッチ、ボリュームで"whir"音効果を再生し、生命の錯覚を作り出し、アセットの繰り返しをマスキングします。FFXIVはこれらのパラメータの最小値と最大値を提供しており、直接コードに翻訳できます:ランダムインデックス選択、再生レート0.794〜1.0、ゲイン値0.6〜1.0。

オーディオグラフは標準的なWeb Audio APIのパターンに従います:ノードの割り当て、メタデータの設定、接続。再生レートが0.63固定のバッファソースを使用して一定の hum loop を作成し、gain node に接続して無限ループに設定します。

whir システムは従来のループを避けます。`while(true)` とスリープの代わりに、`setTimeout` は 0–2001ms のランダムな遅延で次の whir をスケジュールします。`chooseWhir` 関数はソースノードを作成し、ランダムなプロパティを割り当て、接続して再生を開始します。重要なのは、音が終わったとき、ノードは切り離され、`onended` を介して新しいものがスケジュールされ、環境効果に許容されるわずかな遅延が追加されます。