Libreria FFT o simili

Salve ragazzi, stavo cercando un modo per poter filtrare le varie frequenze di un segnale (una musica in particolare).
Ho letto che il metodo migliore è quello di usare un MSGEQ7 per filtrare alle varie frequenze, ma volendo fare il filtraggio tramite programma va bene questa libreria? qualcuno di voi l'ha mai utilizzata?

Parlando qualitativamente credo che il filtraggio sia migliore se fatto col circuito elettronico giusto?
Però mi piacerebbe anche analizzare il segnale in base a varie esigenze, non solo con parametri prefissati.

salvatore_94:
Ho letto che il metodo migliore è quello di usare un MSGEQ7 per filtrare alle varie frequenze ...

... credo che tu abbia letto male :smiling_imp:

Quel chip è adatto per fare dei semplici ed economicissimi VUmeter colorati con varie bande di frequenza ... prodottini "consumer" adatti, ad esempio, al mercato delle autoradio.

Non è certo un analizzatore di spettro chissà che qualità ...
... il vantaggio è che, dove non serve troppa "precisione" ed occorre "real-time" (te lo immagini un VUmeter a 7 bande fatto su Arduino UNO, tutto via software, che tempi di risposta avrebbe ?) il MSGEQ7 è una buona soluzione.

Guglielmo

... credo che tu abbia letto male :smiling_imp:

Quel chip è adatto per fare dei semplici ed economicissimi VUmeter colorati con varie bande di frequenza ... prodottini "consumer" adatti, ad esempio, al mercato delle autoradio.

Non è certo un analizzatore di spettro chissà che qualità ...
... il vantaggio è che, dove non serve troppa "precisione" ed occorre "real-time" (te lo immagini un VUmeter a 7 bande fatto su Arduino UNO, tutto via software, che tempi di risposta avrebbe ?) il MSGEQ7 è una buona soluzione.

Allora mi sa che era la soluzione più semplice :slight_smile:
Quindi la libreria non è da buttare

... dipende quello che devi fare ... e ricorda che il float/double di Arduino è comunque limitato a 4 bytes il che porta ad avere :

Floats have only 6-7 decimal digits of precision. That means the total number of digits, not the number to the right of the decimal point.

Guglielmo

dipende quello che devi fare

Vorrei filtrare le frequenze alte e basse (le medie non so ancora se integrarle nel progetto) per comandare l'intermittenza di 2 strice led, una al ritmo dei bassi e una al ritmo degli alti.

Qualche consiglio?
Per dare come input ad arduino la musica (filtrata),posso collegare l'uscita del filtro in un pin analogico di arduino? o ci vuole un circuito raddrizzatore?

Ricorda che i pin in ingresso di Arduino reggono solo tensioni positive con il limite superiore a Vcc ...
... un segnale audio è tipicamente una sinusoide che va sopra e sotto zero quindi ... ::slight_smile:

Guglielmo

Quindi mi servirebbero due filtri e due raddrizzatori a singola semionda, ma a questo punto mi sembra quasi inutile l'impiego di arduino.
Cioè arduino si limiterebbe a ricevere un segnale già filtrato e raddrizzato (se si può dire) ed accendere dei led quando lo riceve.
A questo punto non mi conviene utilizzare un altro componente circuitale (o magari connettere direttamente il led, non so) invece che arduino?
Inoltre esiste un componente che filtri e raddrizzi allo stesso momento? in modo da semplificare il circuito.

Mah ... a questo punto, dato lo scopo ludico, torniamo al punto di partenza ...
... usa il MSGEQ7 abbinato con Arduino ed hai molta più flessibilità :wink:

Guglielmo

Beh si forse mi conviene provarlo e "giocarci" un po'.
Grazie mille :slight_smile:

è sorto un piccolo problema :roll_eyes: ,cercando su ebay l'ho trovato sui 2 € ma arriva entro il 26 giugno, mentre su siti come robot italy costa 6 € (più spedizionie).
Conoscete qualche buon sito?

... SparkFun ... ma, con le spese di spedizione, non risparmi ... anzi ... ::slight_smile:

Guglielmo

gpb01:
... SparkFun ... ma, con le spese di spedizione, non risparmi ... anzi ... ::slight_smile:

Cinque Dollari sono quasi sei Euro una volta aggiunta iva e dazio, ovvero lo stesso prezzo che fa Robot Italy.