प्रीप्रोसेसिंग के इफ़ेक्ट कॉन्फ़िगर करें

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

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

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

संसाधन

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