单片机MIDI控制器设计
novakon2014/02/19电子技术 IP:天津
本帖最后由 novakon 于 2014-2-19 19:30 编辑

1. 什么是midi

(通常来说)midi是一种能够让电子乐器与计算机音乐软件,或者让计算机音乐软件与电子音色合成器通信的协议,协议包含软硬件规范。

2. midi控制器是什么

通过midi通信,能够控制计算机音乐软件的电子装置。

3. 硬件怎么连接

硬件上使用5针圆口(有点像老式键盘口)。两个用线缆连接起来的接口,两端针脚一一对应,其一端为发送,另一端为接收;这是因为大部分情况下,midi通信都是单向的。

QQ截图20140219184253.png
我买了这一条USB转MIDI线缆,有IN和OUT两个接口,因为这里只需要发送信息到电脑,故只需要使用IN接口

midi通信,底层协议是TTL串口通信,波特率固定为31250,通过发送不同的字节表示不同的命令和参数。故,可以用单片机的串口实现midi通信。

这里有一个5针插座,用它和万用板搭一个接口电路,把脚都引出来。led不是必需的,只是为了指示工作状态。
DSC_9888.jpg
DSC_9889.jpg
DSC_9892.jpg

为了实现不同对地电平器件间的通信,硬件上midi通信双方是不共地、光耦隔离的。可以把发送方理解为用信号驱动发光二极管,接收方则是用光敏三极管还原信号。
具体电路接法,以及midi命令、规范等等,请看: XXXXXXXXXXXXXXXXXXXXXXXXXX/~gary/306/week2/XXXXXXXXXXXXml

简单的说就是单片机串口发送脚TX接到第5脚,单片机电源5V接到第4脚,发送字节时TX脚拉低(平时为高),与电源产生电压差,驱动接收端的发光二极管。其他不再赘述,请参考上面所述网址。
我相信这条USB-MIDI线不会坑爹,所以该串的电阻我都没有串。为了防止短路损坏单片机IO,应串联电阻。

DSC_9886.jpg

4. 软件发送什么

请参考链接网页中的表格,此处不赘述。在这个例子里面,按下按键发送的是note-on(音符开始),释放按键发送的是note-off(音符结束)。
第一个字节是命令,第二个字节是音高,第三个字节是按键力度。

参考我的STM8代码:



5. 看视频吧。软件是FL Studio

点击此处查看视频

[修改于 8年6个月前 - 2016/07/21 22:55:42]

来自:电子信息 / 电子技术
13
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
属于
10年11个月前 IP:未同步
671263
可以用在灭弧上的话  就可以DR演奏音乐了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ry7740kptv
10年11个月前 IP:未同步
671266
最近要刮MIDI风啊?
那种十来块钱的线实际上是牛屎的CH345T,不太稳定,而且CH345T在Win下的驱动有bug,系统指令(F0~F7)会被截断,只能出前四个字节,略坑。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
最高主机泡泡
10年11个月前 IP:未同步
671267
ry7740kptv 发表于 2014-2-19 20:24
最近要刮MIDI风啊?
那种十来块钱的线实际上是牛屎的CH345T,不太稳定,而且CH345T在Win下的驱动有bug,系 ...


用PL2303可以么。。虽然这芯片有些臭名昭著,可是我用着感觉还不错。。而且便宜
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ry7740kptv
10年11个月前 IP:未同步
671271
baiwenglong 发表于 2014-2-19 20:28
用PL2303可以么。。虽然这芯片有些臭名昭著,可是我用着感觉还不错。。而且便宜


PL2303是USB转串口,非USB转MIDI,设备类型就不一样,虽然MIDI也是串口协议的。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
光谱
10年11个月前 IP:未同步
671315
baiwenglong 发表于 2014-2-19 20:28
用PL2303可以么。。虽然这芯片有些臭名昭著,可是我用着感觉还不错。。而且便宜


我也是。。。手头不知什么时候起攒出来一把2303。。。结果现在玩GPS模块,单片机什么的全是用这个。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
1731397850
10年11个月前 IP:未同步
671321
分析纯_金 发表于 2014-2-19 23:46
我也是。。。手头不知什么时候起攒出来一把2303。。。结果现在玩GPS模块,单片机什么的全是用这个。。。


关键时刻这芯片坑到死,速率还不能太高,不如FTDI的 Ft232 虽然价格贵点,但是 功能多,而且速度快,还稳定 2303这个东西 假货太多了 ,我都怕了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liu000888
10年11个月前 IP:未同步
671396
微软已经放弃PL2303了,win8系列已经不支持了
膜拜一下lz的kcstm8.h……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
最高主机泡泡
10年11个月前 IP:未同步
671414
一起来膜拜下KCSTM8.。。。看了看这库太牛了。。。
已经计划玩玩STM8了。。。功能强大啊
另外FT232的价格足足是PL2303的十倍还多。。。我还是用PL2303吧
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kayintj
7年1个月前 IP:四川
841599
您好,请问代码是撤下了是吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kayintj
7年1个月前 IP:四川
841600
您好,请问代码是撤下了是吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
novakon
学者 机友 笔友
文章
1256
回复
8386
学术分
16
2008/03/29注册,2年11个月前活动

已走,勿送

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}