import pygame import pygame.midi from pygame.locals import *
pygame.init() pygame.midi.init()
SCREEN_WIDTH = 800 SCREEN_HEIGHT = 400 WHITE = (255, 255, 255) BLACK = (0, 0, 0) screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.display.set_caption("Simple Piano")
KEY_WIDTH = SCREEN_WIDTH // 14 KEY_HEIGHT = SCREEN_HEIGHT // 2 KEY_COLOR = WHITE BLACK_KEY_COLOR = BLACK keys = []
for i in range(14): if i % 7 in {0, 3}: keys.append(pygame.Rect(i * KEY_WIDTH, 0, KEY_WIDTH, KEY_HEIGHT)) else: keys.append(pygame.Rect(i * KEY_WIDTH - KEY_WIDTH // 4, 0, KEY_WIDTH // 2, KEY_HEIGHT // 2))
running = True while running: screen.fill(BLACK)
# Draw keys
for key in keys:
pygame.draw.rect(screen, KEY_COLOR, key)
# Check for events
for event in pygame.event.get():
if event.type == QUIT:
running = False
elif event.type == KEYDOWN:
if event.key == K_a:
print("C")
elif event.key == K_w:
print("C#")
elif event.key == K_s:
print("D")
elif event.key == K_e:
print("D#")
elif event.key == K_d:
print("E")
elif event.key == K_f:
print("F")
elif event.key == K_t:
print("F#")
elif event.key == K_g:
print("G")
elif event.key == K_y:
print("G#")
elif event.key == K_h:
print("A")
elif event.key == K_u:
print("A#")
elif event.key == K_j:
print("B")
elif event.key == K_k:
print("C (high octave)")
pygame.display.flip()
pygame.midi.quit() pygame.quit()