我正在尝试创建一个测量钢琴演奏者的颤音速度的python程序。颤音是一种音乐装饰品,由钢琴上两个相邻键之间的快速交替组成,因此我认为可以使用PC键盘的两个键(例如“ K”和“ O”)来模拟。按键将以每秒10拍或更高的频率被按下。
是否可以在发生击键时在Python中进行注册?
一旦获得了这些数据,我就可以用它来进行统计等等。
答案 0 :(得分:0)
修改键盘库的pressed_keys示例,如下所示,我已经实现了自己的尝试。但是,由于某种原因,每次击键都会在屏幕上打印两次时间。为什么会这样?怎么解决?
"""
Prints the scan code of all currently pressed keys.
Updates on every keyboard event.
"""
import sys
sys.path.append('..')
import keyboard
import time
def print_pressed_keys(e):
#line = ', '.join(str(code) for code in keyboard._pressed_events)
# '\r' and end='' overwrites the previous line.
# ' '*40 prints 40 spaces at the end to ensure the previous line is cleared.
#print('\r' + line + ' '*40, end='')
a=time.clock()
print(a)
keyboard.hook(print_pressed_keys)
keyboard.wait()
答案 1 :(得分:-1)
您可以使用时间类。根据您需要的精度,可以这样做:
times = []
key_stroke:
times.append(time.time()) #time.clock() for more precision
有关密钥检测方法,请访问this链接。 另外,如果您需要在每个按键上包含更多信息或在按键之间进行区分,请创建一个类,并在其中添加一个带有时间的字段,另一个添加带有该键的字段。