ضبط تأثيرات المعالجة المُسبَقة

يتضمّن إصدار Android 10 المتطلبات التالية المتعلقة بالتسجيل باستخدام VOICE_COMMUNICATION.

  • يجب أن توفّر عمليات التنفيذ أداة إلغاء الصدى الصوتي (AEC) في مسار الالتقاط عند الالتقاط باستخدام VOICE_COMMUNICATION.
  • في حال توفير AEC، يجب أن يكون قابلاً للاكتشاف والتحكّم من خلال واجهة برمجة التطبيقات الخاصة بحزمة SDK 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 جلسة وتُصدرها عند إنشائها وإتلافها، ما يتيح استمرار التأثيرات (مثل "مُحسِّن مستوى الصوت") طوال الجلسة.

لتنفيذ طبقة تجريد الأجهزة (HAL) الخاصة بالصوت.

يُفعّل المثال التالي المعالجة المسبقة لكل من مثيلَي 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)، والتي تتضمّن المتطلبات التالية:

  • استجابة تردد ثابتة (+/- 3 ديسيبل) من 100 هرتز إلى 4 كيلوهرتز
  • إعدادات التحدث عن قرب: مستوى ضغط صوتي يبلغ 90 ديسيبل يقرأ متوسط الجذر التربيعي (RMS) بقيمة 2500 (عينات 16 بت)
  • تتغيّر مستويات الصوت خطيًا من ‎-18 ديسيبل إلى ‎+12 ديسيبل مقارنةً بمستوى ضغط الصوت البالغ 90 ديسيبل.
  • معدّل التشويش التوافقي الكلي أقل من %1 (مستوى ضغط الصوت 90 ديسيبل في نطاق 100 إلى 4000 هرتز)
  • متطلبات الموجات فوق الصوتية القريبة (للاختبار، يُرجى الاطّلاع على اختبارات الموجات فوق الصوتية القريبة):
    • إتاحة استخدام SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND على النحو المحدّد في الفقرة 7.8.3 من مستند تعريفات البيانات المشتركة (CDD)
    • أن تتوافق مع معدّلَي أخذ العيّنات 44100 أو 48000 أو كليهما بدون أي فلاتر تمرير النطاق أو فلاتر منع التمويه
  • إيقاف التأثيرات/المعالجة المُسبقة تلقائيًا

في ما يلي أمثلة على ضبط تأثيرات مختلفة لمصادر مختلفة:

  • أداة كتم الضوضاء
    • تم تحسينها لتناسب أداة حجب ضوضاء الرياح في CAMCORDER
    • تم تحسين أداء ميزة "إلغاء الضوضاء الثابتة" للغة VOICE_COMMUNICATION
  • التحكّم التلقائي في مستوى الصوت
    • تم ضبطه على الاستماع إلى الكلام القريب من الجهاز لمدة VOICE_COMMUNICATION وباستخدام ميكروفون الهاتف الرئيسي
    • تم تحسين الأداء عند التحدث من مسافة بعيدة في CAMCORDER

المراجع

لمزيد من المعلومات، يُرجى الاطّلاع على المراجع التالية: