【BLE MIDI】开发 BLE MIDI 硬件电子乐器设备需要遵循的相关规范 ( 资料收集 )
文章目錄
- 前言
- 一、Android 相關的 BLE MIDI 資料
- 二、iOS 相關的 BLE MIDI 資料
- 三、支持 BLE-MIDI 模塊 BT401
- 四、單片機制作電子樂器
- 五、博客資料
前言
如何開發一個 標準的 BLE MIDI 設備 , 該設備可以被 Android / iOS / Mac / Windows / Linux 等操作系統平臺識別為標準 MIDI 設備 , 并從該設備中接收 MIDI 信號 ;
本博客主要是收集一下網上的相關資料 ;
藍牙 MIDI 是蘋果的專利 , 基本上 iOS , Mac 系統上 , 對 BLE MIDI 支持的很好 , 但是對于 Android , 支持的不是太好 , Android 在 6.06.06.0 以后的系統中逐漸加入了對 MIDI 的支持 ;
市面上的 BLE MIDI 對 iOS 兼容的很好 , 但是對 Android 兼容的不太完善 ;
標準的 BLE-MIDI 硬件設備開發成的樂器 , 要兼容以下平臺的如下軟件 :
-
Windows : Cubase
-
Mac : Logic Pro
-
iOS : 庫樂隊 ( Garage Band ) , 泡泡鋼琴 , 彈琴吧 , 完美鋼琴 , 木色都鋼琴 , MIDI Wrench , PA Player , 海倫智能陪練 , 海倫智能鋼琴 , Piano Diary , 鋼琴之旅 , 羅蘭鋼琴伴侶 , Music School , find piano , SimplyPiano , Dust Buster 2 , PianoMaestro , flowkey 等軟件 ;
-
Android : 泡泡鋼琴 , 完美鋼琴
一、Android 相關的 BLE MIDI 資料
主要參考 Android 相關的開發文檔 和 AOSP 相關文檔 ;
參考文檔 :
- MIDI 概覽 : https://source.android.google.cn/devices/audio/midi#ble
- MIDI 架構 : https://source.android.google.cn/devices/audio/midi_arch
- MIDI 測試程序 : https://source.android.google.cn/devices/audio/midi_test
- 原生 MIDI API : https://developer.android.google.cn/ndk/guides/audio/midi?hl=zh_cn
- AMidi.h 中的 Midi 類 API : https://developer.android.google.cn/ndk/reference/group/midi?hl=en
- MidiDevice API : https://developer.android.google.cn/reference/android/media/midi/MidiDevice?hl=en
- MIDI 文檔 : https://developer.android.google.cn/reference/android/media/midi/package-summary.html
二、iOS 相關的 BLE MIDI 資料
在網上找到一個 蘋果的藍牙低功耗 MIDI 規范 , " Apple Bluetooth Low Energy MIDI Specification.pdf " , 該文檔 , 以及翻譯版本放在了博客的附件中 ;
最主要的設置 , 就是 服務 , 特性 , 以及特性的各種屬性 , 讀 , 寫 , 通知 ;
BLE 服務設置為 : 03B80E5A-EDE8-4B33-A751-6CE34EC4C700
BLE 特性設置為 : 7772E5DB-3868-4112-A1A9-F2669D106BF3
該特性的屬性設置為 : Read, Write, Notify
自行下載本博客資源 , 查看該規范 ;
三、支持 BLE-MIDI 模塊 BT401
在網上搜索到一個支持 BLE-MIDI 的 藍牙模塊 BT401 , 該模塊有一定的參考價值 , 或者合適的話 , 直接使用該模塊開發 BLE MIDI 硬件產品 ;
該模塊是由 深圳市清月電子有限公司 開發 ;
BT401 模塊參考資料 :
- 電鋼琴電子琴如何增加藍牙MIDI模塊BLE連接手機雙模支持U盤播放
- 淘寶鏈接
- 產品主頁
- https://blog.csdn.net/qyvhome
BT401 模塊簡介 :
這幾個工具軟件用于在幾個平臺測試 BLE-MIDI 功能 , 驗證 硬件設備 是否開發成功 ;
BLE 測試相關 :
四、單片機制作電子樂器
參考 我是鵬老師 發表的幾篇博客 :
- 【PCB授課筆記】51單片機制作一個【卡林巴】【電子琴】
- 【MIDI_Boy】使用ESP32做一個炫酷的【卡林巴】【電子琴】, 可通過藍牙MIDI連接手機庫樂隊
- 真·電子二胡 (ESP32配合庫樂隊APP實現的電子制作)
我是鵬老師 B 站相關視頻 :
- 自制【電子】二胡,演奏二泉映月,附制作過程
- 電子二胡制作焊接過程
- 自制卡林巴電子琴,可通過藍牙連接手機庫樂隊 MIDI Boy【理科生的第一件樂器】
在上述 【MIDI_Boy】使用ESP32做一個炫酷的【卡林巴】【電子琴】, 可通過藍牙MIDI連接手機庫樂隊 博客中涉及到一些 硬件設備 的藍牙相關的設置內容 :
def register(self): # 注冊MIDI藍牙服務MIDI_SERVER_UUID = ubluetooth.UUID('03B80E5A-EDE8-4B33-A751-6CE34EC4C700')MIDI_CHAR_UUID = (ubluetooth.UUID('7772E5DB-3868-4112-A1A9-F2669D106BF3'),ubluetooth.FLAG_READ | ubluetooth.FLAG_WRITE | ubluetooth.FLAG_NOTIFY , )BLE_MIDI_SERVER = (MIDI_SERVER_UUID, (MIDI_CHAR_UUID , ) , )SERVICES = (BLE_MIDI_SERVER, )((self.midi,), ) = self.ble.gatts_register_services(SERVICES)def advertiser(self): # 設置廣播及掃描響應數據name = bytes(self.name, 'UTF-8')self.ble.gap_advertise(100, adv_data = b'\x02\x01\x05' + bytearray((len(name) + 1, 0x09)) + name ,resp_data = b'\x11\x07\x00\xC7\xC4\x4E\xE3\x6C\x51\xA7\x33\x4B\xE8\xEd\x5A\x0E\xB8\x03') ———————————————— 版權聲明:本文為CSDN博主「我是鵬老師」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/weixin_48033504/article/details/116307876五、博客資料
本博客中涉及到的資料都上傳到 CSDN 下載中 ;
CSDN 下載地址 : https://download.csdn.net/download/han1202012/21462914
總結
以上是生活随笔為你收集整理的【BLE MIDI】开发 BLE MIDI 硬件电子乐器设备需要遵循的相关规范 ( 资料收集 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Google Play】正式版上架流程
- 下一篇: 【设计模式】软件设计七大原则 ( 开闭原