Objective c CoreMIDI制造商预设

Objective c CoreMIDI制造商预设,objective-c,cocoa,audio,core-audio,coremidi,Objective C,Cocoa,Audio,Core Audio,Coremidi,我用CoreMIDI构建了一个虚拟MIDI控制器,并希望为ControlChange导入制造商预设(即cc值、与cc编号关联的效果名称、预设名称等)。有没有一个简单的方法来实现这一点,或者我需要硬编码这些信息?我在MMA网站上找到了MIDI制造商ID,可以用来获取虚拟仪器中的特定数据吗?谢谢。MIDI从未提供过自我描述的方法 一直在努力标准化MIDI参数集,如,和供应商标准,如和,但即使在同一供应商的仪器中,控制集也不一致。也许这并不奇怪,因为要使其发挥作用,用于声音的样本数据也需要标准化——当

我用CoreMIDI构建了一个虚拟MIDI控制器,并希望为ControlChange导入制造商预设(即cc值、与cc编号关联的效果名称、预设名称等)。有没有一个简单的方法来实现这一点,或者我需要硬编码这些信息?我在MMA网站上找到了MIDI制造商ID,可以用来获取虚拟仪器中的特定数据吗?谢谢。

MIDI从未提供过自我描述的方法

一直在努力标准化MIDI参数集,如,和供应商标准,如和,但即使在同一供应商的仪器中,控制集也不一致。也许这并不奇怪,因为要使其发挥作用,用于声音的样本数据也需要标准化——当然,这是乐器之间的区别

通常的情况是,制造商大量使用
SYSEX
来实现控制功能,其方式完全是非标准化的(尤其是在他们自己的产品中)


构建任何类型的通用MIDI编辑器都需要为要控制的每个设备创建一个映射表,描述控件及其MIDI映射。您通常会在每个乐器的用户手册中找到大量的MIDI实现图,其中包含数据

MIDI从未提供过自我描述的方法

一直在努力标准化MIDI参数集,如,和供应商标准,如和,但即使在同一供应商的仪器中,控制集也不一致。也许这并不奇怪,因为要使其发挥作用,用于声音的样本数据也需要标准化——当然,这是乐器之间的区别

通常的情况是,制造商大量使用
SYSEX
来实现控制功能,其方式完全是非标准化的(尤其是在他们自己的产品中)


构建任何类型的通用MIDI编辑器都需要为要控制的每个设备创建一个映射表,描述控件及其MIDI映射。您通常会在每个乐器的用户手册中找到大量的MIDI实现图,其中包含数据

到2020年,这可能最好通过MIDI功能查询来实现。参数调用可以通过MIDI-CI属性交换来完成。

到2020年,最好通过MIDI功能查询来完成。参数调用可以通过MIDI-CI属性交换来完成。

我想可能是这样的,但一个家伙必须要有梦想。谢谢你的回复。这是一款商业产品,与你描述的差不多。还有许多其他延迟问题需要解决,例如最大
SYSEX
块大小和块间延迟。以及当您以过快的速度发送过多数据时固件崩溃的设备。是的,说真的。MIDI真的不适合这个目的,需要尽快离开。但可能不会。我想可能是这样,一个男人必须要有梦想。谢谢你的回复。这是一款商业产品,与你描述的差不多。还有许多其他延迟问题需要解决,例如最大
SYSEX
块大小和块间延迟。以及当您以过快的速度发送过多数据时固件崩溃的设备。是的,说真的。MIDI真的不适合这个目的,需要尽快离开。但可能不会。