单片机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年5个月前 - 2016/07/21 22:55:42]

来自:电子信息 / 电子技术
13
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也

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

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

已走,勿送

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

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