IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【BLE MIDI】开发 BLE MIDI 硬件电子乐器设备需要遵循的相关规范 ( 资料收集 ) -> 正文阅读

[移动开发]【BLE MIDI】开发 BLE MIDI 硬件电子乐器设备需要遵循的相关规范 ( 资料收集 )

前言

如何开发一个 标准的 BLE MIDI 设备 , 该设备可以被 Android / iOS / Mac / Windows / Linux 等操作系统平台识别为标准 MIDI 设备 , 并从该设备中接收 MIDI 信号 ;

本博客主要是收集一下网上的相关资料 ;

蓝牙 MIDI 是苹果的专利 , 基本上 iOS , Mac 系统上 , 对 BLE MIDI 支持的很好 , 但是对于 Android , 支持的不是太好 , Android 在 6.0 6.0 6.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 相关文档 ;


参考文档 :





二、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 模块参考资料 :


BT401 模块简介 :

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这几个工具软件用于在几个平台测试 BLE-MIDI 功能 , 验证 硬件设备 是否开发成功 ;

在这里插入图片描述

BLE 测试相关 :

在这里插入图片描述





四、单片机制作电子乐器



参考 我是鹏老师 发表的几篇博客 :

我是鹏老师 B 站相关视频 :

在上述 【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

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:41:26  更:2021-08-24 15:41:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:19:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码