Python模拟钢琴键盘实现演奏数鸭子歌曲
是小fu. 人气:0前言
前几天上课老师给我们讲了两个模块,然后利用这两个模块来模拟钢琴键盘去简单地演奏《数鸭子》今天来分享给大家。
模块1:winsound
模块2:keyboard
winsound模块
winsound模块提供对windows平台的基本声音播放功能的访问,他还包含函数和一些常量。
1.安装winsound模块
在cmd窗口下输入
pip install winsound
2.导入模块
import winsound
3.winsound模块下的函数
winsound.Beep(frequency, duration)
哔哔声PC扬声器,频率参数frequency指定声音的频率,以Hz为单位,必须在37~32767的范围内。持续时间参数duration指定声音应该持续的毫秒数。如果系统不能发出喇叭声,会提RuntimeError错误。
因为这里能用到的函数就一个,其他的函数就不过多解释了。
keyboard模块
keyboard模块就很容易理解了,就是用来控制键盘的相关事件。
1.安装模块
pip install keyboard
2.导入模块
import keyboard
以下就是keyboard模块的基本功能
1.允许我们阻止特定按钮的动作
2.我们可以使用点击监视器从键盘管理意图
3.跨平台兼容性
4.支持键盘上可用的特殊热键。
现在直接上干货↓
《数鸭子》简谱
源代码
import winsound # 导入winsound模块 import keyboard # 导入keyboard模块 while True: # 循环 # 中音 # Returns True if the key is pressed,如果被按下就发出声音 if keyboard.is_pressed('1'): winsound.Beep(262*2, 400) if keyboard.is_pressed('2'): winsound.Beep(294*2, 400) if keyboard.is_pressed('3'): winsound.Beep(330*2, 400) if keyboard.is_pressed('4'): winsound.Beep(349*2, 400) if keyboard.is_pressed('5'): winsound.Beep(392*2, 400) if keyboard.is_pressed('6'): winsound.Beep(440*2, 400) if keyboard.is_pressed('7'): winsound.Beep(494*2, 400) # 低音 # Returns True if the key is pressed,如果被按下就发出声音 if keyboard.is_pressed('z'): winsound.Beep(262, 400) if keyboard.is_pressed('x'): winsound.Beep(294, 400) if keyboard.is_pressed('c'): winsound.Beep(330, 400) if keyboard.is_pressed('v'): winsound.Beep(349, 400) if keyboard.is_pressed('b'): winsound.Beep(392, 400) if keyboard.is_pressed('n'): winsound.Beep(440, 400) if keyboard.is_pressed('m'): winsound.Beep(494, 400) # 高音 # Returns True if the key is pressed,如果被按下就发出声音 if keyboard.is_pressed('a'): winsound.Beep(294*2, 400) if keyboard.is_pressed('s'): winsound.Beep(294*2, 400) if keyboard.is_pressed('d'): winsound.Beep(294*2, 400) if keyboard.is_pressed('f'): winsound.Beep(294*2, 400) if keyboard.is_pressed('g'): winsound.Beep(294*2, 400) if keyboard.is_pressed('h'): winsound.Beep(294*2, 400) if keyboard.is_pressed('j'): winsound.Beep(294*2, 400) else: pass # 琴键上的高音"do"是电脑上的"a"键,要注意一下
运行结果
直接在运行框里输入就行,运行框内的空格和竖线是为了更好的理解。
加载全部内容