גרסת 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) נשארים לאורך כל הסשן.
הדוגמה הבאה מפעילה עיבוד מראש למכונות VoIP AudioSource
ו-Camcorder AudioSource
. במסגרת הצהרה על ההגדרה AudioSource
באופן הזה, ה-framework מבקש באופן אוטומטי מ-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
- מכוון לדיבור קרוב עבור
משאבים
מידע נוסף זמין במקורות הבאים:
- מסמכי תיעוד של Android עבור חבילת Audiofx
- מסמכי תיעוד של Android בנושא אפקט אודיו של ביטול רעשים
- קובץ
/device/google/crosshatch/audio_effects.xml
ל-Pixel 3