小编一直有着一个钢琴弹奏的梦想,但是苦于没有这样的基础,所以很难在实际生活中弹奏出一曲美妙的钢琴曲,不过,为了实现自己的钢琴梦,我决定用python来帮我实现。
今天,小编就带领大家利用python来实现钢琴的弹奏,力图让大家在读完本篇文章后,也能利用我们的程序实现简单的钢琴演奏。最后的结果演示里,也为大家奉上彩蛋。闲话少说,咱们直奔主题。
01.编辑乐谱
首先,我们要弹奏一首乐曲,总得看得懂这个乐谱吧,小编虽然也不是很懂的乐谱,但是临时抱拂脚,也算是基本懂一点简谱了。下图是小编找到的关于《黑人抬棺》的钢琴简谱中截取的一段。
为了简单理解,上面一共是4拍,其中数字1到7分别是代表的do到si。带下划线的两个5代表的是一拍,单个的下划线表示的是二分之一拍。数字上面的点表示的是高八度,然后有几个点就依次累加即可。#键代表的是将音符升高半音。以上就是小编对于简谱的一些简单的理解,如果有音乐方面的高人,还请在后面补充,方便大家更好的理解。现在我们以上面的乐理知识为基础,看看如何利用python来弹奏乐曲吧。
02.设定钢琴键发音
我们在本地文件夹中保存了每个钢琴键的发音,然后接下来,我们以一首《新年好》为例,介绍一下程序是如何运行的。
对于弹琴的按键发音功能,我们用到的是mp3play来加载mp3文件,然后进行播放,程序和效果如下:
03.实现连续发音
一个按键完成了,那么对于多个独立的按键,我们怎么实现他们的连续发音呢,这里就要用到线程了,程序如下:
上述的程序便是我们的核心程序,我来给大家解释一下:
1).首先,对于opern元组里的每一个元组变量,其第一个值代表的是哪一个钢琴键,第二个变量代表的是在按下一个键时需要延时的时间,用来控制歌曲的节拍。
2).然后,我们一个个的开启线程,便可以模拟按键来弹奏音乐了。
3).这里的线程就好比我们弹奏钢琴时按不同的键,因为不同的键是相互独立,不影响的,而这里使用线程就是达到这样的目的。
最后小编为大家展示一下弹奏的效果,分别是《新年好》以及最近很火的《黑人抬棺》的钢琴演奏:
(记得一定要花30秒听一下哦)
怎么样,是不是有内味了呢,相信大家通过这篇文章,也能够很快的上手python的钢琴弹奏,大家可以从简单的乐曲入手,试着去演奏一下,过一把钢琴演奏家的瘾。
本篇源码视频正在录制当中,会在我们的B站首发,欢迎大家去围观!
-
用Python做一个弹球游戏
-
10行Python代码实现美图秀秀
-
用Python做一个元宵节灯谜
-
我用Python集齐五福
-
50行代码,用Python批量做海量小姐姐的素描图
-
用Python做一个缩放自如的圣诞老人
-
用Python分析“青春有你2”109位小姐姐
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 初学者学C语言还是学Python10/31
- ♥ python3时间是多少时间?如何转换?12/18
- ♥ Python文件读取()方法10/20
- ♥ python列表有什么特点10/01
- ♥ 学会最简单的数据库|看完这7招就够了03/05
- ♥ 最流行最实用的python插件,你用过吗?11/05
内容反馈