Oppure

Loading
19/02/10 12:58
Ciao a tutti.
Come da titolo volevo chiedere se esistesse un componente o un modo per poter captare il suono dal microfono (quello normale da pc) e leggere la frequenza del suono entrante..
Grazie in anticipo
19/02/10 18:48
TheKaneB
è una cosa complessa...

la frequenza portante si ricava dall'analisi spettrale dell'onda sonora. Per effettuare l'analisi spettrale bisogna scomporre un campione sonoro di alcuni millisecondi tramite la famosa trasformata di fourier.

Un algoritmo veloce che la implementa si chima Fast Fourier Transform (FFT) e la sua implementazione è disponibile sicuramente anche in Delphi, ma non saprei darti un link, devi cercarla per conto tuo.

Il risultato della FFT è una sommatoria di funzioni armoniche (seni e coseni), i cui parametri (ampiezza, fase e frequenza) ti consentono di analizzare il suono per elaborazioni anche molto sofisticate.
Nel tuo caso ti basta fermarti alla FFT per poi estrarre la frequenza della componente principale (quella di ampiezza maggiore).

Se poi esiste un componente che fa tutto questo in automatico, non so dirtelo, ma con queste informazioni sicuramente potrai muoverti meglio nella tua ricerca.

Ciao ;)
Ultima modifica effettuata da TheKaneB 19/02/10 18:50
aaa