অডিও ওয়ার্ম-আপ

অডিও ওয়ার্মআপ হল আপনার ডিভাইসের অডিও অ্যামপ্লিফায়ার সার্কিট সম্পূর্ণভাবে চালু হতে এবং স্বাভাবিক অপারেশন স্টেটে পৌঁছাতে যে সময় লাগে। অডিও ওয়ার্ম-আপ টাইমে প্রধান অবদানকারী হল পাওয়ার ম্যানেজমেন্ট এবং সার্কিটকে স্থিতিশীল করার জন্য যেকোনও "ডিপপ" লজিক।

এই ডকুমেন্টে অডিও ওয়ার্ম-আপ টাইম পরিমাপ করার পদ্ধতি এবং ওয়ার্ম-আপ টাইম কমানোর সম্ভাব্য উপায় বর্ণনা করা হয়েছে।

আউটপুট ওয়ার্ম-আপ পরিমাপ করুন

AudioFlinger-এর FastMixer থ্রেড অটোমেটিক আউটপুট ওয়ার্মআপ পরিমাপ করে এবং dumpsys media.audio_flinger কমান্ডের আউটপুটের অংশ হিসেবে এটি রিপোর্ট করে। ওয়ার্ম-আপের সময়, দুটি write()-এর মধ্যে প্রত্যাশিত সময় না হওয়া পর্যন্ত FastMixer write() বারবার কল করে। Hardware Abstraction Layer (HAL) write() কতক্ষণ ধরে স্টেবল থাকে তা দেখে FastMixer অডিও ওয়ার্ম-আপ নির্ধারণ করে।

অডিও ওয়ার্ম-আপ পরিমাপ করতে, বিল্ট-ইন স্পিকার ও তারযুক্ত হেডফোনের জন্য এইসব ধাপ অনুসরণ করুন এবং বুট করার পরে বিভিন্ন সময়ে। সাধারণত প্রতিটি আউটপুট ডিভাইসের জন্য ওয়ার্ম-আপের সময় আলাদা হয় এবং ডিভাইস বুট করার ঠিক পরে:

  1. FastMixer চালু আছে কিনা দেখুন।
  2. ডিভাইসে সেটিংস > সাউন্ড > টাচ সাউন্ড বিকল্প বেছে নিয়ে টাচ সাউন্ড চালু করুন।
  3. অডিও অন্তত তিন সেকেন্ডের জন্য বন্ধ আছে কিনা তা নিশ্চিত করুন। পাঁচ সেকেন্ড বা তার বেশি হলে ভালো হয়, কারণ AudioFlinger-এর তিন সেকেন্ডের বাইরে হার্ডওয়্যারের নিজস্ব পাওয়ার লজিক থাকতে পারে।
  4. হোম বোতাম প্রেস করুন এবং আপনি একটি ক্লিক করার শব্দ শুনতে পাবেন।
  5. পরিমাপ করা ওয়ার্মআপ পেতে নিম্নলিখিত কমান্ড রান করুন:
    adb shell dumpsys media.audio_flinger | grep measuredWarmup
    

    আপনার এই ধরনের আউটপুট দেখতে পাওয়ার কথা:

    sampleRate=44100 frameCount=256 measuredWarmup=X ms, warmupCycles=X
    

    প্রথম সেট HAL write()s সম্পূর্ণ হতে measuredWarmup=X X মিলি সেকেন্ড সময় লেগেছে।

    write()-এর এক্সিকিউশন টাইম প্রত্যাশিত সময়ের সাথে না মেলা পর্যন্ত warmupCycles=X হল কতগুলি HAL রাইট অনুরোধ।

  6. পাঁচটি পরিমাপ নিন এবং সবকটি রেকর্ড করুন, সেই সাথে গড় মানও রেকর্ড করুন। সেগুলি যদি প্রায় একই রকম না হয়, তাহলে কোনও একটি পরিমাপ ভুল হওয়ার সম্ভাবনা থাকে। যেমন, অডিও বন্ধ হওয়ার পরে যদি যথেষ্টক্ষণ অপেক্ষা না করেন, তাহলে গড় মানের চেয়ে কম ওয়ার্ম-আপ টাইম দেখতে পাবেন।

ইনপুট ওয়ার্ম-আপ পরিমাপ করা

অডিও ইনপুট ওয়ার্ম-আপ পরিমাপ করার জন্য বর্তমানে কোনও টুল প্রদান করা হয় না। তবে, startRecording() রিটার্ন করার জন্য প্রয়োজনীয় সময় পর্যবেক্ষণ করে ইনপুট ওয়ার্ম-আপ টাইম অনুমান করা যেতে পারে।

ওয়ার্ম-আপের সময় কমানো

ওয়ার্ম-আপের সময় সাধারণত এগুলির কম্বিনেশনের মাধ্যমে কমানো যেতে পারে:

  • ভালো সার্কিট ডিজাইন
  • কার্নেল ডিভাইস ড্রাইভারের ক্ষেত্রে সঠিক টাইম ডিলে
  • ক্রমিক পদ্ধতিতে না করে একই সাথে স্বাধীনভাবে ওয়ার্ম-আপ অপারেশন করা
  • সার্কিট চালু রাখা বা ঘড়ি রিকনফিগার না করা (অলস বিদ্যুৎ খরচ বাড়ায়)
  • কম্পিউটেড প্যারামিটার ক্যাশে করা

তবে, অতিরিক্ত অপ্টিমাইজেশন থেকে সাবধান। আপনি হয়ত দেখবেন যে আপনাকে কম ওয়ার্ম-আপ টাইম বনাম পাওয়ার ট্রানজিশনে পপিং না থাকার মধ্যে কোনও একটি বেছে নিতে হবে।