Android 10 रिलीज़ में, VOICE_COMMUNICATION
की मदद से कैप्चर करने के लिए ये ज़रूरी शर्तें शामिल हैं.
VOICE_COMMUNICATION
का इस्तेमाल करके रिकॉर्ड करते समय, कैप्चर पाथ पर ऑडियो इको रद्द करने वाला सिस्टम (एईसी) उपलब्ध कराना चाहिए.- अगर एईसी (एलिमिनेशन ऑफ़ एको) दिया जा रहा है, तो 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
/vendor/etc/audio_effects.xml
फ़ाइल में, हर AudioSource
इंस्टेंस के लिए, डिफ़ॉल्ट रूप से लागू होने वाले प्रीप्रोसेसिंग इफ़ेक्ट की जानकारी दी गई है. हर AudioSource
इंस्टेंस के लिए, अपने डिफ़ॉल्ट इफ़ेक्ट तय करने के लिए, एक /vendor/etc/audio_effects.xml
फ़ाइल बनाएं और पहले से प्रोसेस करने वाले इफ़ेक्ट चालू करें. उदाहरण के लिए, device/samsung/manta/audio_effects.xml
में Nexus 10 के लिए लागू करने का तरीका देखें.
AudioEffect
इंस्टेंस बनाने और उन्हें बंद करने पर, एक सेशन शुरू और बंद होता है. इससे, पूरे सेशन के दौरान आवाज़ को तेज़ करने जैसे इफ़ेक्ट काम करते रहते हैं.
यहां दिए गए उदाहरण में, VoIPAudioSource
और कैमकॉर्डर 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 package के लिए Android दस्तावेज़
- शोर कम करने वाले ऑडियो इफ़ेक्ट के लिए, Android से जुड़ा दस्तावेज़
- Pixel 3 के लिए
/device/google/crosshatch/audio_effects.xml
फ़ाइल