HeadlinesBriefing favicon HeadlinesBriefing.com

بناء محرك الصوت Aetheryte Radio

Hacker News •
×

يشرح المؤلف التنفيذية لجافا سكريبت وراء Aetheryte Radio، مقلدًا سلوك الصوت المحيطي في Final Fantasy XIV. اللعبة تلعب تأثيرات صوتية "whir" في فترات عشوائية، نغمات وأحجام، لإنشاء illusion of life وتغطية تكرار الأصول. يوفر FFXIV قيمًا دنيا وأقصى لهذه المعاملات، مما يسمح بترجمة مباشرة إلى الكود: اختيار فهرس عشوائي، معدلات تشغيل بين 0.794 و 1.0، وقيم كسب بين 0.6 و 1.0.

يتتبع إعداد الرسم الصوتي أنماط واجهة Web Audio API القياسية: تعيين عقدة، تعيين بيانات تعريفية، اتصال. تم إنشاؤه Loop همهمة ثابت باستخدام مصدر Buffer مع معدل تشغيل ثابت 0.63، متصلاً بمكسب وتم تعيينه للتشغيل اللانهائي.

يتجنب نظام whir الدوائر التقليدية. بدلاً من `while(true)` مع السلايب، `setTimeout` يضبط التالي whir في تأخير عشوائي (0–2001ms). دالة `chooseWhir` تنشئ عقدة مصدر، تنسب خصائص عشوائية، تربطها، وتبدأ التشغيل. حاسم، عند انتهاء الصوت، يتم فصل العقدة ويتم جدولة جديدة عبر `onended`، إضافة تأخير حدودي مقبول للتأثيرات البيئية.