1234567891011121314151617181920212223242526272829 |
- from connection import *
- from audioHandler import Listener
- import numpy as np
- import time
- matrix = SerialConnection()
- matrix.open()
- pitches = [(2**(1/12))**(n/11*12*7-24) * 220 for n in range(11)]
- audio = Listener(1/30, 30)
- audio.start()
- nFFT = audio.buffersize
- audio.fftSetLimits(nFFT, min(pitches), max(pitches))
- audio.agcFftSetLimits(60/60, 300/60)
- while True:
- if audio.hasNewData():
- left, right, fft = np.copy(audio.left), np.copy(audio.right), np.copy(audio.fft)
-
- sums = audio.fftGroup(fft, pitches)
- data = [0] * 50
- for row in range(N_ROWS):
- for col in range(N_COLS):
- val = 15 if sums[col] > ((N_ROWS-row)/N_COLS/2) else 0
- data[row*N_COLS+col]= val
- print(data)
- matrix.send(b'A' + bytes(data))
- time.sleep(1/40)
|