نسخه اندروید ۱۰ شامل الزامات زیر برای ضبط با VOICE_COMMUNICATION است.
- پیادهسازیها باید هنگام ضبط با
VOICE_COMMUNICATIONیک حذفکننده اکوی صوتی (AEC) در مسیر ضبط فراهم کنند. - در صورت ارائه AEC، باید از طریق
AcousticEchoCancelerمربوط به API SDK قابل کشف و کنترل باشد.
پلتفرم اندروید جلوههای صوتی را در دستگاههای پشتیبانیشده در بستهی audiofx ارائه میدهد که برای دسترسی توسعهدهندگان در دسترس است. به عنوان مثال، Nexus 10 از جلوههای پیشپردازش زیر پشتیبانی میکند:
با نمونههای AudioSource جفت شوید
جلوههای پیشپردازش با حالت مورد استفادهای که در آن پیشپردازش درخواست میشود، جفت میشوند. در توسعه برنامه اندروید، به یک مورد استفاده، نمونه AudioSource گفته میشود؛ و توسعهدهندگان برنامه درخواست میکنند که از انتزاع AudioSource به جای دستگاه سختافزار صوتی واقعی استفاده کنند. مدیر سیاست صوتی اندروید، یک نمونه 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 هنگام ایجاد و از بین رفتن، یک جلسه (session) را دریافت و منتشر میکنند و این امکان را فراهم میکنند که جلوهها (مانند Loudness Enhancer) در طول جلسه باقی بمانند.
مثال زیر پیشپردازش را برای نمونههای 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 کیلوهرتز
- پیکربندی نزدیک به صحبت: ۹۰ دسیبل SPL با RMS معادل ۲۵۰۰ (نمونه ۱۶ بیتی)
- سطح به صورت خطی از -18 دسیبل تا +12 دسیبل نسبت به 90 دسیبل SPL ردیابی میشود
- THD < 1% (90 دسیبل SPL در محدوده 100 تا 4000 هرتز)
- الزامات نزدیک به سونوگرافی (برای آزمایش، به آزمایشهای نزدیک به سونوگرافی مراجعه کنید):
- پشتیبانی از
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUNDهمانطور که در بخش 7.8.3 از CDD تعریف شده است. - پشتیبانی از یک یا هر دو نرخ نمونهبرداری ۴۴۱۰۰ یا ۴۸۰۰۰ بدون فیلترهای میانگذر یا آنتیالایزینگ.
- پشتیبانی از
- افکتها/پیشپردازش بهطور پیشفرض غیرفعال است
نمونههایی از تنظیم جلوههای مختلف برای منابع مختلف عبارتند از:
- سرکوبگر نویز
- تنظیم شده برای حذف نویز باد برای
CAMCORDER - برای
VOICE_COMMUNICATIONبه عنوان یک سرکوبگر نویز ثابت تنظیم شده است
- تنظیم شده برای حذف نویز باد برای
- کنترل خودکار بهره
- برای مکالمه نزدیک با
VOICE_COMMUNICATIONو میکروفون اصلی گوشی تنظیم شده است - برای گفتگوی دوردست برای
CAMCORDERتنظیم شده است
- برای مکالمه نزدیک با
منابع
برای اطلاعات بیشتر، به منابع زیر مراجعه کنید:
- مستندات اندروید برای پکیج audiofx
- مستندات اندروید برای افکت صوتی حذف نویز
- فایل
/device/google/crosshatch/audio_effects.xml برای پیکسل ۳