Android 10 की रिलीज़ में, VOICE_COMMUNICATION
से कैप्चर करने के लिए,
ये ज़रूरी शर्तें शामिल हैं.
VOICE_COMMUNICATION
का इस्तेमाल करके रिकॉर्ड करते समय, कैप्चर पाथ पर ऑडियो इको रद्द करने वाला सिस्टम (एईसी) उपलब्ध कराना चाहिए.- अगर एईसी उपलब्ध कराया जा रहा है, तो यह ज़रूरी है कि इसे SDK API के
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
फ़ाइल बनाएं और प्रीप्रोसेसिंग इफ़ेक्ट को चालू करें. उदाहरण के लिए, device/samsung/manta/audio_effects.xml
में Nexus 10 के लिए लागू करने का तरीका देखें.
AudioEffect
इंस्टेंस, सेशन को बनाने और बंद करने पर उसे हासिल और रिलीज़ करते हैं.
इससे वह असर (जैसे कि लाउडनेस एन्हैंसर) पूरे सेशन में बना रहता है.
यहां दिए गए उदाहरण में, VoIP
AudioSource
और कैमकॉर्डर AudioSource
इंस्टेंस के लिए, प्रीप्रोसेसिंग की सुविधा चालू की गई है. AudioSource
कॉन्फ़िगरेशन को इस तरह से एलान करने पर, फ़्रेमवर्क अपने-आप एचएएल से उन इफ़ेक्ट का इस्तेमाल करने का अनुरोध करता है.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
सोर्स ट्यूनिंग
AudioSource
ट्यूनिंग के लिए, ऑडियो हासिल करने या ऑडियो प्रोसेस करने से जुड़ी ज़रूरी शर्तें नहीं होतीं. हालांकि, आवाज़ पहचानने की सुविधा (VOICE_RECOGNITION
) के लिए ये ज़रूरी शर्तें होती हैं:
- 100 हर्ट्ज़ से 4 किलोहर्ट्ज़ तक फ़्लैट फ़्रीक्वेंसी रिस्पॉन्स (+/- 3 dB)
- क्लोज़-टॉक कॉन्फ़िगरेशन: 90 dB SPL, 2500 (16 बिट सैंपल) का आरएमएस पढ़ता है
- लेवल, 90 dB SPL के हिसाब से -18 dB से +12 dB तक रैखिक रूप से ट्रैक करता है
- टीएचडी < 1% (100 से 4000 हर्ट्ज़ की रेंज में 90 dB एसपीएल)
- नियर-अल्ट्रासाउंड से जुड़ी ज़रूरी शर्तें (जांच के लिए, अल्ट्रासाउंड की नज़दीकी जांच देखें):
- सीडीडी के सेक्शन 7.8.3 में बताए गए
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
के लिए सहायता. - 44100 या 48000 सैंपलिंग रेट में से किसी एक या दोनों के साथ काम करता है. इसमें कोई बैंड-पास या ऐंटी-ऐलिऐसिंग फ़िल्टर नहीं होता.
- सीडीडी के सेक्शन 7.8.3 में बताए गए
- इफ़ेक्ट/प्रीप्रोसेसिंग की सुविधा डिफ़ॉल्ट रूप से बंद होती है
अलग-अलग सोर्स के लिए अलग-अलग इफ़ेक्ट को ट्यून करने के उदाहरण:
- शोर कम करने की सुविधा
CAMCORDER
के लिए, हवा के शोर को कम करने की सुविधा के हिसाब से ट्यून किया गयाVOICE_COMMUNICATION
के लिए, स्टेशनरी नॉइज़ सप्रेशन के लिए ट्यून किया गया
- ऑटोमैटिक गेन कंट्रोल
VOICE_COMMUNICATION
और फ़ोन के मुख्य माइक के लिए, क्लोज़-टॉक मोड में ट्यून किया गयाCAMCORDER
के लिए, फ़ार-टॉक मोड के हिसाब से ट्यून किया गया
संसाधन
ज़्यादा जानकारी के लिए, यहां दिए गए लेख पढ़ें:
- audiofx पैकेज के लिए Android दस्तावेज़
- शोर को रोकने वाला ऑडियो इफ़ेक्ट के लिए Android दस्तावेज़
- Pixel 3 के लिए
/device/google/crosshatch/audio_effects.xml
फ़ाइल