前言:
关于reaper的web remote control,很推荐一款开源的工具wrb2,能自定义将reaper的action做成按钮,也提供了一些不错的预制模块。
可参考我在b站发的一个视频:
好玩又好用,19年就停更的开源工具reaper wrb2 web remote_哔哩哔哩_bilibili
美中不足的是,它没有提供推子工具。于是自己琢磨了一个补充的推子。
由于不想花太多的时间去学js、vue,所以没办法在它原框架的基础上加。只能另外写一个推子页面。不过,一个副屏或者pad开wrb2,一部手机开推子,也是很不错的使用场景。
开发过程中,吃了reaper的很多苦头。
最早想使用osc发送cc,web remote control和reaper均有关于osc的api,但由于没有示范实例,满世界也找不到相关信息。web remote control的osc api怎么尝试都不成功。reaper的osc api,只有不带值的,比如节拍器“t/click”能发送成功,带参数的怎么尝试都不行。
随后换为reaper的insertCC这个api,虽然跑通了,但是使用的时候监听不到实时效果。emmm,成功了又好像没成功。
最后在大佬指点下,使用reaper的StuffMIDIMessage这个api来发送cc,终于能正常使用。
关于使用方法:
1、解压和放置
解压后放在C:\Users\l用户名\AppData\Roaming\REAPER\reaper_www_root下,注意CCRemote文件夹里的东西不要拖出来,CCRemote.html也不要拖到CCRemote文件夹里去。
2、lua脚本
随后将,CCRemoteState、CCRemoteTemp、CCRemoteUpdateChannel 3个lua文件,加载到reaper的action列表里。
在action列表里找到CCRemoteState,右键复制command ID。打开CCRemote.html,替换到30行的字符串里。如下图。
在action列表里找到CCRemoteTemp,右键复制command ID。打开CCRemote.js,替换到17行的字符串里。如下图。
3、为了获取channel通道号
【注意】下面的事情有点繁杂。如果你不在意CCRemote能否正确显示当前channel,可以跳过本步骤。因为即使显示不正确,推子也能正确的施加在当前轨道的当前通道上。
由于要获取轨道的channel信息时,有的乐器轨会返回非常长的字符串造成卡顿。于是读取channel就没有设置为按频率读取,改为手动执行CCRemoteUpdateChannel这个脚本。在你切换channel时,去执行它。
【不建议】如果你习惯鼠标右键去设置轨道的Map input to channel,建议把这个脚本做成按钮,切完channel手动去按。
【重要】但最好的做法是,把切channel和更新channel信息做成定制组合形式的action,并分配快捷键或按钮:
在action列表里,点new action-new custom action,把SWS/S&M: Map selected tracks MIDI input to channel * 放在第一条,CCRemoteUpdateChannel放在第二条,其他参数如下。ok后设置快捷键add shortcut(我是快捷键1-9对应9个通道),当然也可以复制command ID做成按钮。
相同步骤依次做完多个通道的custom action。(总共16个,根据需要做)
这样选中轨道按快捷键或按钮,就切换channel了,信息也会同步给CCRemote。
另外,如果你也使用reaticulate映射来构建乐器轨(如下图)。那channel不再需要自己去切了。只需要在任意channel输入所有midi信息即可,映射会自动把信息分配到对应的channel。
就是构建模板的时候要自己写一下映射文本。辛苦一下,之后就很方便。详见Usage | reaticulate
4、在web control加载CCRemote
reaper的web remote control加载方法都一样。
在设置里control/osc/web栏,add,选web browser interface。如果你有多个web remote,端口要不一样。 如果勾选use rc/reaper.fm并apply,会把后面ID里你设置的字符串做成一个好记的URL,否则默认就是最下面ip形式URL。在局域网内任何浏览器都可打开。
注意1:使用时必须选中一个item,否则会弹窗给你提示。
注意2:如果你的midi编辑窗有多个cc栏,这个推子只针对最上方那个。
注意3:如果你midi编辑窗的第一个cc栏当前不是cc,而是比如力度、弯音啥的,推子不会生效。
注意4:选中item后的一秒内马上使用推子可能有问题,因为获取cc号是每秒执行一次,推子上的cc号正确显示后再推推子。不过一般选中item到开始录制,怎么也过去好几秒了。
演示效果:
reaper 做一个web remote cc推子_哔哩哔哩_bilibili
最后,再重申一下非常推荐配合wrb2一起使用,详见开头链接。