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, che viene istallato opzionalmente (non è presente quest'anno in aula M).


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.

Una seconda osservazione interessante a proposito di octave è la seguente:

A partire dalla versione 3.8 è stata introdotta una interfaccia grafica, piuttosto simile a quella di matlab.
L'interfaccia grafica non viene però abilitata di default. Per usarela occorre dare il comando:

octave --force-gui  


Laboratorio Sperimentale di Matematica Computazionale - parte II
Sergio Steffè - AA 2015/2016 - PISA