تبدیل نرخ نمونه

این مقاله تبدیل نرخ نمونه را که با نام نمونه‌گیری مجدد نیز شناخته می‌شود، در اندروید توضیح می‌دهد. برای اصطلاحات مربوط به تبدیل نرخ نمونه، اصطلاحات را ببینید.

تبدیل نرخ نمونه فرآیند تغییر یک جریان نمونه گسسته از یک نرخ نمونه به جریان دیگر با نرخ نمونه متفاوت است. مبدل نرخ نمونه یا نمونه‌گیری مجدد، ماژولی است که تبدیل نرخ نمونه را پیاده‌سازی می‌کند. با توجه به نمونه‌بردار، جریان اصلی سیگنال منبع و جریان نمونه‌گیری مجدد سیگنال سینک نامیده می‌شود.

Resampler ها در چندین مکان در اندروید استفاده می شوند. به عنوان مثال، یک فایل MP3 ممکن است با نرخ نمونه 44.1 کیلوهرتز کدگذاری شود، اما باید در دستگاه اندرویدی که صدای 48 کیلوهرتز را پشتیبانی می کند، پخش شود. در این حالت، از یک نمونه‌گیری مجدد برای نمونه‌برداری مجدد صدای خروجی MP3 از نرخ نمونه منبع 44.1 کیلوهرتز به نرخ نمونه سینک 48 کیلوهرتز که در دستگاه Android استفاده می‌شود، استفاده می‌شود.

ویژگی های یک نمونه گیری مجدد را می توان با استفاده از معیارهایی بیان کرد، از جمله:

  • درجه حفظ دامنه کلی سیگنال
  • درجه حفظ پهنای باند فرکانس سیگنال، مشروط به محدودیت های نرخ نمونه سینک
  • تأخیر کلی از طریق نمونه‌گیری مجدد
  • تاخیر فاز و گروه با توجه به فرکانس ثابت
  • پیچیدگی محاسباتی، که در چرخه های CPU یا مصرف توان بیان می شود
  • نسبت های مجاز نرخ نمونه منبع و سینک
  • توانایی تغییر پویا نسبت نرخ نمونه
  • کدام فرمت‌های نمونه صوتی دیجیتال پشتیبانی می‌شوند

نمونه‌برداری مجدد ایده‌آل دقیقاً دامنه و پهنای باند فرکانس سیگنال منبع را حفظ می‌کند (مشروط به محدودیت‌های سرعت نمونه‌گیری)، تاخیر حداقل و ثابت، حداقل پیچیدگی محاسباتی، اجازه نسبت‌های تبدیل دلخواه و پویا، و پشتیبانی از همه فرمت‌های نمونه صوتی دیجیتال رایج را دارد. . در عمل، نمونه‌های مجدد ایده‌آل وجود ندارند، زیرا نمونه‌های مجدد واقعی یک مصالحه در میان این ویژگی‌ها هستند. به عنوان مثال، اهداف کیفیت ایده آل با تاخیر کوتاه و پیچیدگی کم در تضاد هستند.

اندروید شامل انواع مختلفی از نمونه‌های مجدد صدا است، به طوری که بسته به مورد استفاده و بارگذاری برنامه، مصالحه‌های مناسبی را می‌توان انجام داد. نمونه‌های مجدد موجود در پیاده‌سازی Resampler توضیح داده شده‌اند.

پیاده سازی Resampler

پیاده‌سازی نمونه‌های مجدد موجود اغلب تغییر می‌کند و ممکن است توسط OEMها سفارشی شود. نمونه‌های مجدد پیش‌فرض، به ترتیب نزولی اعوجاج سیگنال و ترتیب صعودی پیچیدگی محاسباتی، عبارتند از:

  • خطی
  • مکعبی
  • سینک با ضرایب اصلی
  • سینک با ضرایب تجدید نظر شده

به طور کلی، نمونه‌های مجدد سینک برای پخش موسیقی با کیفیت بالاتر مناسب‌تر هستند، و نمونه‌های مجدد دیگر باید برای مواردی که کیفیت اهمیت کمتری دارد، رزرو شوند (مثلاً ممکن است «کلیدهای کلیدی» یا موارد مشابه باشد).

اجرای نمونه‌گیری مجدد خاص انتخاب‌شده به استفاده، بار، و مقدار ویژگی سیستم af.resampler.quality بستگی دارد. برای جزئیات، به کد منبع نمونه‌گیری مجدد صدا در AudioFlinger مراجعه کنید.