Comme vous le savez, la hauteur d'un son est définie par sa fréquence. Par conséquent, pour le rendre plus haut, il faut "écraser", "serrer" l'enregistrement pour augmenter la fréquence. Mais du coup ca pose deux gros problèmes, très communs : de un l'enregistrement n'a plus la même durée, et de deux la qualité (le bitrate) est modifié (et réduit si on rend le son plus grave).
Du coup je pensais à une solution très simple, mais j'imagine qu'elle ne marche pas vu qu'elle n'est pas adoptée, et je poste ici pour justement savoir en quoi elle ne marche pas
Je pensais à "convertir" l'enregistrement en spectre de Fourier, de le décaler d'un certain facteur (en prenant en compte l'échelle logarithmique), et de le refaire passer par la transformation de Fourier inverse. Par exemple, si on voulait rendre un son deux fois plus grave, on le convertirait en spectre de Fourier et on décalerait ce spectre afin que 100Hz se retrouve sur 50Hz, 200 sur 100, 1000 sur 500 etc ... (en prenant en compte l'échelle logarithmique, toujours).
Cette méthode doit bien être possible vu qu'on arrive à convertir un signal en spectre de Fourier et le refaire dans l'autre sens (on le fait très bien avec les égalisateurs), donc je vois pas pourquoi on ne pourrait pas décaler la transfo de Fourier avant de la remettre en signal audio pour changer sa hauteur.
PS : je vois le spectre de Fourier de façon graphique, mathématiquement parlant "décaler" n'est pas le bon mot, c'est en fait une multiplication
Du coup pourquoi ça ne marche pas (je suppose) ? Je ne vois pas en quoi il y aurait perte de qualité ici ...
Je m'étais déjà lancé dans des expériences similaires et j'ai peut-être quelques idées pour t'aiguiller.
Quand tu fais la TF de ton enregistrement entier tu perds tout information sur la dimension temporelle (en supposant qu'il n'y pas qu'une seule note). Décaler le spectre est je pense la bonne approche pour changer la hauteur du son. Cependant, il faut tenir compte du fait que les notes sont jouées à un moment précis et que quand tu calcules ta TF tu mélanges toutes les notes d'un coup
Ce que je te propose c'est de considérer un intervalle de temps proche de la double croche au tempo de ta musique et découper ton enregistrement. Ensuite tu effectues l'opération de décalage de spectre sur chacun des enregistrements et tu les recolles après. Si mes souvenirs sont bons, le résultat est déjà nettement plus proche de ce que tu recherches.
Bon courage pour la suite de tes expériences !
Changer la hauteur d'un son sans perte de qualité
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.