2013-04-16 6 views
6

मैं ब्लूटूथ पर वायरलेस MIDI कनेक्शन वाली एक प्रोजेक्ट शुरू कर रहा हूं। जहां तक ​​मुझे पता है, बीटी विनिर्देश में परिभाषित कोई MIDI प्रोफ़ाइल नहीं है।ब्लूटूथ पर MIDI

मैं सोच रहा था कि आप में से कुछ बीटी पर मिडी का उपयोग करने के सर्वोत्तम तरीके के बारे में अनुभव साझा करने में रुचि रखते हैं, खासकर विलंबता मुद्दे के संबंध में।

मेरी परियोजना बीटी कम ऊर्जा (बीटीएलई) पर आधारित है, अब मैं उपयोग करने के लिए सबसे अच्छी बीटी प्रोफ़ाइल खोजने की कोशिश कर रहा हूं, शायद सीरियल पोर्ट आरएफसीओएमएम मौजूदा प्रोफाइल, या एक नई कस्टम प्रोफाइल?

किसी भी टिप की सराहना की जाएगी। बेस्ट जेरोम

उत्तर

4

आरएफसीओएमएम जैसी प्रोफाइल बीटीएलई से नहीं बल्कि ब्लूटूथ क्लासिक से संबंधित हैं।

संगीत अनुप्रयोगों में आपको विलंबता की परवाह करनी चाहिए। पहली बाइट से समय मिडी कीबोर्ड से भेजा जाता है और जब तक यह गंतव्य पर आता है वास्तव में मायने रखता है। एसपीपी/आरएफसीओएमएम में कोई सटीक बीएयूडी दर नहीं है लेकिन थ्रूपुट जो 2 तरफ निर्भर करता है। http://snapshot.bluecove.org/bluecove-examples/bluecove-tester/speed.html

आप इनपुट मिडी (31250 बॉड), एक "चैनल" के माध्यम से इसे भेजने मिडी (31250 बॉड) तो आप 2 चीजों को देखने की जरूरत है के माध्यम से यह पता भेजते हैं: 1) प्रवाह क्षमता, काफी बड़ा होना चाहिए 'सिंक' और 'स्रोत' मिडी इन और मिडी आउट 2) लेटेंसी, इसे 'संगीत' सटीक बनाने के लिए पर्याप्त तेज़ होना चाहिए।

एक मिडी ऑन इवेंट लगभग 30 सिग्नल बिट्स लेता है ताकि आप प्रति सेकंड 104 मिडी ईवेंट भेज सकें। लेटेंसी 10 मिमी है।

आईओएस पर सबसे तेज़ कनेक्शन अंतराल (कुछ 20 बाइट्स का 1 ब्लॉक) लगभग 1 9एमएस है यदि आप सिफारिशों को तोड़ते हैं या 39ms यदि आप उनका अनुसरण करते हैं। कुल विलंबता तब होगी: मिडी इन (10 एमएमएस) + बीटीएलई गैट (3 9 एमएमएस तक) + मिडी आउट (10 एमएमएस) = 60 एमएमएस। सामान्य MIDI केबल से 6 गुना धीमी है। न्यूनतम बीटीएलई कनेक्शन अंतराल 7.5 मिमी है लेकिन आप निम्नतम स्तर पर पैकेट खो देंगे तो चलो बस 10ms: मिडी इन (10ms) + बीटीएलई (10ms) + मिडी आउट (10ms) = 30ms। बहुत बुरा नहीं है लेकिन वास्तव में भी प्रभावशाली नहीं है। प्रत्येक कनेक्शन अंतराल में आप लगभग 20 बाइट्स पैक कर सकते हैं, इसलिए बैंडविड्थ या थ्रूपुट के बहुत सारे होना चाहिए।

इस BTLE RFCOMM परियोजना पर एक नज़र डालें: अपने आप ही http://support.connectblue.com/display/PRODBTSPA/Bluetooth+Low+Energy+Serial+Port+Adapter+-+Getting+Started

+0

मिडी विलंबता अधिक आम तौर पर चारों ओर है 4-5ms। अधिकांश संदेश (नोट चालू/बंद) 2 बाइट हैं। यदि नोट्स भेजे जाने हैं तो नियंत्रक संदेशों को आमतौर पर भेजने वाले डिवाइस द्वारा देरी होती है। – Brad

+0

@ ब्रैड: अधिकांश संदेश (नोट चालू/बंद, नियंत्रण बदलें, पिच बेंड, ...) ** 3 बाइट ** हैं। – Florian

+1

हेनरिक और ब्रैड: मानक एमआईडीआई केबल पर एक 3-बाइट संदेश भेजना 960us लेता है (प्रति सेकंड @ हैल के 1041 पूर्ण नोट संदेश से मेल खाता है), 4-5ms नहीं। बेशक, रिसीवर प्रसंस्करण के लिए देरी जोड़ सकता है। – Florian

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