प्रीप्रोसेसिंग प्रभाव कॉन्फ़िगर करें

Android 10 रिलीज़ में VOICE_COMMUNICATION के साथ कैप्चर के लिए निम्नलिखित आवश्यकताएँ शामिल हैं।

  • VOICE_COMMUNICATION के साथ कैप्चर करते समय कार्यान्वयन को कैप्चर पथ पर एक ध्वनिक इको कैंसिलर (AEC) प्रदान करना चाहिए।
  • यदि AEC प्रदान किया जाता है, तो इसे SDK API के AcousticEchoCanceler के माध्यम से खोजने योग्य और नियंत्रित किया जाना चाहिए।

एंड्रॉइड प्लेटफॉर्म audiofx पैकेज में समर्थित उपकरणों पर ऑडियो प्रभाव प्रदान करता है, जो डेवलपर्स के लिए एक्सेस के लिए उपलब्ध है। उदाहरण के लिए, Nexus 10 निम्नलिखित प्रीप्रोसेसिंग प्रभावों का समर्थन करता है:

ऑडियोसोर्स उदाहरणों के साथ युग्मित करें

प्रीप्रोसेसिंग प्रभावों को उपयोग के मामले के मोड के साथ जोड़ा जाता है जिसमें प्रीप्रोसेसिंग का अनुरोध किया जाता है। एंड्रॉइड ऐप डेवलपमेंट में, उपयोग के मामले को AudioSource इंस्टेंस के रूप में संदर्भित किया जाता है; और ऐप डेवलपर्स वास्तविक ऑडियो हार्डवेयर डिवाइस के बजाय AudioSource एब्स्ट्रैक्शन का उपयोग करने का अनुरोध करते हैं। एंड्रॉइड ऑडियो पॉलिसी मैनेजर उत्पाद-विशिष्ट नियमों के अनुसार किसी 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 में नेक्सस 10 के लिए कार्यान्वयन देखें। AudioEffect उदाहरण बनाए और नष्ट किए जाने पर एक सत्र प्राप्त करते हैं और जारी करते हैं, जिससे प्रभाव (जैसे लाउडनेस एन्हांसर) पूरे सत्र में बने रहते हैं।

निम्नलिखित उदाहरण वीओआईपी 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 ) के अपवाद के साथ ऑडियो लाभ या ऑडियो प्रोसेसिंग पर कोई स्पष्ट आवश्यकता नहीं है। ध्वनि पहचान के लिए आवश्यकताओं में शामिल हैं:

  • फ्लैट आवृत्ति प्रतिक्रिया (+/- 3 डीबी) 100 हर्ट्ज से 4 किलोहर्ट्ज़ तक
  • क्लोज़-टॉक कॉन्फ़िगरेशन: 90 डीबी एसपीएल 2500 का आरएमएस पढ़ता है (16 बिट नमूने)
  • लेवल ट्रैक 90 डीबी एसपीएल के सापेक्ष -18 डीबी से +12 डीबी तक रैखिक रूप से होता है
  • टीएचडी <1% (90 डीबी एसपीएल 100 से 4000 हर्ट्ज रेंज में)
  • निकट-अल्ट्रासाउंड आवश्यकताएँ (परीक्षण के लिए, निकट-अल्ट्रासाउंड परीक्षण देखें):
    • सीडीडी के खंड 7.8.3 में परिभाषित SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND के लिए समर्थन।
    • बिना किसी बैंड-पास या एंटीएलियासिंग फिल्टर के 44100 या 48000 नमूना दरों में से एक या दोनों के लिए समर्थन।
  • प्रभाव/प्रीप्रोसेसिंग डिफ़ॉल्ट रूप से अक्षम है

विभिन्न स्रोतों के लिए अलग-अलग प्रभावों को ट्यून करने के उदाहरण हैं:

  • शोर दबानेवाला यंत्र
    • CAMCORDER के लिए पवन शोर शमनकर्ता के लिए ट्यून किया गया
    • VOICE_COMMUNICATION के लिए स्थिर शोर शमनकर्ता के लिए ट्यून किया गया
  • स्वत: नियंत्रण प्राप्त करें
    • VOICE_COMMUNICATION और मुख्य फ़ोन माइक के लिए नज़दीकी बातचीत के लिए ट्यून किया गया
    • CAMCORDER के लिए दूर की बातचीत के लिए ट्यून किया गया

संसाधन

अधिक जानकारी के लिए, निम्नलिखित संसाधन देखें: