diff options
Diffstat (limited to 'piano.py')
-rw-r--r-- | piano.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/piano.py b/piano.py new file mode 100644 index 0000000..45a59fd --- /dev/null +++ b/piano.py @@ -0,0 +1,34 @@ +import os +import subprocess +from sshkeyboard import listen_keyboard + +p = '' +notes = { + 'a': 440.00, + 'w': 466.16, + 's': 493.88, + 'd': 523.25, + 'r': 554.37, + 'f': 587.33, + 't': 622.25, + 'g': 659.25, + 'h': 698.46, + 'u': 739.99, + 'j': 783.99, + 'i': 830.61, + 'k': 880.00, + 'o': 932.33, + 'l': 987.77, + ';': 1046.50, + '[': 1108.73, + '\'': 1174.66 +} + +def press(key): + global p + p = subprocess.Popen(['beep', '-f', str(notes[key]), '-l', '100000']) + +def release(key): + os.kill(p.pid, 15) + +listen_keyboard(on_press=press, on_release=release) |