Я пытаюсь осветить мою полосу, ведомую точками, из adafruit, с помощью моего пианино и питона!
Я получаю нужную информацию с клавиатуры, которую затем пытаюсь осветитьс питоном.Единственная проблема в том, что это огромная задержка.Если я нажму несколько клавиш одновременно, информация будет слишком медленной.
Если я уберу код, чтобы загорелся мой светодиод, все будет хорошо, никаких задержек вообще.Можно ли как-нибудь ускорить это?
Я довольно новичок в Python, поэтому любые советы будут очень полезны!
Вот мой код:
import pygame.midi
import board
import adafruit_dotstar as dotstar
dots = dotstar.DotStar(board.MOSI, board.SCK, 120, brightness=1)
def print_devices():
for n in range(pygame.midi.get_count()):
print (n,pygame.midi.get_device_info(n))
if __name__ == '__main__':
pygame.midi.init()
print_devices()
def number_to_note(number):
notes = ['c', 'c#', 'd', 'd#', 'e', 'f', 'f#', 'g', 'g#', 'a', 'a#', 'b']
return notes[number%12]
def number_to_note(number):
notes = ['c', 'c#', 'd', 'd#', 'e', 'f', 'f#', 'g', 'g#', 'a', 'a#', 'b']
return notes[number%12]
def readInput(input_device):
while True:
if input_device.poll():
event = input_device.read(1)[0]
data = event[0]
timestamp = event[1]
note_number = data[1]
velocity = data[2]
print (number_to_note(note_number), velocity)
dots[0] = (100, 255, 100)
if __name__ == '__main__':
pygame.midi.init()
my_input = pygame.midi.Input(3)
readInput(my_input