#!/usr/bin/python3

print('*** Preprost zvočni spektralni analizator - S53MV 22.09.2020 ***')
fs=44100    #Frekvenca vzročenja zvočnega signala
avg=128     #Število povprečenj spektra (potenca 2 za učinkovit FFT)

import sounddevice as sd    #Poiskati na spletu in naložiti s pip3!
signal=sd.rec(2048*avg,samplerate=fs,channels=1) #Vzorčenje ADC zvočne kartice
sd.wait()   #Počakaj do konca vzorčenja

print(signal)   #Poskusni izpis signala

import numpy as np  #Uporaba učinkovitih funkcij numpy
spekter=np.abs(np.fft.rfft(signal,n=None,axis=0,norm=None))    #FFT signala
spekter=np.mean(spekter[:avg*int(len(spekter)/avg)].reshape(-1,avg),axis=1)    #Povprečje

import matplotlib.pyplot as plt     #Preprosto risanje rezultata
plt.plot(spekter)
plt.show()
