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

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

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

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

ऑडियो स्रोतों के साथ जोड़ना

प्रीप्रोसेसिंग प्रभाव उपयोग केस मोड के साथ जोड़े जाते हैं जिसमें प्रीप्रोसेसिंग का अनुरोध किया जाता है। एंड्रॉइड ऐप डेवलपमेंट में, एक उपयोग के मामले को 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 में नेक्सस 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 dB SPL 2500 का RMS पढ़ता है (16 बिट सैंपल)
  • 90 डीबी एसपीएल के सापेक्ष -18 डीबी से +12 डीबी तक रैखिक रूप से स्तर ट्रैक करता है
  • टीएचडी <1% (100 से 4000 हर्ट्ज रेंज में 90 डीबी एसपीएल)
  • निकट-अल्ट्रासाउंड आवश्यकताएं (परीक्षण के लिए, नियर अल्ट्रासाउंड टेस्ट देखें):
    • सीडीडी के खंड 7.8.3 में परिभाषित SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND के लिए समर्थन।
    • 44100 या 48000 नमूना दरों में से एक या दोनों के लिए समर्थन बिना बैंड-पास या एंटीएलियासिंग फिल्टर के।
  • डिफ़ॉल्ट रूप से अक्षम प्रभाव/प्रीप्रोसेसिंग

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

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

साधन

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