CN117170220A - 一种基于虚拟midi端口实现ble midi控制器指令控制的方法及系统 - Google Patents
一种基于虚拟midi端口实现ble midi控制器指令控制的方法及系统 Download PDFInfo
- Publication number
- CN117170220A CN117170220A CN202311170445.XA CN202311170445A CN117170220A CN 117170220 A CN117170220 A CN 117170220A CN 202311170445 A CN202311170445 A CN 202311170445A CN 117170220 A CN117170220 A CN 117170220A
- Authority
- CN
- China
- Prior art keywords
- midi
- ble
- controller
- virtual
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004088 simulation Methods 0.000 claims abstract description 13
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000011897 real-time detection Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
本发明公开了一种基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法及系统,包括以下步骤:通过在操作系统上进行端口模拟,创建若干虚拟MIDI端口;当检测到有控制器连接到操作系统时,为连接的控制器自动分配虚拟MIDI端口,并对连接状态进行实时检测;BLE MIDI控制器将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中,得到对应的功能系统码,并将功能系统码发送到解码器;通过解码器实时地将接收到的功能系统码转换为正常MIDI指令后,立即通过对应的虚拟MIDI端口发送操作系统,完成控制器的指令控制。本发明达到有效解决数据冲突以及扩大BLE MIDI控制器的作用范围的目的。
Description
技术领域
本发明涉及BLE MIDI控制器技术领域,具体涉及一种基于虚拟MIDI端口实现BLEMIDI控制器指令控制的方法及系统。
背景技术
自20世纪80年代以来,MIDI已成为一种通用标准,并且被所有主流的乐器和设备制造商采用。因此,MIDI对于音乐产业的重要性可谓举足轻重。MIDI控制器是一种物理的、用手操作的界面,它通过MIDI指令来演奏和控制硬件和软件。MIDI控制器通过发送和接收MIDI指令与其他乐器和软件进行互联。MIDI指令是一组通过触发其他资源并使其发出声音或执行操作的指令。
在数字音乐制作和现场表演领域,MIDI控制器已被广泛采用。传统的有线MIDI控制器因其大部分采用有线连接模式,可以在操作系统中枚举出多端口分别发出MIDI指令,从而避免数据冲突,使得音乐制作更为流畅。有线MIDI控制器与操作系统之间的交互,如图1所示。而近年来,BLE MIDI技术的出现,为艺术家和音乐制作者提供了无线的自由度,BLEMIDI控制器与操作系统之间的交互,如图2所示。但相对的,也带来了端口限制的问题,具体如下:
(1)在无线模式下,BLE MIDI控制器无法枚举多个端口,MIDI指令容易发生冲突,从而导致在音乐制作和现场表演领域产生不理想的效果;
(2)在无线模式下,BLE MIDI控制器不能同时进行演奏和控制,这将大大限制BLEMIDI控制器的作用范围。
发明内容
为了克服现有技术的不足,本发明提供一种基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法及系统,用于解决BLE MIDI控制器在无线模式下,MIDI指令容易发生冲突以及不能同时进行演奏和控制的技术问题,从而达到有效解决数据冲突以及扩大BLEMIDI控制器的作用范围的目的。
为解决上述问题,本发明所采用的技术方案如下:
一种基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,包括以下步骤:
通过在操作系统上进行端口模拟,从而创建若干虚拟MIDI端口;
当检测到有BLE MIDI控制器连接到所述操作系统时,为连接的BLE MIDI控制器自动分配所述虚拟MIDI端口,并对所述BLE MIDI控制器的连接状态进行实时检测;
所述BLE MIDI控制器将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中,得到对应的功能系统码,并将所述功能系统码发送到解码器;
通过所述解码器实时地将接收到的所述功能系统码转换为所述正常MIDI指令后,立即通过对应的虚拟MIDI端口发送给所述操作系统,完成所述BLE MIDI控制器的指令控制。
作为本发明优选的实施方式,在操作系统上进行端口模拟时,包括:
将不同的BLE MIDI控制器分别与所述操作系统进行连接,通过所述操作系统获取所述不同的BLE MIDI控制器的mac地址。
作为本发明优选的实施方式,在创建若干虚拟MIDI端口时,包括:
基于所述操作系统已有的虚拟MIDI端口驱动,并根据所述mac地址,创建对应的虚拟MIDI端口;
或者,根据所述mac地址,通过API在所述操作系统上创建对应的虚拟MIDI端口;
在创建对应的虚拟MIDI端口后,包括:
建立各个虚拟MIDI端口与各自对应的MIDI指令、所述mac地址之间的mac地址列表。
作为本发明优选的实施方式,在为连接的BLE MIDI控制器自动分配所述虚拟MIDI端口时,包括:
根据连接的BLE MIDI控制器的mac地址,自动为所述BLE MIDI控制器分配一个或多个虚拟MIDI端口;
其中,在根据mac地址进行自动分配时,包括:
获取所述BLE MIDI控制器的mac地址,并判断所述mac地址是否包含于所述mac地址列表中;
若是,则从所述mac地址列表中获取所述mac地址对应的虚拟MIDI端口,并进行分配;
若否,则提示用户对连接的BLE MIDI控制器进行端口模拟,并创建对应的虚拟MIDI端口和更新所述mac地址列表。
作为本发明优选的实施方式,在对所述BLE MIDI控制器的连接状态进行实时检测时,包括:
获取当前时刻的邻域时段内连接的BLE MIDI控制器的多个心跳包数据,每个所述心跳包数据中均包含BLE MIDI控制器时间信息以及BLE MIDI控制器运转状态信息;
根据所述BLE MIDI控制器时间信息和所述BLE MIDI控制器运转状态信息,对所述BLE MIDI控制器的连接状态进行实时检测;
其中,所述邻域时段内包含有两个接收时刻,所述BLE MIDI控制器时间信息包括所述BLE MIDI控制器的设备时刻。
作为本发明优选的实施方式,在基于所述两个接收时刻进行实时检测时,包括:
获取所述两个接收时刻对应的心跳包数据中的所述BLE MIDI控制器时间信息以及所述BLE MIDI控制器运转状态信息,进一步得到所述两个接收时刻对应的BLE MIDI控制器的设备时刻之间的差值,并记为第一差值;
获取目标心跳包数据中的BLE MIDI控制器的设备时刻与所述BLE MIDI控制器所处时区的当前时刻之间的差值,并记为第二差值;
基于所述第一差值、所述第二差值以及所述目标心跳包数据中的BLE MIDI控制器运转状态信息,实时检测所述BLE MIDI控制器的连接状态。
作为本发明优选的实施方式,在基于所述目标心跳包数据进行实时检测时,包括:
根据所述目标心跳包数据中的BLE MIDI控制器运转状态信息,判断所述BLE MIDI控制器是否正常运转;
若否,则认为所述BLE MIDI控制器处于离线状态;
若是,则进一步判断所述第一差值和所述第二差值是否均小于预设的时间差值;若是,则认为所述BLE MIDI控制器处于在线状态,若否,则认为所述BLE MIDI控制器处于离线状态。
作为本发明优选的实施方式,在将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中时,包括:
所述BLE MIDI控制器从所述操作系统获取到所述mac地址列表,并判断将要发出的正常MIDI指令是否包含于所述mac地址列表中。
作为本发明优选的实施方式,在将要发出的MIDI指令和对应的虚拟MIDI端口封装在系统码之中时,还包括:
当判断将要发出的正常MIDI指令包含于所述mac地址列表中时,则从所述mac地址列表中取出所述正常MIDI指令对应的系统码和虚拟MIDI端口,并将所述正常MIDI指令和所述虚拟MIDI端口封装在所述系统码中;
其中,各个系统码分别对应所述BLE MIDI控制器的一个功能区域,并且与所述功能区域所发出的MIDI指令所对应。
一种基于虚拟MIDI端口实现BLE MIDI控制器指令控制的系统,包括:
虚拟端口创建单元:用于通过在操作系统上进行端口模拟,从而创建若干虚拟MIDI端口;
连接状态检测单元:用于当检测到有BLE MIDI控制器连接到所述操作系统时,为连接的BLE MIDI控制器自动分配所述虚拟MIDI端口,并对所述BLE MIDI控制器的连接状态进行实时检测;
封装单元:用于所述BLE MIDI控制器将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中,得到对应的功能系统码,并将所述功能系统码发送到解码器;
转换及发送单元:用于通过所述解码器实时地将接收到的所述功能系统码转换为所述正常MIDI指令后,立即通过对应的虚拟MIDI端口发送给所述操作系统,完成所述BLEMIDI控制器的指令控制。
相比现有技术,本发明的有益效果在于:
(1)高效的多端口应用:本发明通过虚拟化技术,为BLE MIDI控制器带来了在复杂音乐制作场景下的高效应用,克服了传统BLE MIDI控制器的端口限制;
(2)无缝的数据流:本发明有效地解决了数据冲突问题,确保了音乐输出的连续性、质量和同步性;
(3)简化的用户体验:本发明的自动虚拟端口分配机制为用户提供了一个简化的设置过程,这种即连即用的体验大大减少了用户在设备配置和使用中的麻烦;
(4)便携性:除了提供技术上的解决方案,本发明还节省了物理连接的需求,由于无线连接的便利性,MIDI控制器的移动性和灵活性得到了显著提高,使得MIDI控制器在各种场合都能轻松使用。
下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
图1-是本发明背景技术的有线MIDI控制器与操作系统的交互示意图;
图2-是本发明背景技术的BLE MIDI控制器与操作系统的交互示意图;
图3-是本发明实施例的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法步骤图;
图4-是本发明实施例的基于虚拟MIDI端口的BLE MIDI控制器与操作系统的交互示意图。
附图标号说明:1、有线MIDI控制器;2、操作系统;3、BLE MIDI控制器。
具体实施方式
本发明所提供的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,如图3所示,包括以下步骤:
步骤S1:通过在操作系统2上进行端口模拟,从而创建若干虚拟MIDI端口;
步骤S2:当检测到有BLE MIDI控制器3连接到操作系统2时,为连接的BLE MIDI控制器3自动分配虚拟MIDI端口,并对BLE MIDI控制器3的连接状态进行实时检测;
步骤S3:BLE MIDI控制器3将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中,得到对应的功能系统码,并将功能系统码发送到解码器;
步骤S4:通过解码器实时地将接收到的功能系统码转换为正常MIDI指令后,立即通过对应的虚拟MIDI端口发送给操作系统2,完成BLE MIDI控制器3的指令控制。
基于本发明所提供的方法,BLE MIDI控制器3与操作系统2之间的交互,如图4所示。
具体地,在上述步骤S1中,操作系统2包括Macox和Windows。
在上述步骤S1中,在操作系统2上进行端口模拟时,包括:
将不同的BLE MIDI控制器3分别与操作系统2进行连接,通过操作系统2获取不同的BLE MIDI控制器3的mac地址。
在上述步骤S1中,在创建若干虚拟MIDI端口时,包括:
基于操作系统2已有的虚拟MIDI端口驱动,并根据mac地址,创建对应的虚拟MIDI端口;
或者,根据mac地址,通过API在操作系统2上创建对应的虚拟MIDI端口;
在创建对应的虚拟MIDI端口后,包括:
建立各个虚拟MIDI端口与各自对应的MIDI指令、mac地址之间的mac地址列表。
具体地,本发明所创建的虚拟MIDI端口作为系统内部的数据通道,允许MIDI数据流动。
在上述步骤S2中,在为连接的BLE MIDI控制器3自动分配虚拟MIDI端口时,包括:
根据连接的BLE MIDI控制器3的mac地址,自动为BLE MIDI控制器3分配一个或多个虚拟MIDI端口;
其中,在根据mac地址进行自动分配时,包括:
获取BLE MIDI控制器3的mac地址,并判断mac地址是否包含于mac地址列表中;
若是,则从mac地址列表中获取mac地址对应的虚拟MIDI端口,并进行分配;
若否,则提示用户对连接的BLE MIDI控制器3进行端口模拟,并创建对应的虚拟MIDI端口和更新mac地址列表。
具体地,本发明通过虚拟MIDI端口的自动分配,实现即连即用的效果。
在上述步骤S2中,在对BLE MIDI控制器3的连接状态进行实时检测时,包括:
获取当前时刻的邻域时段内连接的BLE MIDI控制器3的多个心跳包数据,每个心跳包数据中均包含BLE MIDI控制器3时间信息以及BLE MIDI控制器3运转状态信息;
根据BLE MIDI控制器3时间信息和BLE MIDI控制器3运转状态信息,对BLE MIDI控制器3的连接状态进行实时检测;
其中,邻域时段内包含有两个接收时刻,BLE MIDI控制器3时间信息包括BLE MIDI控制器3的设备时刻。
进一步地,在基于两个接收时刻进行实时检测时,包括:
获取两个接收时刻对应的心跳包数据中的BLE MIDI控制器3时间信息以及BLEMIDI控制器3运转状态信息,进一步得到两个接收时刻对应的BLE MIDI控制器3的设备时刻之间的差值,并记为第一差值;
获取目标心跳包数据中的BLE MIDI控制器3的设备时刻与BLE MIDI控制器3所处时区的当前时刻之间的差值,并记为第二差值;
基于第一差值、第二差值以及目标心跳包数据中的BLE MIDI控制器3运转状态信息,实时检测BLE MIDI控制器3的连接状态。
更进一步地,在基于目标心跳包数据进行实时检测时,包括:
根据目标心跳包数据中的BLE MIDI控制器3运转状态信息,判断BLE MIDI控制器3是否正常运转;
若否,则认为BLE MIDI控制器3处于离线状态;
若是,则进一步判断第一差值和第二差值是否均小于预设的时间差值;若是,则认为BLE MIDI控制器3处于在线状态,若否,则认为BLE MIDI控制器3处于离线状态。
在上述步骤S3中,在将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中时,包括:
BLE MIDI控制器3从操作系统2获取到mac地址列表,并判断将要发出的正常MIDI指令是否包含于mac地址列表中。
在上述步骤S3中,在将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中时,还包括:
当判断将要发出的正常MIDI指令包含于mac地址列表中时,则从mac地址列表中取出正常MIDI指令对应的系统码和虚拟MIDI端口,并将正常MIDI指令和虚拟MIDI端口封装在系统码中;
其中,各个系统码分别对应BLE MIDI控制器的一个功能区域,并且与功能区域所发出的MIDI指令所对应。
具体地,BLE MIDI控制器3的功能区域包括:琴键、打击垫、旋钮等。上述正常MIDI指令所包含的MIDI码为现有的MIDI码,包括:常用的MIDI NoteOn、Note Off、Pitch Bend以及MIDI CC码等。而本发明通过采用不同于现有的MIDI码的系统码,对正常MIDI指令进行封装,从而不会与现有的MIDI码发生使用上的冲突,并且保证了数据的独特性以及提高了传输效率。
具体地,BLE MIDI控制器3上的各种操作,如按下琴键、敲击打击垫或旋转旋钮,都会被BLE MIDI控制器3内部的电路转化为正常MIDI指令。本发明通过采用系统码对BLEMIDI控制器3所输出的正常MIDI指令进行封装,这些系统码与BLE MIDI控制器3的功能区域有着一一对应的关系,从而确保数据的唯一性和准确性。
具体地,在上述步骤S4中,解码器通过获取BLE MIDI控制器3发送的功能系统码的第二三位进行判断,是否需要对功能系统码进行处理,若是,则将封装在其中的正常MIDI指令取出,并通过对应的虚拟MIDI端口进行发送。所取出的正常MIDI指令所包含的MIDI码包括:旋钮常用到的CC码以及琴键和打击垫会用到的Note码。
具体地,本发明的解码器一旦检测到功能系统码,会立即将其转换为正常MIDI指令,并通过对应的虚拟MIDI端口进行发送,从而确保音乐制作和控制的实时性。
本发明所提供的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的系统,包括:虚拟端口创建单元、连接状态检测单元、封装单元以及转换及发送单元。
虚拟端口创建单元:用于通过在操作系统2上进行端口模拟,从而创建若干虚拟MIDI端口。
连接状态检测单元:用于当检测到有BLE MIDI控制器3连接到操作系统2时,为连接的BLE MIDI控制器3自动分配虚拟MIDI端口,并对BLE MIDI控制器3的连接状态进行实时检测。
封装单元:用于BLE MIDI控制器3将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中,得到对应的功能系统码,并将功能系统码发送到解码器;
转换及发送单元:用于通过解码器实时地将接收到的功能系统码转换为正常MIDI指令后,立即通过对应的虚拟MIDI端口发送给操作系统2,完成BLE MIDI控制器3的指令控制。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,包括以下步骤:
通过在操作系统上进行端口模拟,从而创建若干虚拟MIDI端口;
当检测到有BLE MIDI控制器连接到所述操作系统时,为连接的BLE MIDI控制器自动分配所述虚拟MIDI端口,并对所述BLE MIDI控制器的连接状态进行实时检测;
所述BLE MIDI控制器将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中,得到对应的功能系统码,并将所述功能系统码发送到解码器;
通过所述解码器实时地将接收到的所述功能系统码转换为所述正常MIDI指令后,立即通过对应的虚拟MIDI端口发送给所述操作系统,完成所述BLE MIDI控制器的指令控制。
2.根据权利要求1所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在操作系统上进行端口模拟时,包括:
将不同的BLE MIDI控制器分别与所述操作系统进行连接,通过所述操作系统获取所述不同的BLE MIDI控制器的mac地址。
3.根据权利要求2所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在创建若干虚拟MIDI端口时,包括:
基于所述操作系统已有的虚拟MIDI端口驱动,并根据所述mac地址,创建对应的虚拟MIDI端口;
或者,根据所述mac地址,通过API在所述操作系统上创建对应的虚拟MIDI端口;
在创建对应的虚拟MIDI端口后,包括:
建立各个虚拟MIDI端口与各自对应的MIDI指令、所述mac地址之间的mac地址列表。
4.根据权利要求3所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在为连接的BLE MIDI控制器自动分配所述虚拟MIDI端口时,包括:
根据连接的BLE MIDI控制器的mac地址,自动为所述BLE MIDI控制器分配一个或多个虚拟MIDI端口;
其中,在根据mac地址进行自动分配时,包括:
获取所述BLE MIDI控制器的mac地址,并判断所述mac地址是否包含于所述mac地址列表中;
若是,则从所述mac地址列表中获取所述mac地址对应的虚拟MIDI端口,并进行分配;
若否,则提示用户对连接的BLE MIDI控制器进行端口模拟,并创建对应的虚拟MIDI端口和更新所述mac地址列表。
5.根据权利要求1所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在对所述BLE MIDI控制器的连接状态进行实时检测时,包括:
获取当前时刻的邻域时段内连接的BLE MIDI控制器的多个心跳包数据,每个所述心跳包数据中均包含BLE MIDI控制器时间信息以及BLE MIDI控制器运转状态信息;
根据所述BLE MIDI控制器时间信息和所述BLE MIDI控制器运转状态信息,对所述BLEMIDI控制器的连接状态进行实时检测;
其中,所述邻域时段内包含有两个接收时刻,所述BLE MIDI控制器时间信息包括所述BLE MIDI控制器的设备时刻。
6.根据权利要求5所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在基于所述两个接收时刻进行实时检测时,包括:
获取所述两个接收时刻对应的心跳包数据中的所述BLE MIDI控制器时间信息以及所述BLE MIDI控制器运转状态信息,进一步得到所述两个接收时刻对应的BLE MIDI控制器的设备时刻之间的差值,并记为第一差值;
获取目标心跳包数据中的BLE MIDI控制器的设备时刻与所述BLE MIDI控制器所处时区的当前时刻之间的差值,并记为第二差值;
基于所述第一差值、所述第二差值以及所述目标心跳包数据中的BLE MIDI控制器运转状态信息,实时检测所述BLE MIDI控制器的连接状态。
7.根据权利要求6所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在基于所述目标心跳包数据进行实时检测时,包括:
根据所述目标心跳包数据中的BLE MIDI控制器运转状态信息,判断所述BLE MIDI控制器是否正常运转;
若否,则认为所述BLE MIDI控制器处于离线状态;
若是,则进一步判断所述第一差值和所述第二差值是否均小于预设的时间差值;若是,则认为所述BLE MIDI控制器处于在线状态,若否,则认为所述BLE MIDI控制器处于离线状态。
8.根据权利要求3所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中时,包括:
所述BLE MIDI控制器从所述操作系统获取到所述mac地址列表,并判断将要发出的正常MIDI指令是否包含于所述mac地址列表中。
9.根据权利要求8所述的基于虚拟MIDI端口实现BLE MIDI控制器指令控制的方法,其特征在于,在将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中时,还包括:
当判断将要发出的正常MIDI指令包含于所述mac地址列表中时,则从所述mac地址列表中取出所述正常MIDI指令对应的系统码和虚拟MIDI端口,并将所述正常MIDI指令和所述虚拟MIDI端口封装在所述系统码中;
其中,各个系统码分别对应所述BLE MIDI控制器的一个功能区域,并且与所述功能区域所发出的MIDI指令所对应。
10.一种基于虚拟MIDI端口实现BLE MIDI控制器指令控制的系统,其特征在于,包括:
虚拟端口创建单元:用于通过在操作系统上进行端口模拟,从而创建若干虚拟MIDI端口;
连接状态检测单元:用于当检测到有BLE MIDI控制器连接到所述操作系统时,为连接的BLE MIDI控制器自动分配所述虚拟MIDI端口,并对所述BLE MIDI控制器的连接状态进行实时检测;
封装单元:用于所述BLE MIDI控制器将要发出的正常MIDI指令和对应的虚拟MIDI端口封装在系统码之中,得到对应的功能系统码,并将所述功能系统码发送到解码器;
转换及发送单元:用于通过所述解码器实时地将接收到的所述功能系统码转换为所述正常MIDI指令后,立即通过对应的虚拟MIDI端口发送给所述操作系统,完成所述BLE MIDI控制器的指令控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311170445.XA CN117170220B (zh) | 2023-09-12 | 2023-09-12 | 一种基于虚拟midi端口实现ble midi控制器指令控制的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311170445.XA CN117170220B (zh) | 2023-09-12 | 2023-09-12 | 一种基于虚拟midi端口实现ble midi控制器指令控制的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117170220A true CN117170220A (zh) | 2023-12-05 |
CN117170220B CN117170220B (zh) | 2024-05-03 |
Family
ID=88937149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311170445.XA Active CN117170220B (zh) | 2023-09-12 | 2023-09-12 | 一种基于虚拟midi端口实现ble midi控制器指令控制的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170220B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030334A (zh) * | 2006-02-28 | 2007-09-05 | 雅马哈株式会社 | 集体音乐教学系统以及音乐网络系统 |
CN101046953A (zh) * | 2006-03-28 | 2007-10-03 | 雅马哈株式会社 | 音乐处理设备及其管理方法 |
WO2008008418A2 (en) * | 2006-07-11 | 2008-01-17 | The Stone Family Trust Of 1992 | System and method for creation of a virtual musical instrument that controls multiple samplers or synthesizers by remapping portions of each to a single keyboard |
US20090254924A1 (en) * | 2008-04-04 | 2009-10-08 | Microsoft Corporation | Operating system interfaces for virtual wifi and softap capable drivers |
US20110145815A1 (en) * | 2009-12-11 | 2011-06-16 | Sun Microsystems, Inc. | Virtual hot plugging of devices and virtual devices |
US20110174138A1 (en) * | 2010-01-20 | 2011-07-21 | Ikingdom Corp. | MIDI Communication Hub |
CN102413887A (zh) * | 2009-05-01 | 2012-04-11 | 微软公司 | 管理虚拟端口 |
US20130087037A1 (en) * | 2011-10-10 | 2013-04-11 | Mixermuse, Llp | Midi learn mode |
CN104601690A (zh) * | 2015-01-12 | 2015-05-06 | 卓易畅想(北京)科技有限公司 | 一种在同步设备的浏览器中同步移动设备的方法和装置 |
US20150255053A1 (en) * | 2014-03-06 | 2015-09-10 | Zivix, Llc | Reliable real-time transmission of musical sound control data over wireless networks |
US20160140943A1 (en) * | 2014-11-13 | 2016-05-19 | Integrated Technology and Entertainment Medium LLC | Midi devices and systems |
US20180006870A1 (en) * | 2015-01-14 | 2018-01-04 | Datto, Inc. | Remotely configurable routers with failover features, and methods and apparatus for reliable web-based administration of same |
CN109407854A (zh) * | 2018-10-09 | 2019-03-01 | 长沙幻音电子科技有限公司 | 带midi控制器功能的计算机键盘 |
CN109559719A (zh) * | 2018-11-01 | 2019-04-02 | 长沙幻音电子科技有限公司 | 一种可无线控制的midi控制器系统 |
CN113497661A (zh) * | 2020-04-08 | 2021-10-12 | 廖欣叶 | 时码数据的处理方法、装置及实时视觉包装系统 |
CN113642869A (zh) * | 2021-07-29 | 2021-11-12 | 北京金三惠科技有限公司 | 基于midi交互的电钢琴管理方法及其管理系统 |
CN114898727A (zh) * | 2022-06-10 | 2022-08-12 | 福州物联网开放实验室有限公司 | 一种基于外设设备的midi控制器、midi消息生成系统及方法 |
-
2023
- 2023-09-12 CN CN202311170445.XA patent/CN117170220B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030334A (zh) * | 2006-02-28 | 2007-09-05 | 雅马哈株式会社 | 集体音乐教学系统以及音乐网络系统 |
CN101046953A (zh) * | 2006-03-28 | 2007-10-03 | 雅马哈株式会社 | 音乐处理设备及其管理方法 |
WO2008008418A2 (en) * | 2006-07-11 | 2008-01-17 | The Stone Family Trust Of 1992 | System and method for creation of a virtual musical instrument that controls multiple samplers or synthesizers by remapping portions of each to a single keyboard |
US20090254924A1 (en) * | 2008-04-04 | 2009-10-08 | Microsoft Corporation | Operating system interfaces for virtual wifi and softap capable drivers |
CN102413887A (zh) * | 2009-05-01 | 2012-04-11 | 微软公司 | 管理虚拟端口 |
US20110145815A1 (en) * | 2009-12-11 | 2011-06-16 | Sun Microsystems, Inc. | Virtual hot plugging of devices and virtual devices |
US20110174138A1 (en) * | 2010-01-20 | 2011-07-21 | Ikingdom Corp. | MIDI Communication Hub |
US20130087037A1 (en) * | 2011-10-10 | 2013-04-11 | Mixermuse, Llp | Midi learn mode |
US20150255053A1 (en) * | 2014-03-06 | 2015-09-10 | Zivix, Llc | Reliable real-time transmission of musical sound control data over wireless networks |
US20160140943A1 (en) * | 2014-11-13 | 2016-05-19 | Integrated Technology and Entertainment Medium LLC | Midi devices and systems |
CN104601690A (zh) * | 2015-01-12 | 2015-05-06 | 卓易畅想(北京)科技有限公司 | 一种在同步设备的浏览器中同步移动设备的方法和装置 |
US20180006870A1 (en) * | 2015-01-14 | 2018-01-04 | Datto, Inc. | Remotely configurable routers with failover features, and methods and apparatus for reliable web-based administration of same |
CN109407854A (zh) * | 2018-10-09 | 2019-03-01 | 长沙幻音电子科技有限公司 | 带midi控制器功能的计算机键盘 |
CN109559719A (zh) * | 2018-11-01 | 2019-04-02 | 长沙幻音电子科技有限公司 | 一种可无线控制的midi控制器系统 |
CN113497661A (zh) * | 2020-04-08 | 2021-10-12 | 廖欣叶 | 时码数据的处理方法、装置及实时视觉包装系统 |
CN113642869A (zh) * | 2021-07-29 | 2021-11-12 | 北京金三惠科技有限公司 | 基于midi交互的电钢琴管理方法及其管理系统 |
CN114898727A (zh) * | 2022-06-10 | 2022-08-12 | 福州物联网开放实验室有限公司 | 一种基于外设设备的midi控制器、midi消息生成系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117170220B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262879B (zh) | 语音命令竞争处理方法、装置、语音遥控器和数字电视 | |
CN108133707A (zh) | 一种内容分享方法及系统 | |
US7245727B2 (en) | Remote controlled audio mixing console | |
US7245591B2 (en) | Data translation apparatus of ATM in mobile communication system | |
CN112988495A (zh) | 一种soc芯片复用管脚的多功能测试方法、装置及系统 | |
CN117170220B (zh) | 一种基于虚拟midi端口实现ble midi控制器指令控制的方法及系统 | |
CN111930658A (zh) | 一种可实现多对多切换控制的usb切换装置及方法 | |
CN109348399A (zh) | 终端及其立体声音效的控制方法 | |
CN103076888B (zh) | 一种kvm设备及该设备中usb键盘调用osd切换通道的方法 | |
TWI661286B (zh) | 半導體自動化設備即時遠端控制系統 | |
CN108182930A (zh) | 音效处理方法、设备及音视频点播系统 | |
CN101340549B (zh) | 一种控制会议电视终端摄像头的方法及装置 | |
JP4231843B2 (ja) | 2つのスレーブ装置と、2つのプロセッサを有するマスタ装置間でデータパケット群を送信する方法 | |
JP2021121564A (ja) | エレベータ制御方法、装置、電子機器、記憶媒体及びシステム | |
CN106708761A (zh) | 一种业务报文的处理方法及装置 | |
CN115277391B (zh) | 一种网络配置方法、装置、集群及存储介质 | |
CN113053374B (zh) | 一种大屏幕控制系统 | |
US9996492B2 (en) | Coupling device and method for dynamically allocating USB endpoints of a USB interface, and exchange trading system terminal with coupling device | |
CN102264007B (zh) | 无线通信模块、遥控装置以及无线系统 | |
CN112764643A (zh) | 一种远程操控多屏计算机的方法、系统、设备及存储介质 | |
CN103701551A (zh) | 一种多通道数字调音台及其信号处理方法 | |
EP3636574A1 (en) | Automatic configuration method of an elevator fixture | |
CN114285913B (zh) | 一种跨操作系统的数据传输方法 | |
KR100300843B1 (ko) | 교환기의 다중 프로토콜 기능 장치 | |
KR102516872B1 (ko) | 프로토콜 변환 및 주소 부여형 리피터를 이용한 조명제어장치 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |