CoreMIDI 制造商预设
Posted
技术标签:
【中文标题】CoreMIDI 制造商预设【英文标题】:CoreMIDI Manufacturer Presets 【发布时间】:2013-01-11 14:28:47 【问题描述】:我用 CoreMIDI 构建了一个虚拟 MIDI 控制器,并想为 ControlChange 导入制造商预设(即 cc 值、与 cc 编号关联的效果名称、预设名称等)。有没有一种简单的方法可以做到这一点,还是我需要对这些信息进行硬编码?我在 MMA 网站上找到了 MIDI 制造商 ID,这可以用来获取虚拟乐器中的特定数据吗?谢谢。
【问题讨论】:
【参考方案1】:MIDI 从未提供自我描述的方式。
已经努力标准化 MIDI 参数集,例如 General MIDI,以及供应商标准,例如 Yamaha XG 和 Roland GS,但即使在来自同一供应商的乐器中,控制集也不一致。也许不足为奇,至于这样的工作,用于声音的样本数据也需要标准化 - 当然,这是乐器之间的区别。
倾向于发生的情况是,制造商以完全非标准化的方式大量使用SYSEX
来实现控制功能(尤其是在他们的自己的产品中)。
构建任何类型的通用 MIDI 编辑器都需要您为要控制的每个设备创建一个映射表,以描述控件及其 MIDI 映射。您通常会在每个乐器的用户手册中找到包含数据的大量 MIDI 实现图表。
【讨论】:
我认为可能是这样,但一个人必须做梦。感谢您的回复。 这个bunch 有一个商业产品,几乎可以满足您的描述。还有许多其他延迟问题需要解决,例如最大SYSEX
块大小和块间延迟。当您以太快的速度发送太多数据时,其固件会崩溃的设备。是的,认真的。 MIDI 真的不适合这个目的,需要快速消失。但可能不会。【参考方案2】:
截至 2020 年,这可能最好通过 MIDI 能力查询来完成。参数调用可以通过 MIDI-CI 属性交换来完成。
【讨论】:
以上是关于CoreMIDI 制造商预设的主要内容,如果未能解决你的问题,请参考以下文章