HeadlinesBriefing favicon HeadlinesBriefing.com

Aetheryte Radio Audio Engine বিল্ড করা

Hacker News •
×

লেখক Aetheryte Radio-এর পেছনে জাভাস্ক্রিপ্ট প্রয়োগের বিবরণ দিয়েছেন, যা Final Fantasy XIV-এর পরিবেশীয় ধ্বনির আচরণের অনুলিপি। গেম "whir" সাউন্ড র্যান্ডম ইন্টারভাল, পিচ এবং ভলিউমে बजায় ताकি জীবনের ভুলমত তৈরি হয় এবং অ্যাসেটের পুনরাবৃত্তি মাস্ক করা যায়। FFXIV এই প্যারামিটারদের জন্য মিন/ম্যাক্স মান প্রদান করে, যা সরাসরি কোডে অনুবাদ করা সম্ভব: র্যান্ডম ইনডেক্স নির্বাচন, প্লback_rate 0.794 থেকে 1.0-এর মধ্যে, এবং গেইন মান 0.6 থেকে 1.0-এর মধ্যে।

অডিও গ্রাফ স্ট্যান্ডার্ড Web Audio API প্যাটার্ন অনুসরণ করে: একটি নোড অ্যালোকেট করুন, মেটাডেটা সেট করুন, সংযুক্ত করুন। একটি স্থির হামিং লুপ একটি বাফার সোর্স দিয়ে তৈরি করা হয়েছে যার স্থির প্লব্যাক রেট 0.63, একটি গেইন নোড সাথে সংযুক্ত এবং অসীমের জন্য লুপ সেট করা হয়েছে।

উইয়ার সিস্টেম প্যারাম conventionally লুপ থেকে বেঁচে। `while(true)` স্লিপসের বদলে, `setTimeout` একটি র্যান্ডম ডেলে (0–2001ms) পরে পরবর্তী whir শেডিউল করে। `chooseWhir` ফাংশন একটি সোর্স নোড তৈরি করে, র্যান্ডম প্রপার্টি asign করে, সংযুক্ত করে এবং প্লে শুরু করে। গুরুত্বপূর্ণ, যখন সাউন্ড শেষ হয়, তবে নোডকে ডিসকনেক্ট করে এবং `onended` মাধ্যমে একটি নতুন শেডিউল করে, পরিবেশীয় সাউন্ডের জন্য accepterable marginal লেটেন্সি যোগ করে।