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 !
Partager