Python模擬鋼琴鍵盤實現(xiàn)演奏數(shù)鴨子歌曲
前言
前幾天上課老師給我們講了兩個模塊,然后利用這兩個模塊來模擬鋼琴鍵盤去簡單地演奏《數(shù)鴨子》今天來分享給大家。
模塊1:winsound
模塊2:keyboard
winsound模塊
winsound模塊提供對windows平臺的基本聲音播放功能的訪問,他還包含函數(shù)和一些常量。
1.安裝winsound模塊
在cmd窗口下輸入
pip install winsound
2.導入模塊
import winsound
3.winsound模塊下的函數(shù)
winsound.Beep(frequency, duration)
嗶嗶聲PC揚聲器,頻率參數(shù)frequency指定聲音的頻率,以Hz為單位,必須在37~32767的范圍內(nèi)。持續(xù)時間參數(shù)duration指定聲音應該持續(xù)的毫秒數(shù)。如果系統(tǒng)不能發(fā)出喇叭聲,會提RuntimeError錯誤。
因為這里能用到的函數(shù)就一個,其他的函數(shù)就不過多解釋了。
keyboard模塊
keyboard模塊就很容易理解了,就是用來控制鍵盤的相關事件。
1.安裝模塊
pip install keyboard
2.導入模塊
import keyboard
以下就是keyboard模塊的基本功能
1.允許我們阻止特定按鈕的動作
2.我們可以使用點擊監(jiān)視器從鍵盤管理意圖
3.跨平臺兼容性
4.支持鍵盤上可用的特殊熱鍵。
現(xiàn)在直接上干貨↓
《數(shù)鴨子》簡譜

源代碼
import winsound # 導入winsound模塊
import keyboard # 導入keyboard模塊
while True: # 循環(huán)
# 中音
# Returns True if the key is pressed,如果被按下就發(fā)出聲音
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,如果被按下就發(fā)出聲音
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,如果被按下就發(fā)出聲音
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"鍵,要注意一下運行結果

直接在運行框里輸入就行,運行框內(nèi)的空格和豎線是為了更好的理解。
到此這篇關于Python模擬鋼琴鍵盤實現(xiàn)演奏數(shù)鴨子歌曲的文章就介紹到這了,更多相關Python模擬鋼琴鍵盤演奏歌曲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python實現(xiàn)Excel數(shù)據(jù)過濾
本文將以車牌數(shù)據(jù)為示例,為大家詳細介紹一下如何使用Python實現(xiàn)Excel數(shù)據(jù)過濾功能,感興趣的小伙伴可以跟隨小編一起學習一下2024-10-10

