|
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.
|