Bra*_*rad 20
在MIDI协议中有状态字节(想想命令,例如音符开或音符关),并且有数据字节(想想参数,例如音高值和音速).确定它们之间差异的方法是第一位.如果第一位是1,那么它是一个状态字节.如果第一位是0,那么它是一个数据字节.这使得剩余的状态或数据字节值只剩下7位.
所以简单地回答一下你的问题,这更多地与协议规范有关,但恰好可以很好地排列到可用的音高值.
现在,这些音高值与特定音高不对应.是的,通常音高值为60会给你C4或中等C. 大多数合成器都是这样的,但肯定不是全部.甚至不要求合成器使用音高值来进行音高!MIDI并不关心......它只是一个协议.您可能想知道备用调音如何工作......它们工作得很好.合成器可以为这些替代调音产生正确的音高.MIDI只提供了128种不同值的选择.
此外,如果您想知道为什么第一位表示数据是什么如此重要......有一些系统实时消息可以在其他命令的中间插入.这些是定时时钟,通常用于同步LFO等.
您可以在此处阅读有关MIDI消息类型的更多信息:http: //www.midi.org/techspecs/midimessages.php
127 = 2 7 - 1
它是8位有符号整数的最大正值,因此是文件格式的一个有意义的限制 - 它是您可以存储在一个字节(在大多数系统上)而不使其无符号的最高值.
小智 5
我认为您缺少的是 MIDI 是在 1980 年代早期创建的,不是为了在个人计算机上运行,而是为了在处理和存储能力极其有限的乐器上运行。存储 127 个值在当时似乎是巨大的,尤其是当最大的键盘通常只有 88 个键,而大多数电子乐器只有 48 个时。如果您认为 MIDI 正在以一种奇怪的方式做某事,那很可能源于它的侏罗纪遗产。
是的,通常 60 的音高值会给你 C4 或中 C。大多数合成器都是这样工作的,但肯定不是全部。
是的......关于中间C在MIDI中的位置一直存在分歧。在 Yamaha 键盘上它是 C3,在 Roland 键盘上它是 C4。雅马哈以一种方式做到了,而罗兰则以另一种方式做到了。
现在,这些音高值并不对应于特定的音高。
不是原来的。但是,在“General MIDI”标准中,A = 440,这是标准调音。通用 MIDI 还描述了哪个 Patch 是钢琴,哪个是吉他等等,以便 MIDI 文件可以跨多音色声源移植。
| 归档时间: |
|
| 查看次数: |
11442 次 |
| 最近记录: |