Bonjour,
je travaille sur un problème de reconnaissance de sons (en particulier la voix).
A une étape du traitement, je dois caractériser le spectre du son en entrée. Pour cela j'identifie les principales harmoniques, et le rang de chacune d'entres elles.
Le problème survient lorsqu'on a un échantillon de voix d'une conversation téléphonique : les fréquences en dessous de 300 Hz sont coupées (le téléphone ne garde que les fréquences de 300 Hz à 4000 Hz en gros).
En clair : la fondamentale étant presque toujours en dessous de 300 Hz, elle disparaît !
Jusqu'ici vous allez me dire que ce sujet n'a rien à faire dans un forum de mathématiques, et vous n'auriez pas tord, mais lisez donc la suite ;p
Un son est caractérisé par le rang de ses harmoniques, et non par leur fréquence absolue (cf. signal carré, harmoniques de rang impair seulement (si je me souviens bien), et enveloppe en 1/n ou 1/n², à vérifier).
Mais donc ce que je veux, c'est pouvoir dire à partir d'une liste de fréquences, quel rang harmonique correspond à chaque fréquence, sachant qu'il peut manquer la fondamentale (on n'en sait rien à priori).
ex:
avec fondamentale:
on considère les fréquences : 1, 2, 4, 7 (en kHz)
1kHz est la fondamentale, donc on a 3 harmoniques (les harmoniques de rang 2, 4 et 7)
sans fondamentale:
on considère maintenant seulement les fréquences : 2, 4, 7 (kHz)
2 kHz est considéré comme la fondamentale, donc on a 2 harmoniques (les harmoniques sont de rang : 4/2=2, et 7/2=3.5)
(Les rang n'étant pas entiers, on parle de partiels et non plus d'harmoniques, mais peu importe)
On voit donc que si la fondamentale est absente, on n'a plus du tout la même caractéristique pour le son!
Dans un cas on a 2, 4, 7 et dans l'autre 2, 3.5
Dans le cas où la fondamentale est absente, il aurait fallu obtenir 4, 7 au lieu de 2, 3.5
Mais comment faire ? Quelle méthode (algorithme) aboutirai à ce résultat ?
Merci de m'avoir lu ;p
Bonne journée.
-----