如何增大弯音轮的音程范围达8个“半音”?

提问于
最后更新于
浏览 427次
登录并提问
1

(例如由音符1滑到5,或者反过来)

班明峰
XP 10342
班明峰
提问于 Sep 4, 2024, 11:15:16 PM
4

给各位提供一个全新的看待MIDI协议的角度:

MIDI你可以看成是一大堆控制音源发音的指令,包括发什么音高(Note On/Off事件)、音高要不要平滑变化(Pitch Bend事件、Portamento CC等),或者是其他的手段,都是为了控制音源发声的。

这里面有很多是经常用的(比如Note On/Off、Pitch Bend等),所以就把这些功能直接用事件来控制。有些不太常用,比如颤音、延音等,就把这些功能用控制器编号+数值来控制。有些更不太常用,就把这些功能变成隐藏得更加深入的,比如控制器里有RPN控制器、NRPN控制器,把一些更不常用的,比如楼主在这个帖子里需要的Pitch Bend Sensitivity,一般称为弯音范围,放到了RPN控制器里。有些更更不常用的,或者说厂商自己扩展的功能,就放到了SysEx系统码里。

经常用的,比如Note On/Off,就直接用一个MIDI事件就能控制。不太常用的比如颤音,就要用MIDI CC号+具体数值来控制。更不常用的比如RPN和NRPN,就要用到MIDI CC里的RPN、NRPN、Data Entry MSB三个CC来完成。就用这个调整弯音范围这件事来说,首先发MIDI CC 101# RPN MSB=0,再发MIDI CC 100# RPN LSB=0这两条,选定RPN功能0-Pitch Bend Sensitivity;然后再发MIDI CC 6#Data Entry MSB=nn,就可以给Pitch Bend Sensitivity设定具体值。设定完后,别忘了再发MIDI CC 101# RPN MSB=127,MIDI CC 100# RPN LSB=127两条,把RPN功能指定到Null上,防止RPN其他功能被误碰。

再说上面第三条里的nn代表了什么。这个是Pitch Bend Sensitivity具体的弯音范围。这个默认是2,代表了两个半音,也就是弯音轮默认向上向下打满,各能弯一个全音。这个值可以设置为0~12,0就是不弯音,12就是最高能弯12个半音,也就是一个八度。

以上是从MIDI协议底层来解释这个事情。详细参考原来我写过的这个讨论帖:

https://www.cndzq.com/bbs/forum.php?mod=viewthread&tid=364473

但不同的编曲软件里,对MIDI底层协议有不同的呈现形式。这个帖子里用的Cakewalk不需要上述这么复杂的一系列动作,只要插入一个0号RPN事件,并且给值就行。但Cakewalk不是给12,而是(0~12)×256=0~3072之间。这个对应关系大概是这样:

默认弯两个半音时,Cakewalk里写的值为512;

弯12个半音时,Cakewalk里写的值为3072;

为啥是这样?因为RPN0 Pitch Bend Sensitivity实际上是由两个字节控制的,而MIDI CC 6# Data Entry MSB只给高字节赋值0~12,默认的2也是MSB=2,而LSB默认都是0。所以MSB、LSB两个字节拼合起来就是十六进制的0x200~0xC00,换算成十进制就是512~3072。

华北kingsky
XP 1086
华北kingsky
回答于 10/8/24, 9:11 PM
2

达到弯音轮的最大弯音程度,需要让弯音轮这个事件的数值达到+8192或-8192

72ea5213aa43923e62ebf2b5fb82a3e4.png

最好的门神
XP 7882
最好的门神
回答于 9/13/24, 2:47 PM
2

直接调这里,pitch bend sensitivity(弯音轮敏感度),弯音轮上下12个刻度。如果这里pitch bend sensitivity设置为1536,则1536/128=12个半音为一个8度,如果要是8个半音,那么弯音轮敏感度需要设置为128*8=1024。弯音轮敏感度只需要设置一次,全局有效844df97c5eed1aa18402b02b83ac6969.png

最好的门神
XP 7882
最好的门神
回答于 9/13/24, 2:24 PM
0

midi文件中事件130 pitch bend 从-8192到8191跨度只有4个半音

但是事件151有个pinch bend sensitivity 默认数值是12(最高48)

由于本人没用过所以不知道是否按想象中一样能够增加范围

神丶小E
XP 333
神丶小E
回答于 9/11/24, 11:38 PM

您的回答

登录以回答

这儿是 MidiShow 问答区,欢迎您请教或帮大家解决关于音乐创作、MIDI 应用、MIDI 技术等音乐相关的问题。

问答区积分规则如下:


  1. 提问、回答或自问自答积分均不变
  2. 问题被赞成 : +10
  3. 问题被反对 : 提问者 -2,点击反对者不扣分
  4. 回答被赞成 : +10
  5. 回答被反对 : 回答者 -2,点击反对者 -1
  6. 提问者选出满意回答 :回答者 +15 ,提问者 +2

参与问答前请阅读:问答区玩法规则