首頁 > 軟體

Python模擬鋼琴鍵盤實現演奏數鴨子歌曲

2022-11-25 14:00:49

前言

前幾天上課老師給我們講了兩個模組,然後利用這兩個模組來模擬鋼琴鍵盤去簡單地演奏《數鴨子》今天來分享給大家。

模組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"鍵,要注意一下

執行結果

直接在執行框裡輸入就行,執行框內的空格和豎線是為了更好的理解。

到此這篇關於Python模擬鋼琴鍵盤實現演奏數鴨子歌曲的文章就介紹到這了,更多相關Python模擬鋼琴鍵盤演奏歌曲內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com