Programmation Octave/Traitement du son
Jouer un son
modifierOctave permet de jouer un son grâce à la commande sound
. Cette commande se trouve dans le package audio
. sound
prend en argument un vecteur représentant l'échantillon à jouer et éventuellement la fréquence d'échantillonnage:
octave> n = 1:10000; octave> s = 10*sin(2.*pi.*n./500); octave> sound(s); Input Filename : - Sample Size : 16-bits Sample Encoding: signed (2's complement) Channels : 1 Sample Rate : 8000 Time: 00:01.25 [4473:54.21] of 4473:55.46 ( 0.0%) Output Buffer: 59.80K Done.
Lire et écrire des WAV
modifierOctave permet de lire et d'écrire des fichier son en .wav les fonctions sont wavread
et wavwrite
. Par exemple si on veut écrire le signal s
:
octave> wavwrite("test.wav",s);
Et si maintenant on veut lire le signal :
octave> x = wavread("test.wav");
Transformées d'un signal
modifierLa commande fft
calcule la transformée de Fourier d'un signal :
octave> x = [1 2 1]; octave> X = fft(x) X = 4.00000 + 0.00000i -0.50000 - 0.86603i -0.50000 + 0.86603i
Et la commande ifft
retourne la transformée inverse :
octave> ifft(X) ans = 1 2 1
Les commandes dct
et idct
calculent la transformée en cosinus discrète ainsi que sa transformée inverse :
octave> X = dct(x) X = 2.30940 0.00000 -0.81650 octave> idct(X) ans = 1.0000 2.0000 1.0000