arduino编乐谱_把乐谱播出来,自制简谱播放库

本文介绍了如何使用Arduino创建一个简谱播放库,通过解析自定义的简谱数据格式,实现将简谱转换为音乐播放。作者详细阐述了数据表示、解析和播放的过程,并提供了程序代码链接。
摘要由CSDN通过智能技术生成

关注我们微信的童鞋可能还记得,昨天我发了一章关于UNO+喇叭就可以播放歌曲的文章。

文章到最后也没有完成整个天空之城歌曲。因为实在是太麻烦了。。

于是今天就苦思冥想,想借此机会整理出一个简谱的播放程序。借此来播放所有简谱写成的歌曲。既能提高复用性,也很有趣。先来看看成果吧。

那么既然要写库,我们来一步步分析我们要完成的工作吧:

1、如何把简谱用程序里的数据表示出来。

2、表示出来的数据如何解析。

3、解析出来的数据如何播放。

来看看我分解出来的三个问题,可以看到第三个问题非常简单,之前的文章已经解决了这个问题。一个普通的UNO+一个小喇叭+Arduino的tone函数就可以搞定。

一、那么先来解决第一个问题:

如何把简谱用程序里的数据表示出来。

这里设计到我们如何来设计这个存储数据的结构的问题。一开始我是想兼容现有的乐谱的格式的。现有的乐谱格式倒是有一些,但是却没找到相关的资料,所以也没办法兼容了。

所以我只能做一个没办法的办法,自己设计这个数据。

Arduino使用的是C++语言,数据处理相比较起高级语言是比较麻烦的,而且芯片本身速度也比较慢,所以我选择的是最简单的方案,用字符串来存储。

那么问题来了,我们有哪些数据需要保存?先来看看简谱。

看了谱子眼花缭乱。。。简单介绍下:

数字代表音调 1234567分别代表do re mi fa sol la xi

数字下面的点代表下降一个8度

数字上面的点代表上升一个8度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值