PICO MIDI SysEx 修补程序
产品信息
- baritonomarchetto 的 PICO MIDI SysEx Patcher 是一种硬件解决方案,旨在提高 vin 的可编程性tag缺乏可编程性的合成器。 它基于 Raspberry Pi Pico 微控制器板,具有内置 LED 显示屏、两个带内置按钮的旋转编码器和一个按钮。 它还包括用于串行操作和开放固件的 MIDI 输入。 编程器可以放置在主控制器和合成器之间,以允许在播放序列时实时修改参数,以及将任何其他 MIDI 消息从主控制器传输到目标合成器。
- PICO MIDI SysEx Patcher 支持多种 vintage 合成器,包括 Roland Alpha Juno (1/2)、Korg DW8000/EX8000 和 Oberheim Matrix 6/6R(> 2.14 固件)。
产品使用说明
- 在主控制器和 vin 之间连接 PICO MIDI SysEx Patchertag您要为其创建音色的合成器。
- 打开主控制器和vintage合成器。
- 使用两个旋转编码器在播放序列时实时导航和修改参数。
- 使用按钮将任何其他 MIDI 消息从主控制器传输到目标合成器。
- 有关如何使用显示屏以及如何在软件级别对参数进行分组的更多详细信息,请参阅用户手册。
笔记: 确保你的vintag在使用合成器之前,PICO MIDI SysEx Patcher 支持合成器。 此外,请参阅用户手册的硬件描述部分,了解有关所需组件以及如何组装它们的信息。
关于产品
- 我对vin情有独钟tage 合成器。 当前的音乐制作场景令人兴奋,请不要误会我的意思,但我发现自己最常使用“过时”的键盘。
- 80 年代中期的仪器的一个缺点有时是缺乏可编程性。 对其中一些进行编程可能很乏味,而且第三方软件通常不支持 SysEx 协议这一事实也无济于事。
- 无论如何,有两种方法可以解决这个问题:软件(谁说 Ctrlr?)和硬件。
- 不用说,我们在这里处理的是硬件解决方案。
- 我(我认为)已经提高了黄金时代一些标志性乐器的可编程性,如 Roland a-Juno、Oberheim Matrix 6、Korg DW8000、SCI Multitrack 和其他基于 arduino MEGA 的组合 SysEx 编程器和音序器。 我最近沉迷于 Raspberry Pi Pico 微控制器板让我回想起如何解决这个问题。
- Raspberry Pi Pico 是一种便宜且功能强大的微控制器,它是我最近最喜欢的选择。 我正在为新项目采用它,但也会重新审视我的一些旧项目。
- 随着 I9C 的内存限制消失(但 GPIO 数量有限),我最终得到了一些具有非常不同的接口和工作的东西:相对于以前的项目。
- 更好的? 更差? 你决定🙂
补给品
遵循物料清单 (BOM):
- 微控制器、集成电路、显示器
- 1x Raspberry Pi Pico(30 GPIO 克隆)
- 1x 6N138 光电耦合器
- 1x 1602A LED 显示屏
- 电容器、电阻器和微调器
- 3x 220 欧姆电阻
- 1x 330 欧姆电阻
- 1x 10K 欧姆电阻
- 2x 1000 欧姆微调器
1x 100nF 非极化电容
- 二极管和编码器
- 1个1N4148二极管
- 1个1N4004二极管
- 2x 增量光学编码器
- 其他的
- 2x 锅旋钮(可选)
- 1x 直流桶
- 1x B3F 4050 Omron 瞬时按钮
- 2 个 MIDI (DIN 5) 连接器
产品布局




安装说明
第 1 步:程序员功能
- PICO MIDI SysEx programmer 主要功能有:
- 内置LED显示屏
- 仅需两个旋转编码器和一个按钮即可进行简单操作
- MIDI 输入,用于串行操作
- 开放式固件
- 是的,从技术上讲,那些旋转编码器有一个内置按钮并且实际上正在使用中,所以按钮数是“三个”,而不是“一个”。
- 编程器应放置在您的主控制器和您要为其创建补丁的合成器之间。
- 这使得在播放序列时实时修改参数成为可能,并将您想要从主控制器传递到目标合成器的任何其他 MIDI 消息传输。
- 目前支持的合成器有:
- 罗兰阿尔法朱诺 (1/2)
- 科格 DW8000/EX8000
- Oberheim Matrix 6/6R(> 2.14 固件)
- 正如在接下来的几个步骤中更详细地描述的那样,软件级别的参数显示和分组在该项目中起着重要作用。 继续阅读以获取更多详细信息🙂
第二步:硬件描述
- 界面
- 在这个程序员中,我想采用与之前项目相反的方法:界面元素在这里保持最少,只有两个旋转增量编码器和一个菜单按钮(好的:三个按钮)。
- 对于生来就面对 80 年代中期合成器缺乏可编程性的程序员来说,减少旋钮的数量似乎是一种倒退。 如果您考虑使用一个 rmware 的 sinergy,其中所有参数都被合理分类(请参阅下一步)并且 LED 显示屏实时显示补丁参数分类、名称和值,则不是。
- LED 显示屏
尺寸合理的 LED 显示屏使配接更加愉快,尤其是当您想花时间在上面时。 我之前的硬件程序员项目配备了一个微型 OLED 显示屏。 对于该硬件来说已经足够了,因为显示的信息仅限于序列属性,但在这种情况下,所有补丁参数名称都是可见的,不需要比较表。 - 微控制器
- 如前所述,使用的微控制器是 Raspberry Pi Pico。 该微控制器在计算能力(高达 133Mhz,双核)和内存存储(高达 16Mb)方面都非常强大。 这个巨大的——按照今天的标准——内存允许在 rmware 中包含冗长的字符串,使新方法可以被采用。
- Raspberry Pi Pico 目前也很便宜,所以……
- MIDI
- MIDI IN 和 MIDI OUT 电路都是内置的。
- MIDI OUT 是必须的,才能发送 MIDI 消息,绝不能遗漏。
- MIDI IN 也是必需的,因为在连接编程器时,合成器无法以其他方式从任何其他乐器(即主键盘或 DAW)接收消息。 这意味着修补和排序阶段必须分开/不同。 使用内置的 MIDI IN 电路,您可以同时运行音序和修改音色(即您可以实时发送漂亮的滤波器扫描)。
- MIDI IN 电路是一个符合 MIDI 协会规范的光电隔离电路。 太阳底下没有新鲜事。
- 电源
- SysEx 编程器可以通过两种不同的方式供电:直接从微控制器板的 USB-C 连接器供电,或使用安装在 PCB 上的直流电筒。 两者都是合法的,但我更喜欢最新的,因为:
- DC桶更坚固
- 直流桶输入直接与绕过内部
串联二极管保护。
- 必须使用中央正极 PSU。 即使存在反极性保护二极管,您也不想应用反极性,因为它可能会损坏您的 PSU(不是编程器,因为在这种情况下二极管保护会短路 GND 和 +5V)。
- SysEx 编程器可以通过两种不同的方式供电:直接从微控制器板的 USB-C 连接器供电,或使用安装在 PCB 上的直流电筒。 两者都是合法的,但我更喜欢最新的,因为:
- 微控制器板
我已经对 Raspberry Pi Pico 微控制器板赞不绝口。 在这里我只想添加一个警告。 这个微控制器板有两个版本(如果我们忽略了一个事实,你可以购买它,内存范围从 2Mb 到 16Mb)。 在这里,我一直在使用 30 针克隆,它具有与 oKcial Pico 不同的引出线。 目前,9Mb 版本就足够了。
第 3 步:程序员参数分类
- 以顺序方式(一个接一个)滚动浏览 30 多个参数是不切实际的。 尽管如此,该程序员声称简化了支持合成器的“单数据滑块”界面。 那个怎么样?
- 对我来说,瞄准目标的一个可能解决方案是在类别中对参数进行分组。 分类通过减少参数的数量使参数更容易访问,并且更容易实际定位它们。
- 分类遵循所有支持的合成器的相同原则,并且在我的意图中,类似于我们钟爱的模拟合成器的典型物理块结构:振荡器 -> voltag电子控制过滤器 -> 音量tag控制 amp骗子。 接下来是调制源和效果(更多细节在下面
- 科格DW8000
- DW8000(和 EX8000)补丁参数已经由 Korg 很好地设置好,因此程序员分类盲目地遵循前面板分组。
- 参数分为 8 个类别:
- 振荡器1
- 振荡器2
- 卷tage 控制过滤器
- 卷tag电子控制 Amp利尔
- 低频振荡器
- 车轮
- 数字延迟
- 其他(滑音)
有关子目录的详细信息,请参阅步骤标题表。
- 过滤和 amp每个人都有一个专用信封。 在这种情况下,包络参数被分组到 voltage 目标的受控元素。
- 支持所有 DW8000 参数,MIDI 模式/通道除外。
- 罗兰朱诺
- 即使 Roland a-Juno 的补丁参数数量有限,它们在 MIDI 实现中的顺序也是支持的合成器之间最混乱的。 我花了一些时间以类似于前面板序列的方式对 MIDI 实现进行分组(即使不相同)。
- 不过,任务完成了:
- 振荡器
- 卷tage 控制过滤器
- 卷tag电子控制 Amp利尔
- 信封
- 低频振荡器
- 合唱和弯曲
有关子目录的详细信息,请参阅步骤标题表。
- 程序员支持所有 36 个 Roland a-Juno 参数。 单个(可分配的)包络参数分组在一个专用组下。
- 奥伯海姆矩阵 6
- Oberheim M6/M6r 是同类产品中最先进的合成器,即使与当今的乐器相比也具有令人难以置信的路由复杂性。
- 时间告诉我们,“复杂性”在音乐制作领域可能是一把双刃刀,而直接参数操作可能性的缺乏使 Matrix 6 成为声音工程方面最被低估的“声音工厂”之一。
- 在合成器支持的 99 个参数中,“只有”52 个包含在 Programmer rmware 中。 我将它们分为 9 组:
- 振荡器1
- 振荡器2
- 卷tage 控制过滤器
- 卷tag电子控制 Amp利尔
- Ramps
- 信封 1
- 信封 2
- 低频振荡器 1
- 低频振荡器 2
有关子目录的详细信息,请参阅步骤标题表。
- 我试图通过省略第三个包络、跟踪点、点击等方程来将参数限制在合理的数量。无论如何,由于 Raspberry Pi Pico 内存大小,可以处理所有这些。
- 程序员未处理的参数不会“禁用”,但无论如何都可以通过合成器面板访问!
- 矩阵调制太复杂而无法包括在内,因此被排除在外。



第 4 步:如何使用
- 首次开机时,会显示合成器选择和 MIDI 通道菜单页面。
- 旋转 LEFT 旋钮(PARAMETER 旋钮)以选择目标合成器正在收听的 MIDI 通道。
- 旋转 RIGHT 旋钮(VALUE 旋钮)以选择您要将 MIDI 消息发送到的合成器。
- 每次重置编程器时都需要执行此操作。 由于 rmware 的开源特性,永久更改定义起始合成器和 MIDI 通道的两个变量非常简单。
- 现在我们可以通过按“菜单”按钮退出菜单模式。 要更改任何支持的补丁参数:
- 旋转左侧旋转编码器(PARAMETER 旋钮)以选择感兴趣的参数类别(LED 显示屏上部的名称)
- 按下左侧旋转编码器按钮切换到实际参数选择(名称在 LED 显示屏的下部)
- 通过旋转左侧编码器(PARAMETER 旋钮)选择您要修改的实际参数
- 将右侧的旋转编码器旋转到所需的参数值。 您可以通过按下右侧的旋转编码器按钮将参数值 10×10 递增
- 一旦为“实时”修补更改了值,修补程序参数值就会被 MIDI 传输。
- 对您感兴趣的任何参数重复该过程。
- 如果您想返回菜单屏幕,只需按菜单按钮即可。
- 请注意:
- 当 Programmer 在关闭后首次打开时,或者当您在菜单中选择不同的合成器时,Programmer 的参数都被初始化为“零”值。
- 更改参数值时,只要编程器未被重置或关闭,该值就会保留在内存中。
- 如果您从合成器前面板更改参数值,Programmer 参数不会更新(它们不同步)。
>>这里<<是最新版本的草图存储库(Github)。 作为开源,欢迎您随意修改草图并修复错误(请参阅下一步)😉


第 5 步:草图限制/错误
- 当前的初步草图还有重大改进的空间。
- 在前ample,我们可以添加一个功能来保存 MIDI 通道和合成器,而不是每次打开 Programmer 时都必须在启动时选择它。 考虑到仍然可用的内存量,支持其他一些合成器也很好。 获取和存储当前补丁参数并同步编程器和合成器也很好。
- 我还必须报告代码的第一次迭代中的几个烦人的错误。 第一次转动两个光学编码器中的一个时,一个库(我想它是 LCD 库,但我不确定)初始化并使编程器在几秒(两三秒)内没有响应。 没什么大不了的,但很烦人。
- 另一个错误是丢失了一些 SysEx 发送(每个光学编码器转动都被记录下来,但有时没有任何内容被传输到 MIDI 输出)。 这肯定是 x 的事情。
第 6 步:致谢
- 本 Instructable 中图片中的 PCB 由 JLCPCB 赞助,这是一家专门生产高可靠性和成本效益 PCB 的高科技制造商。
- 他们提供灵活的 PCB 组装服务,拥有超过 9 个库存元件的庞大库。 350.000D 打印“最近”被添加到他们的服务组合中,因此人们可以在一个地方创建完整的成品!
- 他们的客户服务响应迅速且乐于助人,PCB 物超所值。
- 他们对实现这个项目的贡献非常重要……非常感谢! 🙂
- 通过此链接(相关链接)在 JLCPCB 网站上注册,您将收到一系列订单优惠券。 注册不需要任何费用,所以这可能是一个尝试他们服务的好机会😉


文件/资源
![]() |
PICO MIDI SysEx 修补程序 [pdf] 使用说明书 PICO MIDI SysEx Patcher,MIDI SysEx Patcher,SysEx Patcher,Patcher,PICO MIDI SysEx |





