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

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

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

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

جفت شدن با نمونه های AudioSource

جلوه های پیش پردازش با حالت کاربرد موردی که در آن پیش پردازش درخواست می شود جفت می شود. در توسعه برنامه اندروید، یک مورد استفاده به عنوان نمونه 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 و Camcorder 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 ) الزامات صریحی برای افزایش صدا یا پردازش صدا ندارد. الزامات برای تشخیص صدا عبارتند از:

  • پاسخ فرکانس تخت (+/- 3 دسی بل) از 100 هرتز تا 4 کیلوهرتز
  • تنظیمات کلوز تاک: 90 دسی بل SPL RMS 2500 را می خواند (نمونه های 16 بیتی)
  • تراز به صورت خطی از -18 دسی بل تا +12 دسی بل نسبت به 90 دسی بل SPL
  • THD < 1٪ (90 دسی بل SPL در محدوده 100 تا 4000 هرتز)
  • الزامات نزدیک به اولتراسوند (برای آزمایش، به تست های سونوگرافی نزدیک مراجعه کنید):
    • پشتیبانی از SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND همانطور که در بخش 7.8.3 CDD تعریف شده است.
    • پشتیبانی از یک یا هر دو نرخ نمونه برداری 44100 یا 48000 بدون فیلترهای باند گذر یا ضد آلیاسینگ.
  • جلوه ها/پیش پردازش به طور پیش فرض غیرفعال است

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

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

منابع

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

،

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

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

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

جفت شدن با نمونه های AudioSource

جلوه های پیش پردازش با حالت کاربرد موردی که در آن پیش پردازش درخواست می شود جفت می شود. در توسعه برنامه اندروید، یک مورد استفاده به عنوان نمونه 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 و Camcorder 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 ) الزامات صریحی برای افزایش صدا یا پردازش صدا ندارد. الزامات برای تشخیص صدا عبارتند از:

  • پاسخ فرکانس تخت (+/- 3 دسی بل) از 100 هرتز تا 4 کیلوهرتز
  • تنظیمات کلوز تاک: 90 دسی بل SPL RMS 2500 را می خواند (نمونه های 16 بیتی)
  • تراز به صورت خطی از -18 دسی بل تا +12 دسی بل نسبت به 90 دسی بل SPL
  • THD < 1٪ (90 دسی بل SPL در محدوده 100 تا 4000 هرتز)
  • الزامات نزدیک به اولتراسوند (برای آزمایش، به تست های سونوگرافی نزدیک مراجعه کنید):
    • پشتیبانی از SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND همانطور که در بخش 7.8.3 CDD تعریف شده است.
    • پشتیبانی از یک یا هر دو نرخ نمونه برداری 44100 یا 48000 بدون فیلترهای باند گذر یا ضد آلیاسینگ.
  • جلوه ها/پیش پردازش به طور پیش فرض غیرفعال است

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

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

منابع

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