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

源代碼
import winsound # 導(dǎo)入winsound模塊
import keyboard # 導(dǎo)入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"鍵,要注意一下運(yùn)行結(jié)果

直接在運(yùn)行框里輸入就行,運(yùn)行框內(nèi)的空格和豎線是為了更好的理解。
到此這篇關(guān)于Python模擬鋼琴鍵盤(pán)實(shí)現(xiàn)演奏數(shù)鴨子歌曲的文章就介紹到這了,更多相關(guān)Python模擬鋼琴鍵盤(pán)演奏歌曲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python計(jì)算機(jī)視覺(jué)OpenCV入門(mén)講解
這篇文章主要介紹了python計(jì)算機(jī)視覺(jué)OpenCV入門(mén)講解,關(guān)于圖像處理的相關(guān)簡(jiǎn)單操作,包括讀入圖像、顯示圖像及圖像相關(guān)理論知識(shí)2022-06-06
Python實(shí)現(xiàn)Excel數(shù)據(jù)過(guò)濾
本文將以車牌數(shù)據(jù)為示例,為大家詳細(xì)介紹一下如何使用Python實(shí)現(xiàn)Excel數(shù)據(jù)過(guò)濾功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10
Python爬蟲(chóng)爬取愛(ài)奇藝電影片庫(kù)首頁(yè)的實(shí)例代碼
這篇文章主要介紹了Python爬蟲(chóng)爬取愛(ài)奇藝電影片庫(kù)首頁(yè)的實(shí)例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
Python中基本的日期時(shí)間處理的學(xué)習(xí)教程
這篇文章主要介紹了Python中基本的日期時(shí)間處理的學(xué)習(xí)教程,日期時(shí)間相關(guān)模塊的使用是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10
python ddt數(shù)據(jù)驅(qū)動(dòng)最簡(jiǎn)實(shí)例代碼
在本篇內(nèi)容里我們給大家分享了關(guān)于python ddt數(shù)據(jù)驅(qū)動(dòng)最簡(jiǎn)實(shí)例代碼以及相關(guān)知識(shí)點(diǎn),需要的朋友們跟著學(xué)習(xí)下。2019-02-02

