Nota su octave

I programmi matematici ad alto livello, come Mathematica, Matlab, Octave, hanno tutti un certo grado di supporto per registrare, elaborare, riprodurre dei suoni.

Rispetto agli altri, Octave ha un supporto per i suoni molto rudimentale, con pochi comandi.


x=record(5)

regista dal microfono per 5 secondi un suono mono, campionandolo a 8000Hz, con 8 bit di quantizzazione: i valori rimangono tra -127 e +128.

playaudio(x)

riproduce sull'uscita audio standard un suono, supponendo che x sia un vettore contenente valori tra -127 e +128, campionato a 8000Hz, con 8 bit di quantizzazione.

Pur con queste limitazioni è possibile fare qualche semplice esperimento digitale con octave:

t=(0:1/8000:1)';

crea una appropriata base dei tempi di 1 secondo.

x= 127*sin(2*pi*100*t);

crea 1 segnale sinusoidale di 1 secondo a 100Hz.

playaudio(x)

suona il risultato.

saveaudio("pippo",x,"raw",8)

salva il suono rappresentato dal vettore x scrivendolo nel file pippo.raw, come 8bit unsigned.

x=loadaudio("pippo","raw",8);

legge i dati dal file pippo.raw nel vettore x.

Come si vede dalla lettura dei relativi file.m dei vari comandi, le operazioni sono fatte molto rozzamente e si creano facilmente difetti nei suoni.
Tuttavia a volte fa comodo poter fare una verifica veloce senza dover ricompilare del codice.  


Laboratorio Sperimentale di Matematica Computazionale - parte III
Sergio Steffè - AA 2012/2013 - PISA