您的位置:首页 > 编程语言 > MATLAB

步进电机 MIDI 音乐 MATLAB+STM32

2018-01-01 16:53 295 查看
在网上看到了很多用步进电机演奏音乐的小视频,感觉很有意思。正好也是2017年的最后几天了,那就鼓捣一下。
 
整个制作周期耗费将近一天,分为两块:1.MIDI音乐格式的编码及提取;2.Stm32控制步进电机的演奏。
 
首先要解决MIDI音乐文件的读取,变成我能理解的格式。在这里我采用MATLAB进行读取,从其帮助文件中找到了一个叫midiread的函数,可是也看的不太懂。之后百度,发现GitHub有人做了相关的工具库。果断下载并运行了一下,可以运行。顺便还发现其包含了90多页的手册,这是良心队友。从中选取所需音轨,然后读取每个音节延续时长(Duration)、所用频率(Fy)、停顿时长(dOnset),并转成字符串形式,这样可以直接复制到Stm32代码里。
 
之后是编写stm32代码,没啥技术含量,两个定时器,一个做整体时长,一个做频率发生器。由于长时间不写代码了,出了很多低级的错误,导致耗费了一天。最后控制一个步进电机转动演奏音乐。步进电机可以分频,也可以不分,效果有些不一样。
 
所有代码已经上传到CSDN上,检索“步进电机 MIDI 音乐 MATLAB+STM32源码下载实例”。
 
 


演奏效果:http://v.youku.com/v_show/id_XMzI3NzEzNzg2MA==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2
代码打包下载:https://download.csdn.net/download/fengyuzhe13/10290052
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: