Cantor 模拟风琴前段时间出现严重故障,被改装成 MIDI 控制台,用于控制 VPO(虚拟管风琴)等软件。然而,只有手动键盘(手册)和踏板键盘通过 ATMEL89S52 芯片上构建的两个接口连接到两个独立的 MIDI 输出,一个在键盘的右侧,一个在键盘的左侧。这是一个具有成本效益的解决方案,但是将计算机与 GrandOrgue(又名 Hauptwerk)连接起来相当麻烦。
您必须使用两根电缆和两个 MIDI-USB 接口或一个双接口。
此外,与主寄存器和组寄存器的板子根本没有连接。必须在监视器屏幕上更改风琴声音。带GO的电脑和显示器不得不放在管风琴外面,这也降低了演奏的舒适度,占用了空间。
我决定把注册开关和组注册连接起来,把电脑藏在风琴的木壳里。如果可以通过寄存器启用语音并且 GO 是从自动启动启动的,那么屏幕监视器将是多余的,可以省去。最终,仅在更改软件配置时才连接它。
我决定使用 Arduino Nano 来连接寄存器。我使用 Surface_Controll 库 在 Arduino IDE 中编写了程序。为了将 39 个开关连接到数量有限的 Arduino Nano 引脚,我需要创建一个带有二极管的矩阵。在这种情况下,在第 14 行(3 组寄存器开关加上 10 组寄存器开关)的 4 列组织中构建矩阵相对容易。
矩阵列连接到引脚 13、A5、3、2 和最多 4、5、6、7、8、9、10、11、12、A0、A1、A2、A3、A4 的线。为了使引脚 13 在矩阵模式下工作,您必须在此引脚上拆焊 Arduino Nano 中标准的 LED。
TX 和 RX arduino 引脚分别是 TTL 电平上 MIDI 信号的输出和输入。Arduino 将接收到的 MIDI 消息从引脚 RX 转发到 TX。我将支持踏板键盘的 89S52 芯片的 MIDI 输出连接到 RX 引脚,TX 引脚通过 220 欧姆电阻连接到第一个 MIDI-In MERGER。第二个 MIDI-In MERGER 已连接到支持两个手册(手持键盘)的第二个 89S52 芯片的 MIDI 输出。我将 Merger 的 MIDI 输出连接到基于重新编程的 Arduino UNO 制作的 MIDI-USB 接口。https://doremifasollasi.wordpress.com/jak-przerobic-arduino-uno-w-interface-midi-usb/
Arduino UNO 上的 ATMega328p 处理器通过向上弯曲它来断开 TX 尖端,这样就不会与来自 MERGERA 的 MIDI 信号发生冲突,这会影响 Arduino UNO 的引脚 1 (TX)。我将此 ATMega328p 编程为 MIDI 消息解码器。它在通道 13 上接收 noteON 和 noteOFF 消息,并打开或关闭相应的输出 LED。引脚 13 上的 LED 点亮值为 71 的 noteON 消息。这是由 GrandOrgue 程序在加载样本并突出显示噪声电机寄存器后发送的。连接到 Arduino UNO 引脚 13 的发光 LED 表示样品加载完成,GrandOrgue 已准备好工作。
带有 openSuse Linux 和 VPO 的 Lenowo 计算机(i3 / 8GB RAM)——GrandOrgue 软件从它的锡壳中取出,并安装在一个木制的 Cantor 风琴柜中。
我将计算机的音频输出连接到现有的原始放大器,该放大器与安装在风琴柜中的 4 个扬声器一起工作。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !