python入门系列1——用Beep函数手动实现7个音符的播放
今天学了python,参考练习题,本来是找倍数的,但是想到找到之后发个提示音岂不是很有意思,然后就找到了这个函数,进而想到做个7阶音符玩玩。
7个音符差别在哪
关于乐理知识就不过多介绍了,我也是一个音乐小白。我们日常所说的7个音符主要是频率不同,这样也造就了我们的音乐世界。
低音音符:
do 262
re 294
mi 330
fa 349
so 392
la 440
si 494
中音 do 523
Beep函数介绍
##Beep(Freq,Duration)
##Freq:频率
##Duration:时长,以毫秒计
实际操作一下
1.怎样调用Beep函数
import winsound
winsound.Beep(262,1000) #频率为262,时长为1s;实际时长似乎要偏少一些
2.程序实现
##对应7阶音符
##思路:1-8的数对8取余,余1-7,对应7阶乐符;余0时,对应高阶do的音符
import winsound
for i in range(1,9):if i%8==1:winsound.Beep(262,1000)elif i%8==2:winsound.Beep(294,1000)elif i%8==3:winsound.Beep(330,1000)elif i%8==4:winsound.Beep(349,1000)elif i%8==5:winsound.Beep(392,1000)elif i%8==6:winsound.Beep(440,1000)elif i%8==7:winsound.Beep(494,1000)else:winsound.Beep(523,1000)
这就是我用python做的第一个有意思的程序啦
展望:还可以用这个函数对已经编码好的简谱进行演奏,也就基本上实现了一个简陋播放器的原型;现在要做的就是学习乐理知识,然后将什么音调,节拍写成程序。
谢谢各位阅读,如有错误,还望不吝指教!
参考文章:
1.《C++中发声函数Beep详解》 weixin_30295091
2.《python控制电脑Beep()蜂鸣器函数制作简易播放器》 技术宅AI代码控加粗样式
3.《VC用发音函数Beep()播放简易音乐》 C_S_D_N_USER
python入门系列1——用Beep函数手动实现7个音符的播放相关推荐
- 音乐python播放函数-python入门系列1——用Beep函数手动实现7个音符的播放
今天学了python,参考练习题,本来是找倍数的,但是想到找到之后发个提示音岂不是很有意思,然后就找到了这个函数,进而想到做个7阶音符玩玩. 7个音符差别在哪 关于乐理知识就不过多介绍了,我也是一个音 ...
- 【Python入门系列】一个简单的数据分析问题——用Pandas揭秘美国选民的总统喜好
阿里天池训练营学习笔记 学习链接~AI训练营Python 本文将展示一个实际操作,利用Pandas对美国大选的一些数据进行处理,题目的详细内容请点击此处~[Python入门系列]用Pandas揭秘美国 ...
- 十二章 Python入门系列之字典
系列文章目录 第一章 Python入门系列之介绍 第二章 Python入门系列之PyCharm 第三章 Python入门系列之注释 第四章 Python入门系列之变量 第五章 Python入门系列之输 ...
- 第八章 Python入门系列之循环
系列文章目录 第一章 Python入门系列之介绍 第二章 Python入门系列之PyCharm 第三章 Python入门系列之注释 第四章 Python入门系列之变量 第五章 Python入门系列之输 ...
- 视频教程-Python入门-系列游戏开发/太空阻击-Python
Python入门-系列游戏开发/太空阻击 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版) 中 ...
- 10分钟带你了解python_10分钟Python入门系列教程及学习资源分享
本期分享笔记内容 归档此前入门教程文章,方便查看 10分钟带你Python入门的特点 简单谈下如何寻找Python学习资源 关于分享Python学习资源的分享问题 本人对于Python学习创建了一个小 ...
- python入门系列:函数
引言 将一段代码集中到一块,起一个名字,下次可以根据这个名字再次使用这个代码块. 作用: 方便代码重用 分解任务,简化程序逻辑 使代码更加模块化 函数的参数 所有的传参方式都是传引用,注意列表做参数和 ...
- python入门系列:包和模块
基本概念 模块:将一组功能相关的代码写入一个单独的.py文件中,需要时进行导入,这个文件就是模块. 包:有层次的文件目录结构,内部有多个模块或多个子包,一般要有init.py这个文件(3.3+ 的版本 ...
- python入门系列:深入Python的set和dict
dict常用操作 引言 clear(): 清空字典 copy(): 返回一个浅拷贝 fromkeys(): 将可迭代对象中的每一个元素作为key和同一个value拼成字典 get(): 根据key返回 ...
最新文章
- 预加载系列一:DNS Prefetching 的正确使用姿势
- 设计大神发布 Windows 20 概念视频,这才是用户所需要的操作系统?
- golang网站错误处理
- android开发我的新浪微博客户端-用户授权页面功能篇(3.2)
- win 2008 64位IIS7出现数据库链接出错的解决办法
- js 各种事件 如:点击事件、失去焦点、键盘事件等
- C++控制台输出中文时乱码的解决方案
- 1024 Palindromic Number (25 分)大整数相加+会问+reverse倒置
- java注解拦截_轻松实现java拦截器+自定义注解
- Excel 快速填充空白
- 网络设备商网管软件解决方案
- 雷电模拟器一直android正在启动,雷电安卓模拟器启动后没反应、无法启动、闪退的3种解决办法-针对2020年4月4号出现的...
- 怎么把word压缩到最小
- 【马司机带带我】君子日三省吾身
- JavaScript百炼成仙 1.18 函数七重关之一 (函数定义)
- vue 页面使用两套el-form表单并且嵌套使用el-checkbox
- 小号系统搭建接口教程
- 安装apache遇到You don’t have permission to access this resource. 原因与解决方法
- 优秀!华为诺亚方舟实验室联合中山大学发布新一代半/自监督的2D基准数据集SODA10M
- MongoDB3:复制集