Android 10 के लिए, VOICE_COMMUNICATION
की मदद से कैप्चर करने से जुड़ी ये ज़रूरी शर्तें हैं.
VOICE_COMMUNICATION
का इस्तेमाल करके ऑडियो कैप्चर करते समय, कैप्चर पाथ पर ध्वनिक गूंज रद्द करने वाला (एईसी) सिस्टम लागू किया जाना चाहिए.- अगर एईसी की सुविधा दी जा रही है, तो यह SDK API के
AcousticEchoCanceler
के ज़रिए खोजा और कंट्रोल किया जा सकता है.
Android प्लैटफ़ॉर्म,
audiofx
पैकेज में, ऑडियो इफ़ेक्ट की सुविधा देता है. यह सुविधा, डेवलपर के लिए उपलब्ध है.
उदाहरण के लिए, Nexus 10 में प्रीप्रोसेसिंग के ये इफ़ेक्ट काम करते हैं:
AudioSource इंस्टेंस के साथ जोड़ना
प्रीप्रोसेसिंग इफ़ेक्ट को, इस्तेमाल के उस उदाहरण के मोड के साथ जोड़ा जाता है जिसमें प्रीप्रोसेसिंग का अनुरोध किया गया है. Android ऐप्लिकेशन डेवलपमेंट में, इस्तेमाल के उदाहरण को AudioSource
इंस्टेंस कहा जाता है. साथ ही, ऐप्लिकेशन डेवलपर, ऑडियो हार्डवेयर डिवाइस के बजाय AudioSource
ऐब्स्ट्रैक्शन का इस्तेमाल करने का अनुरोध करते हैं. Android Audio Policy Manager, प्रॉडक्ट के हिसाब से तय किए गए नियमों के आधार पर, 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
और Camcorder 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
) के लिए कुछ शर्तें हैं. जैसे:
- 100 हर्ट्ज़ से 4 किलोहर्ट्ज़ तक, फ़्लैट फ़्रीक्वेंसी रिस्पॉन्स (+/- 3 dB)
- माइक के पास बोलने पर कॉन्फ़िगरेशन: 90 डीबी एसपीएल, 2500 का आरएमएस (16 बिट के सैंपल) दिखाता है
- लेवल, 90 dB एसपीएल के हिसाब से -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 के लिए दस्तावेज़, जिसमें आवाज़ कम करने वाले ऑडियो इफ़ेक्ट के बारे में बताया गया है
/device/google/crosshatch/audio_effects.xml
फ़ाइल