Bonjour,

J’essaie de faire un programme qui détecterai des composantes sinusoïdales dans un signal audio, mais mes lacunes en math me bloque.

En gros, je prend un fichier WAV échantillonné à 44KHz par exemple, et je voudrais savoir l’amplitude (0 si n'est pas présent) des signaux sinusoïdaux à 20Hz, 100Hz, 200Hz, ..., 20KHz.

1er question, quand je lis le fichier, je stock dans un buffer les octets (dans le cas ou c'est un échantillonnage sur 8 bits). Pour pouvoir utiliser une transformation de Fourier. Combien d'octet minimum mon buffer doit-il faire ?

Ensuite, je ferai "glisser" les octets lu dans le buffer:

octet supprimé <- buffer de x octets <- lecture du prochain octet du fichier WAV.

Et donc je calculerai la présences des différentes sinusoïdes à partir de ce buffer.

Est-ce la bonne solution ?

Merci pour votre aide !