- TouchOSC 基于应用程序的信号收发产品,移动、桌面端都有很好的支持;
- Open Stage Control 基于浏览器的信号收发;
- MaxMsp MaxMsp 是艺术家和创意人士探索音乐、视觉和技术极限的重要平台,收发信号只是其中的一小部分功能,在这里可以实现更复杂的信号处理;
- Ableton Live Ableton Live 本身是做音乐的软件,它更偏向即兴创作和现场表演,最重要的是 Max for Live 模块,它的主要作用就是通过 Max 实现自定义功能,连接、控制外部软硬件实现更好玩的效果,OSC、MIDI 信号是众多连接方式中的一种;
它们本身都是很好的工具,在不同场景下根据需求选择即可。
强烈建议大家去看下 Max 的介绍页面,大概率不能完全看懂,不过能知道它大概可以干嘛,或者了解能不能通过它实现自己的想法。
我用到的组合是 MaxMsp 和 Ableton Live,因为多数情况下会有声音参与,这也是我探索的方向。它们两个关系非常紧密,MaxMsp 一定程度上也可以被当作音乐工具,只是对我来说有点复杂,我基本只用它制作信号,在 Ableton Live 中完成声音处理。
上面提到的工具都是收/发信号的工具,当前语境下更多用于发送信号,接下来要聊的是向哪里发送信号。
OSC 的逻辑是保证收发两端处在相同的 IP 地址(IP Address)和端口(Port),这时已经建立通讯,接下来由发送端发送信号(Message Address),在接收端把信号映射到控制项上就完成了整个过程。
各家工具会有用法差异,但逻辑完全相同,以 Blender 和 Unreal 为例:
Blender 会用到 NodeOSC,发送端以一定频率随机发送两组字符串,Blender 接收到信号并保存到字符串节点中,最终显示在画面上。
这么描述太抽象,文件会放在 GitHub 仓库中 data\vol_155
,看起来会更直观,整个过程很简单。
Unreal 相对复杂,但同时也带来更丰富的控制,建立 OSC 通讯是第一步,Open Stage Control with Unreal 5.1 (Tutorial),这份教程解决了我在 OSC 上遇到的大部分问题,问题有很多种解决方法,这位作者的方法简洁又聪明。
最近开发片段中的 OSC 控制都是通过这种方法完成,Ableton Live 向 Max 发送 MIDI 信号,经过 Max 处理后,向 Unreal 发送 OSC 信号,实现实时控制。
中间还用到一些很方便的工具:
- Create Volumetric Cloud Inside Unreal Engine 5 - VDB 云;
- The Secret to Photoreal Skies in Unreal Engine - HDRIBackdrop 天空环境;
- 如何将影片渲染队列用于高质量渲染 Unreal - 配置控制台变量;
整个过程没有完整的教程,感兴趣的朋友可以按图索骥,每一步都不难,正好可以结合自身需求实现自己的想法。
J74 HarmoTools 是一组用于实时 MIDI 和声的设备,通过跟随领先 MIDI 轨道的和弦和/或音阶来调整多个 MIDI 轨道。该工具提供了用于 MIDI 分析、可视化、过滤以及创建的构建块。还包括用于网络协作的工具。用于现场演出,最终使用 TCP/IP 网络与其他音乐家合作。
好像有很多功能,我只会用显示和弦,光是这一点就很够用,很多时候我都不知道自己在按啥。