پیکربندی جلوه‌های پیش‌پردازش

نسخه Android 10 شامل الزامات زیر برای ضبط با VOICE_COMMUNICATION است.

  • پیاده‌سازی‌ها باید هنگام ضبط با VOICE_COMMUNICATION، در مسیر ضبط، یک حذف‌کننده پژواک صوتی (AEC) ارائه دهند.
  • اگر AEC ارائه می‌کنید، باید ازطریق میانای برنامه‌سازی کاربردی کیت توسعه نرم‌افزار قابل‌شناسایی و کنترل باشد AcousticEchoCanceler.

پلاتفرم Android جلوه‌های صوتی را در دستگاه‌های پشتیبانی‌شده در بسته audiofx ارائه می‌دهد که توسعه‌دهندگان می‌توانند به آن دسترسی داشته باشند. برای مثال، Nexus 10 از جلوه‌های پیش‌پردازش زیر پشتیبانی می‌کند:

جفت کردن با نمونه‌های AudioSource

جلوه‌های پیش‌پردازش با حالت مورد استفاده‌ای که در آن پیش‌پردازش درخواست شده است جفت می‌شوند. در توسعه برنامه Android، مورد استفاده به‌عنوان نمونه AudioSource نامیده می‌شود؛ و توسعه‌دهندگان برنامه درخواست می‌کنند که به‌جای دستگاه سخت‌افزاری صوتی واقعی، از انتزاع AudioSource استفاده کنند. «مدیر خط‌مشی صوتی Android» نمونه AudioSource را به پیکربندی مسیر ضبط معینی (شامل دستگاه، بهره، و پیش‌پردازش) براساس قوانین مختص محصول نگاشت می‌کند. منابع زیر برای توسعه‌دهندگان آشکار می‌شوند:

  • android.media.MediaRecorder.AudioSource.CAMCORDER
  • android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
  • android.media.MediaRecorder.AudioSource.VOICE_CALL
  • android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
  • android.media.MediaRecorder.AudioSource.VOICE_UPLINK
  • android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
  • android.media.MediaRecorder.AudioSource.MIC
  • android.media.MediaRecorder.AudioSource.DEFAULT

جلوه‌های پیش‌پردازش پیش‌فرض اعمال‌شده برای هر نمونه AudioSource در فایل /vendor/etc/audio_effects.xml مشخص شده است. برای مشخص کردن جلوه‌های پیش‌فرض خودتان برای هر نمونه AudioSource، فایل /vendor/etc/audio_effects.xml ایجاد کنید و جلوه‌های پیش‌پردازش را برای روشن کردن مشخص کنید. برای مثال، پیاده‌سازی Nexus 10 را در device/samsung/manta/audio_effects.xml ببینید. وقتی AudioEffect نمونه ایجاد و نابود می‌شود، جلسه را به‌دست می‌آورد و آزاد می‌کند، و به جلوه‌ها (مثل «بهینه‌ساز بلندی») امکان می‌دهد درطول جلسه ماندگار شوند.

مثال زیر پیش‌پردازش را برای نمونه‌های VoIP AudioSource و «دوربین فیلمبرداری» AudioSource فعال می‌کند. با اعلام پیکربندی AudioSource به این روش، چارچوب به‌طور خودکار درخواست استفاده از آن جلوه‌ها را از HAL می‌کند.

<preprocess>
        <stream type="voice_communication">
            <apply effect="aec"/>
            <apply effect="ns"/>
        </stream>
        <stream type="camcorder">
            <apply effect="agc"/>
        </stream>
    </preprocess>

تنظیم منبع

تنظیم AudioSource الزامات صریحی برای بهره صوتی یا پردازش صوتی ندارد، به‌جز تشخیص صدا (VOICE_RECOGNITION). الزامات تشخیص صدا عبارت‌اند از:

  • پاسخ فرکانسی تخت (‎+/- ۳ دسی‌بل) از ۱۰۰ هرتز تا ۴ کیلوهرتز
  • پیکربندی گفتگوی نزدیک: ۹۰ دسی‌بل سطح فشار صدا، مقدار مؤثر ۲۵۰۰ را می‌خواند (نمونه‌های ۱۶ بیتی)
  • سطح به‌صورت خطی از -۱۸ دسی‌بل تا +۱۲ دسی‌بل نسبت به ۹۰ دسی‌بل SPL تغییر می‌کند
  • THD < 1% (۹۰ دسی‌بل سطح فشار صوت در محدوده ۱۰۰ تا ۴۰۰۰ هرتز)
  • الزامات فراصوت نزدیک (برای آزمایش، به آزمایش‌های فراصوت نزدیک مراجعه کنید):
    • پشتیبانی از SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND همان‌طور که در بخش ۷.۸.۳ «مقررات CDD» تعریف شده است.
    • پشتیبانی از یک یا هر دو نرخ نمونه‌برداری ۴۴۱۰۰ یا ۴۸۰۰۰ بدون فیلترهای میان‌گذر یا ضدآلیاژ.
  • جلوه‌ها/پیش‌پردازش به‌طور پیش‌فرض غیرفعال است

نمونه‌هایی از تنظیم جلوه‌های مختلف برای منابع مختلف عبارت‌اند از:

  • نوفه‌زدایی
    • برای سرکوب‌کننده نوفه باد برای CAMCORDER تنظیم شده است
    • برای سرکوب‌کننده نوفه ثابت برای VOICE_COMMUNICATION تنظیم شد
  • کنترل بهره خودکار
    • برای صحبت نزدیک با VOICE_COMMUNICATION و میکروفون تلفن اصلی تنظیم شده است
    • برای صحبت از دور برای CAMCORDER تنظیم شد

منابع

برای اطلاعات بیشتر، به منابع زیر مراجعه کنید: