в функции listenToPicture()
, у вас есть этот код:
w= getWidth(pic)
h= getHeight(pic)
for i in range(0, w, 4):
for j in range(0, h, 4):
....
странно, i
и j
не используются в остальной части кода, но, кажется, объясняют, почему количество нот - это количество пикселей, деленное на 16.
ключ в range(0, w, 4)
и range(0,h,4)
. ты знаешь, что они имеют в виду? что делают 2 петли? (если вам нужно, нарисуйте себе маленькую картинку на сетке и выполните алгоритм вручную)