Son wave et octave

bilou2000 Messages postés 30 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 15 mars 2005 - 12 mars 2005 à 18:11
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 - 14 mars 2005 à 11:56
bonjour.
j'ai des sons waves et je voudrai soit augmenter d'un octave (plus aigu) soit diminuer d'un octave (plus grave) comment peut t'on faire.

Merci.

A++++++++++++++

1 réponse

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
14 mars 2005 à 11:56
Salut,



Tu peux, dans certaines limites modifier les indications de vitesse d'échantillonnage et de débit dans l'en-tête du fichier WAV.





00000000 5249 4646 2445 0100 5741 5645 666D 7420 RIFF$E..WAVEfmt

00000010 1000 0000 0100 0100 2256 0000 44AC 0000 ........D....X..

00000020 0200 1000 6461 7461 0045 0100 FDFF FDFF ....data.E......



bits par échantillon ($10 = 16 ici, soit 2 octets)

canaux (1 ici = mono)

Vitesse d'échantillonage ($2256 = 22050 Hz ici)

débit =
22050
x 2 x 1 $AC44 soit 44100 octets/s 353 kb/s

nombre d'octets à suivre

taille du bloc data






en divisant par 2 la vitesse d'échantillonage indiquée, on diminue d'une octave :



00000000 5249 4646 2445 0100 5741 5645 666D 7420 RIFF$E..WAVEfmt

00000010 1000 0000 0100 0100 112B 0000 2256 0000 ........D....X..

00000020 0200 1000 6461 7461 0045 0100 FDFF FDFF ....data.E......



en la multiliant par 2, on augmente d'une octave :




00000000 5249 4646 2445 0100 5741 5645 666D 7420 RIFF$E..WAVEfmt

00000010 1000 0000 0100 0100
44AC
0000 8858 1000 ........D....X..

00000020 0200 1000 6461 7461 0045 0100 FDFF FDFF ....data.E......





les valeur possibles sont malheusement limitées (en général 11.025k, 22.05k et 44.1K).



Si on veut une solution plus souple, il faut extraire les données,
enlever un echantillon sur deux pour "accélérer" le son (+1 octave) ou
doubler chaque échantilon pour le "ralentir" (-1 octave), et
recontruire un fichier WAV avec un entête correct (modification de la
taille du bloc data multiplié par 2 ou divisé par 2 et le nombre
d'octets dans le fichier = taille data + $24)







Ken@vo

____________________

Code, Code, Codec !
0
Rejoignez-nous