为树莓派增加MIDI接口

一、硬件连接

材料准备:

1、光电耦合器 6N137

2、电阻10K一只、电阻220Ω一只。

原理图如下


引脚对应关系:

6N137引脚           MIDI母座引脚

    2                              4

   3                               5

   5(GND)                2(GND)


电路连接完成后,接下来是软件方面的配置。


二、软件安装

1、安装ttyMIDI和libasound2-dev

2、配置boot/下的cmdline.txt和config.txt


下面来安装libasound2-dev和ttyMIDI:

$ sudo apt-get install libasound2-dev


$ wget http://www.varal.org/ttymidi/ttymidi.tar.gz


$ tar -zxvf ttymidi.tar.gz


$ cd ttymidi/


$ make


$ sudo make install

如果有make不成功的情况,打开ttymidi目录下的makefile文件,在gcc src/ttymidi.c -o ttymidi -lasound末尾加 -lpthread。


即:

gcc src/ttymidi.c -o ttymidi -lasound -lpthread


保存以后再make并sudo make install。


安装成功如下图



接下来配置boot/下的cmdline.txt文件,将console=serial0或者console=ttyAMA0,115200之类的删掉,修改后如下

dwc_otg.lpm_enable=0 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

保存,接着修改boot/下的config.txt文件,在末尾添加如下几行:

enable_uart=1
dtoverlay=pi3-miniuart-bt
dtoverlay=midi-uart0

到此,软件方面的配置完成。

其原理大概是树莓派的串口原来已被蓝牙占用,配置cmdline.txt移除所有与ttyAMA0之间的关联之后才释放;

dtoverlay=pi3-miniuart-bt

dtoverlay=midi-uart0

这两行意思是解除蓝牙与串口的关联,并将串口强制配置为31250波特率;输入如下命令查询串口对应关系:

ls -l /dev


serial0对应ttyAMA0说明成功。配置之前ttyAMA0和ttyS0关系是相反的。


三、软件应用

输入命令

ttymidi -s /dev/ttyAMA0 -b38400 -v



运行JACK Audio Connection Kit,打开Connect界面,ALSA选项卡将出现ttymidi,此时你可以连接任何音序器或者合成器软件了,通过成本低廉的元件制作出MIDI输入接口,你可以将树莓派当成音源合成器使用,无需繁琐的USB-MIDI线,也不需要购买昂贵的pisound模块。


参考文献:

http://www.instructables.com/id/PiMiDi-A-Raspberry-Pi-Midi-Box-or-How-I-Learned-to/


发布了24 篇原创文章 · 获赞 17 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/huanghaoAudio/article/details/79827673