回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

多功能双人无线乐器 简单

头像 qyj133 2021.04.19 1319 4

孩子要参加学校的艺术月活动,说要把家里的架子鼓带到学校去,当初架子鼓买回来我对着说明书折腾半天才组装好,要待学校这可怎么办。头都大了。不行做个简单便携的拿在手里就可以演奏的乐器去参加活动,我想应该也不错。

创客做乐器的案例很多,自己不懂乐器,但还是想尝试一下。由于好好搭搭的MIDI模块使得这个想法很快变成了现实。

注:MIDI(Musical Instrument Digital Interface)乐器数字接口,解决电声乐器的通信问题,MIDI传输的不是声音信号,而是音符、控制参数等指令,它指示MIDI设备要做什么,怎么做,如演奏哪个音符、多大音量等。它们被统一表示成MIDI消息(MIDI Message)。haodaMIDI采用入门级硬音源芯片,5颗高品质钽电容保证音质。可以接入各种控制器控制如microbit、掌控、好搭酷、Arduino、徽章板等。haodaMIDI硬音源带耳放,可以接耳机播放。硬音源带127种乐器音色,60余打击乐器,可以图形化编程,控制简单,完全可以制作各种电声乐器,或自动演奏乐器(相当于一支乐队)。

这个项目呢是掌控版结合好搭的MIDI模块,制作可选乐器类型的一款多功能双人无线乐器。为什么是双人无线呢呢?这个项目使用三块掌控版,两块时演奏端,一块与好搭的MIDI模块连接实现播放,三块板子使用无线通信。

好搭的MIDI模块在很多图形化中都有相应的图形化模块,在我使用mpythonX时,没有找到图形化模块,所以也只能研究研究好搭的MIDI模块具体的原理。

步骤1 好搭的MIDI模块控制代码

haodaMIDI通信息协议为异步串口协议,波特率为312500,只要向通过信号线S发送MIDI控制指令,就能驱动haodaMIDI发出各种乐器的声音。

haodaMIDI有16个通道,其中第10通道是打击乐节奏通道,标准MIDI协议就可以通道,部分控制指令(三字节)案例

切换通道音色

第一字节:C+通道4b,第二字节:通道音色(0-127),第三字节同第二字节

示例:0xC0  0x02  0x02,表示把第一通道的音色切换为电钢琴

演奏音符

第一字节:9+通道4b(除10通道),第二字节:音符(0-127),第三字节力度(音量0-127)

示例:0x90  0x48  0x32,表示向第一通道发送4音阶的音符C,力度是50。

演奏打击乐

第一字节:99(第10通道),第二字节:打击乐器名,第三字节力度(单量0-127)

示例:0x99  0x35  0x64,表示大鼓发音力度为100

 

以上内容来自好搭的官网介绍,明白了以上内容后,在实际制作过程中就相对容易一些了,每次乐器切换、音符变换等都与串口写入内容息息相关。

步骤2 材料清单

材料清单

  • 掌控版 X3
  • 百灵鸽扩展板 X2
  • 掌控宝扩展板 X1
  • 好搭MIDI模块 X1

除了以上器材,还需要细软线、螺丝、螺杆、垫片、纸盒子、导电胶带等。

project-image

从单位找了线,找了螺丝垫片等。

步骤3 程序编写

接收端程序截图

project-image
project-image
project-image

发送端程序截图:

两个发送端程序类似,执法一个,全部程序见附件。

project-image
project-image

步骤4 项目制作

project-image
project-image

因为使用的扩展板都有自带电源,板子间无线通信,所以连接比较容易。

步骤5 最终效果

project-image
project-image

现在由乐盲来演奏一曲!

步骤6 附件源程序

评论

user-avatar
  • 莫库什勒

    莫库什勒2021.04.28

    特别不错呢

    0
    • rzegkly

      rzegkly2021.04.27

      导线和掌控板的连接是用什么材质?

      1
      • qyj133

        qyj1332021.05.02

        啥胶带都可以,只要保证导线与掌控接触良好就可以了。

    • rzyzzxw

      rzyzzxw2021.04.20

      特别赞啊

      0