Je te laisse des liens vers ces composants (TAudioIn et TAudioOut) qui pourront t'aider :
http://delphi.icm.edu.pl/ftp/d20free/taudioio.zip
Et une bibliothèque de Transformée de Fourrier Rapide (ou FFT) (pour récupérer la fréquence du signal que tu reçois avec le composant mentionné ci-dessus) :
http://www.simdesign.nl/fft.html
Dans le code que je t'ai donné beaucoup plus haut, chaque élément du son Wav joué est un entier codé comme ceci :
Valeur[i]:=127+Volume*sin(i*2*pi*frequence/SampleRate)
C'est ce genre de fonction dont a besoin TAudioIn pour foncttionner.
avec le composant TAudioIn, tu récupère l'ensemble de ces valeurs dans un Buffer en provenance directe de la carte son (donc pas de fichier wav intermédiaire).
Une fois que tu as tes valeurs, il faut que tu détermine la fréquence qu'elles représente et c'est le role de la FFT.
Selon la qualité du signal, celle ci va t'en renvoyer plusieurs, d'intensités différentes, ce sera à toi de déterminer laquelle est la bonne (celle dont l'intensité est la plus élevée)
Bon courage
Partager