2013-02-07 14 views
5

मैं ऑडियो इंटरैक्शन के लिए रीयल-टाइम इंटरफेस के लिए एक अवधारणा करना चाहता हूं, इसलिए वास्तविक कम विलंबता आवश्यक है। मैंने पिछले हफ्ते इस विषय के बारे में बहुत कुछ पढ़ा है, लेकिन इतने कम समय में वास्तविक अवलोकन प्राप्त करना असंभव है। तो इससे पहले कि मैं वास्तव में गहरी खुदाई करता हूं, मुझे इस परियोजना से व्यवहार्यता का मूल्यांकन करने की आवश्यकता है।एंड्रॉइड पर कम ओएससी/मिडी (कोई ऑडियो) विलंबता संभव नहीं है?

मैंने एंड्रॉइड और कम विलंबता ऑडियो अनुप्रयोगों के साथ समस्याओं के बारे में बहुत कुछ पढ़ा है और मुझे पता है कि आईओएस इस क्षेत्र में बेहतर तरीका है, लेकिन जब संभव हो तो मैं एंड्रॉइड पसंद करूंगा। (मैं एक मैक जो आईओएस के विकास के लिए आवश्यक है नहीं है, और मैं बस अधिक 'खुला' अधिक Andoid की तरह)

तो मेरे सवाल कर रहे हैं:

  1. बुरा कम विलंबता केवल व्यवहार है वास्तविक ऑडियो बफर/प्रसंस्करण से संबंधित है, या यह मिडी या ओएससी केवल अनुप्रयोगों को भी प्रभावित करता है? मेरे लिए इंटरफ़ेस महत्वपूर्ण हिस्सा है - इसका मतलब है कि मेरे लिए मिडी/ओएससी कमांड प्राप्त करना ठीक है जो एक अलग पीसी में संसाधित होते हैं।

  2. मुझे कम समग्र विलंबता (उंगली स्पर्श घटना से कमांड आउटपुट) की आवश्यकता है। आईओएस की तुलना में एंड्रॉइड के साथ यह भी एक समस्या है?

उत्तर

2

लेटेंसी मुख्य रूप से ऑडियो बफर का एक कार्य है।

http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

Tl, डॉ संस्करण: यहाँ नवीनतम विकास की एक व्यापक चर्चा है गैलेक्सी नेक्सस Jelly Bean के रूप में 12ms ऑडियो बफर विलंबता में सक्षम है। मैंने कहीं और पढ़ा है कि नेक्सस 10 और नेक्सस 4 वही कर सकते हैं, लेकिन नेक्सस 7 पीछे है।

https://github.com/libpd/pd-for-android/wiki/Low-latency-support-for-compliant-devices

2

एंड्रॉयड ध्वनि की धीमी विलंबता पर डिवाइस की ध्वनि बफर लंबाई संबंधित है:

और यहाँ एक से थोड़ा अधिक तकनीकी चर्चा है कि यह भी एक पुस्तकालय कम विलंबता प्राप्त करने के लिए खुला है SL का उपयोग करता है करने के लिए आप का नेतृत्व करेंगे है।

मैंने अपने पुराने टैबलेट (एंड्रॉइड 3.2, एसर आईकोनिया टैब ए 500) के साथ बेंचमार्क किया।
एक MIDI ईवेंट (नोट-ऑन) स्थानांतरित करने की विलंब औसत में 12 एमसीसी थी।
मुझे लगता है कि ऑडियो के बिना ऐप्स पर्याप्त बना सकते हैं।

मैंने जावा के साथ बेंचमार्क बनाया। एंड्रॉइड एनडीके का उपयोग बेहतर प्रदर्शन मिलेगा।

+0

धन्यवाद, कि जानकारी के लिए मैं देख रहा हूँ की तरह है! 12 एमएस अच्छा नहीं लगता है, लेकिन यह एक प्रयोग योग्य स्तर के पास है। क्या मैं पूछ सकता हूं कि आपने इस संदर्भ में 12 एमएस का क्या अर्थ बेहतर समझने के लिए इसे और अधिक विस्तृत किया है? माप सेटअप का मोटा विवरण विशेष रूप से दिलचस्प होगा। –

+0

मैंने नीचे दिए गए बेंचमार्क प्रोग्राम को लिखा था। 1. यूएसबी MIDI केबल के साथ मैक से एंड्रॉइड तक एक MIDI पैकेट भेजें। 2. एंड्रॉइड एक मिडी पैकेट प्राप्त करता है। फिर, एंड्रॉइड तुरंत एमआईडीआई को मैक पर भेजता है। 3. मैक MIDI प्राप्त करता है, तो मैक अवधि रिकॉर्ड करता है। औसत में 24 एमएसईसी लिया गया। इस अवधि में दोनों स्थानांतरण दिशा शामिल हैं; भेजना और प्राप्त करना। तो, मैंने 12 एमएसईसी के रूप में एक तरफ दिशा विलंबता का मूल्यांकन किया। – kshoji

संबंधित मुद्दे