הגרסה של Android 10 כוללת את הדרישות הבאות לצילום באמצעות VOICE_COMMUNICATION
.
- ההטמעות צריכות לספק ביטול הד אקוסטי (AEC) בנתיב הלכידה כשמבצעים לכידה באמצעות
VOICE_COMMUNICATION
. - אם מספקים AEC, צריך להיות אפשר לגלות אותו ולשלוט בו באמצעות ה-API של ה-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
מקבלים ומשחררים סשן כשהם נוצרים ונהרסים, וכך האפקטים (כמו Loudness Enhancer) נשמרים לאורך הסשן.
בדוגמה הבאה מפעילים עיבוד מקדים עבור מופעי VoIP 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 dB) מ-100 הרץ עד 4 קילו-הרץ
- הגדרת דיבור קרוב: קריאת RMS של 90 dB SPL היא 2,500 (דגימות של 16 ביט)
- ההגברה של הטראקים משתנה באופן לינארי מ-18- dB עד 12+ dB ביחס ל-90 dB SPL
- THD < 1% (90 dB SPL in 100 to 4000 Hz range)
- דרישות לגבי אולטרסאונד בתדרים נמוכים (לצורך בדיקה, אפשר לעיין במאמר בנושא בדיקות של אולטרסאונד בתדרים נמוכים):
- תמיכה ב-
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
כפי שמוגדר בסעיף 7.8.3 של CDD. - תמיכה בתדירות דגימה של 44,100 או 48,000, או בשתיהן, ללא מסנני פס או מסננים למניעת aliasing.
- תמיכה ב-
- האפקטים או העיבוד המקדים מושבתים כברירת מחדל
דוגמאות לכוונון של אפקטים שונים למקורות שונים:
- מסנן רעשים
- התאמה לסינון רעשי רוח ב-
CAMCORDER
- התאמה לסינון רעשים קבוע ב
VOICE_COMMUNICATION
- התאמה לסינון רעשי רוח ב-
- שליטה אוטומטית בעוצמת הקול
- המיקרופון של
VOICE_COMMUNICATION
והמיקרופון הראשי של הטלפון מותאמים לדיבור קרוב - התאמה לשיחות עם אנשים רחוקים ב-
CAMCORDER
- המיקרופון של
משאבים
מידע נוסף זמין במקורות המידע הבאים:
- מסמכי תיעוד של Android בנושא חבילת audiofx
- מסמכי תיעוד של Android בנושא אפקט האודיו של סינון רעשים
- קובץ
/device/google/crosshatch/audio_effects.xml
ל-Pixel 3