نسخه 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
- برای گفتگوی نزدیک برای
منابع
برای اطلاعات بیشتر به منابع زیر مراجعه کنید:
- مستندات اندروید برای بسته audiofx
- مستندات اندروید برای جلوه صوتی Noise Suppression
- فایل
/device/google/crosshatch/audio_effects.xml
برای Pixel 3
نسخه 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
- برای گفتگوی نزدیک برای
منابع
برای اطلاعات بیشتر به منابع زیر مراجعه کنید:
- مستندات اندروید برای بسته audiofx
- مستندات اندروید برای جلوه صوتی Noise Suppression
- فایل
/device/google/crosshatch/audio_effects.xml
برای Pixel 3