如何用代码控制midi数据格式的速度_Sonic pi 工坊 | MIDI输出:活用手边合成器

Sonic pi工坊是作者使用代码编程语言制作音乐的个人学习笔记。如果您还不了解sonic pi这门可以用于音乐现场演出的编程语言,可以阅读这篇推送:探索sonic Pi, 用代码编曲我相信,不论是工程师还是使用DAW的音频制作者或爱好者,都能从代码方法中找到乐趣,并探索更多可能性。所以想不定期连载sonic pi的有趣应用。在兜里没钱的时期,怀着“能用CPU与GPU解决问题,就不买其它硬件”的决心,代码动手丰衣足食。
上周,我简单测试了一下sonic pi 的MIDI信号输出功能,步骤还是十分简单的。   如果你手边正好有合成器,电子琴,并且配有USB连接线,可以试着用sonic pi程序控制鼓机或合成器的音序。这样可以对sonic pi本身有限的音源做补充。如果你的合成器不带音序器,sonic pi程序正好可以补足。我认为,如果你习惯程序写法,sonic pi甚至会成为非常好用的音序器。   控制op-z ? 701b2801889a8684bd164f148b42c280.png 我在实际操作时使用op-z合成器,这台设备同时包含鼓机与合成器,共8个轨道。所以,测试的结果在一定程度上能体现大部分鼓机合成器被程序操控时展现的性能。   首先将设备USB线接入电脑,点击sonic pi 最右侧按钮 [Prefs],找到IO选项卡,MIDI端口会自动显示接入设备的列表,如果你的设备没有被查找到,点击[重置MIDI]。这一步应该没有任何难度。   3dfa3b2c73445c06092536536dad3c78.png 当你的设备名称成功显示在设备列表里的时候,可以在合成器键盘上随意演奏,编辑器右侧[标记]一栏会显示实时的MIDI信号,它以‘/midi/’开头,之后是你的设备名称。请记住你的设备名称,之后你需要将这个名称原样填入端口port。   最后开始编写程序向合成器发送MIDI信号,我使用的格式,没有涉及note_on/ note_off的写法,这样看起来更清爽。   99505506d8936cc712d3a8e3a14e1748.png Live loop 每一个轨道依次对应op-z的每个轨道。 Live loop内演奏的指令很重要,请认真填写下面的参数:
  • Midi 需要填写音名或midi数

  • Port 填写接入设备名称

  • Channel 填写轨道序号,以op-z为例,8轨的序号依次为1-8

  • ADSR参数请根据需要设置,不过我个人认为音色的部分还是在设备上直接操作比较好。

   其余音序与时值的写法与之前介绍的鼓机格式读取数组的方法基本相似。 就这样,我使用sonic pi 控制op-z前4轨的鼓组。   一些需要注意的问题  ❗ 虽然sonic pi程序能正确执行,但设备上有一些问题需要注意:  
  • 由于小型合成器键盘按键数量有限,很多设备都具备8度上下移动的功能。在写程序时,首先要确保sonic pi发送的midi note正好就在当前键盘8度范围内,不然声音会变得奇怪。

 
  • 单根USB线控制3或3个以上轨道时,信号会出现拥堵。这是我在控制四轨道鼓组时发现的问题,可能这样的测试就会达到MIDI信号经过USB线传输的上限。

    所以比较保险的做法还是一根USB线只控制一个轨道,如果没有问题再添加下一个轨道。这可能和你编写的pattern有很大关系,如果pattern本身没有太多轨道重叠的部分,你可能也是安全的。

 
  • 我手头没有USB Hub ,所以没有相关测试。但是鉴于上述现象,情况可能不乐观。

    个人建议  ? 经过这个测试,我认为 一根USB连接一台设备内一个轨道最简单保险。   如果哪个轨道更适合被程序控制,我个人觉得贝斯或者percussion会更有趣,也值得使用程序的方式操纵音序。用程序控制velocity与节奏输出,自由设置随机trigger与LFO,可在一定程度上超越op-z原生音序器。   之后,在设备上调整音色,控制实时效果,应该能达到目前最理想的效果。 我想一些不带键盘的桌面合成器应该适合这样的系统。    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值