הגדרת אפקטים של עיבוד מקדים

במהדורת Android 10 יש את הדרישות הבאות לצילום באמצעות VOICE_COMMUNICATION.

  • בהטמעות צריך לספק ביטול הד אקוסטי (AEC) בנתיב הצילום כשמצלמים באמצעות VOICE_COMMUNICATION.
  • אם אתם מספקים AEC, הוא חייב להיות גלוי וניתן לשליטה דרך AcousticEchoCanceler של SDK API.

פלטפורמת 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 מקבלות ומפנות סשן כשהן נוצרות ומוחקות, וכך מאפשרות לאפקטים (כמו Loudness Enhancer) להישאר במהלך הסשן.

בדוגמה הבאה מופעל עיבוד מקדים למכונות AudioSource של VoIP ו-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 dB) מ-100 Hz עד 4 kHz
  • הגדרה של שיחה קרוב: 90 dB SPL קוראת RMS של 2500 (דגימות של 16 ביט)
  • רמת המעקב היא לינארית מ-18 dB ל-12 dB ביחס ל-90 dB SPL
  • THD < 1%‏ (90 dB SPL בטווח של 100 עד 4,000 Hz)
  • דרישות לשימוש באולטרסאונד קרוב (לבדיקה, ראו בדיקות של אולטרסאונד קרוב):
    • תמיכה ב-SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND כפי שמוגדר בקטע 7.8.3 ב-CDD.
    • תמיכה באחת משתי תדירות הדגימה 44100 או 48000, ללא מסנני תדרי מעבר או מסנני ביטול רעשי aliasing.
  • אפקטים/עיבוד מקדים מושבתים כברירת מחדל

דוגמאות לכוונון אפקטים שונים למקורות שונים:

  • ביטול רעשים
    • התאמה של ביטול רעשי הרוח עבור CAMCORDER
    • התאמה של סינון הרעשים לתנועה סטטית עבור VOICE_COMMUNICATION
  • בקרת רווח אוטומטית
    • מכווננת לדיבור קרוב ב-VOICE_COMMUNICATION ובמיקרופ הראשי של הטלפון
    • התכונה 'שיחה לטווח רחוק' מופעלת עבור CAMCORDER

משאבים

מידע נוסף זמין במקורות הבאים: