Transformation de Fourier
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 !