7184| 0
|
[入门教程] 【掌控】【BXY】micropython music音乐库及相关资源探索(1) |
掌控的固件升级后完全兼容了micro:bit的音乐库,而如何把一曲简谱转化成音乐库代码,以前在用BXY时没搞清楚,现在做掌控音乐时也不明白。 论坛中相关帖子:1.有了新固件,我的掌控会“唱歌” https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=272106 2.玩转micro:bit-用BXY玩警笛声 https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=37178 3.还有一个来自micropython中文论坛邵老师的消息音乐了。 http://www.micropython.org.cn/bb ... thread&tid=2005 ![]() 有了micro:bit和掌控板对自定义音乐的需求,不如今天好好探索一下。 ![]() 先来一首曲子:(这个代码以掌控为例,如果用于micro:bit,只需去掉第一行代码,或者将mpython库改写成microbit) [mw_shl_code=python,true]from mpython import * import music # Whilst music.set_tempo(ticks=16, bpm=160) # bpm 每分钟节拍数 tune = ['F5:16', 'A', 'R:8', 'A', 'G:16', 'F', 'A#', 'A#', 'A', 'G', 'A', 'C6', 'C', 'B5', 'C6:48', 'A5:16', 'D6:24', 'C:8', 'A#5:16', 'A', 'G', 'F', 'E', 'A', 'G', 'F', 'F', 'E', 'F:48'] music.play(tune) [/mw_shl_code] 1.播放音乐:[mw_shl_code=python,true]import music music.play(music.NYAN)[/mw_shl_code] 注意:导入music模块;它包含生成和控制声音的方法。 Micropython包含许多内置音律,你可以使用如下旋律演示:
2.创建自己的曲调很容易! 每个音符表示为一串字符是这样的: NOTE[octave][:duration] 每一个音符都有一个名称(比如C调或F调),音阶(向Micropython传递音符音调高低)和周期(音调的持续时间)。 音阶由数字表示。0是最低阶,4代表中音C调,8是最高音阶。你应该不会用到8,除非你想魔音穿耳。 周期也是由数字表示,数字越大持续时间越长。不同周期值之间互有联系,比如说周期4的持续时间是周期2的两倍等等。 如果你调用周期R,Micropython会在指定周期内不发声。 其实最难懂的就是上面这一段,表示音乐0基础的我根本还是不明白啊。这完全就是音乐老师的世界啊。 ![]() 例如,“A1:4”表示1个为A的音符在八度音阶持续播放“4”周期。 列出的基调来创建一个旋律。 例如,下面是如何使MicroPython播放“Frere Jaques”: [mw_shl_code=python,true]import music 3.函数tune=["C4:4","D4:4","E4:4","C4:4","C4:4","D4:4","E4:4","C4:4","E4:4","F4:4","G4:8","E4:4","F4:4","G4:8"] music.play(tune)[/mw_shl_code] music.set_tempo(ticks=16, bpm=160) 设置播放的速度,一个音节(表示为整数)构成一个节拍。每个节拍将以每分钟的特定频率播放。 建议的默认值允许以下有用的行为:
[mw_shl_code=python,true]#命运交响曲 B5=['4:2', 'g', 'g', 'g', 'eb:8', 'r:2', 'f', 'f', 'f', 'd:8'] music.play(B5) #两只老虎 tune = ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4", "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"] music.play(tune)[/mw_shl_code] 本教程学习资源来自: http://docs.dfrobot.com.cn/bxy/music.html BXY帮助文档 http://www.micropython.org.cn/bbs/ 邵子扬老师:精心打造的micropython中文论坛 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed