Petit programme pour écouter l'entrée de la carte son et l'enregistrer sur le disque.
Utilise les API WaveIn permettant de faire un traitement du signal avant d'écrire sur le disque dur.
Code optimisé aussi bien pour l'IDE que la compilation. Le programme fonctionne de manière très fluide, avec tous les traitements activés, sur une machine d'environ 1GHz. En version compilé on peut le faire fonctionner sur des vieux systèmes.
Le premier traitement réalisé est un filtrage passe-haut utilisant le principe du filtrage numérique à réponse impulsionnelle infinie (ceux qui veulent comprendre, cherchez sur google!). Il permet de virer le défaut des cartes sons bon marchés qui décalent le zéro, ce qui amène un bruit parasite dans les très basses fréquences.
Le second traitement est un préamplificateur, au cas où le signal soit trop faible malgré que vous ayez configuré l'entrée de la carte son au maximum.
Le troisième est l'analyse spectrale du signal (via filtrage de la fenêtre temporel -apodisation-, puis transformée de Fourier rapide). En outre l'interface réalise le spectrogramme sur quelques secondes. C'est ce qui consomme le plus le CPU - j'utilise les méthode VB et le GDI standard, c'est pas tip top rapide.
Enfin, un VU-mètre indique le gain pic du signal, et un indicateur s'active si jamais le signal est trop fort (donc tronqué par la carte son).
L'enregistrement sur disque dur se fait par fragment de fichier WAV de 10 minutes (paramètrable) : l'intérêt et de faire des sessions d'enregistrement de plusieurs dizaines d'heures avec des fichiers qui peuvent être déplacé / comprimé au fur et à mesure.