基础Python声音编程
我想写一个程序,当我按住一个键的时候,它能发出我自己定义的音调。我可以用winsound.Beep()来播放不同的音符,但我觉得这并不太有用。
2 个回答
0
winsound模块不仅可以发出哔哔声,还能播放其他声音,具体可以看看winsound.PlaySound
:
winsound.PlaySound('mySound.wav', winsound.SND_FILENAME)
当用户按住一个键时,通常会在短时间内接收到多个按键事件。
1
如果你只是想使用标准库,并且你正在使用Windows系统,可以用msvcrt这个库来获取当前按下的键,然后把这个键映射到一个频率上。
import msvcrt
import time
import winsound
notes = {'a': 440, 's': 935, 'd': 1039}
while True:
key = msvcrt.getch()
try:
note = notes[key]
except KeyError:
note = 0
winsound.Beep(note, 10)
time.sleep(0.01)