डेटा को प्रोसेस करने से पहले लागू होने वाले इफ़ेक्ट कॉन्फ़िगर करना

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 सैंपलिंग रेट में से किसी एक या दोनों के साथ काम करता है. इसमें कोई बैंड-पास या ऐंटी-ऐलिऐसिंग फ़िल्टर नहीं होता.
  • इफ़ेक्ट/प्रीप्रोसेसिंग की सुविधा डिफ़ॉल्ट रूप से बंद होती है

अलग-अलग सोर्स के लिए अलग-अलग इफ़ेक्ट को ट्यून करने के उदाहरण:

  • शोर कम करने की सुविधा
    • CAMCORDER के लिए, हवा के शोर को कम करने की सुविधा के हिसाब से ट्यून किया गया
    • VOICE_COMMUNICATION के लिए, स्टेशनरी नॉइज़ सप्रेशन के लिए ट्यून किया गया
  • ऑटोमैटिक गेन कंट्रोल
    • VOICE_COMMUNICATION और फ़ोन के मुख्य माइक के लिए, क्लोज़-टॉक मोड में ट्यून किया गया
    • CAMCORDER के लिए, फ़ार-टॉक मोड के हिसाब से ट्यून किया गया

संसाधन

ज़्यादा जानकारी के लिए, यहां दिए गए लेख पढ़ें: