Psychoacoustic experiment
In questo esperimento prendiamo due audio, nel primo si passa da
Quindi fino ad ora, tramite i paragrafi precedenti, siamo arrivati a trovare tramite la Trasformata di Fourier il frequency domain. Ma ora come già anticipato vogliamo arrivare al time-frequency domain. Che vengono rappresentati tramite spectogram, e in particolare quello che si occupa di rappresentare le frequenze percepibili dall'orecchio umano, si chiamano Mel Spectogram.
Mel Spectogram
La parola mel deriva dalla mel scale, che è una scala percettiva per l'intonazione. Questa scala non fa altro che mappare i Hz per renderli percepibili nella nuova scala mel. Questo vuol dire che le stesse distanze nella scala equivalgono alle stesse distanze percettibili, quindi l'esperimento di prima con i mels, avrebbe avuto esito uguale all'orecchio umano. Come si può vedere da questa immagine.

Ora quello che dobbiamo fare è estrarre il Mel Spectogram.
Estrarre il Mel Spectogram
Questo avviene in 3 passi:
- Estrarre la short-time Fourier Transform -> time-frequency domain
- Convertire l'amplitudine in Decibels.
- Convertire la frequenza nella Mel-scale
Il punto più importante è proprio l'ultimo e avviene seguendo questi 3 punti:
- Scegliere il numero di mel-bands
- Costruire i mel-filter banks
- Applicare i mel-filter banks allo spectogram
Ora vediamo nel dettagli questi 3 punti.
1. Numero di Mel bands
Questo è un parametro fondamentale, e può variare. La domanda è che numero scegliamo ?
2. Mel filter banks
Questo processo è complicato e sussiste in 5 steps.
-
La prima cosa da fare è quella di convertire la più piccola e la più grande frequenze in Mel. E lo si fa tramite questa formula:
-
Adesso bisogna prendere il frequency range in mel, e poi bisogna mappare in maniera equidistante il numero di mel bands scelto.
-
Quello che facciamo ora è convertire di nuovo questi punti in Hertz, usando questa formula:
-
-
Adesso arrotondiamo questi punti al bin più vicino che abbiamo a disposizione.
-
Creare filtri triangoli.

Come si può notare sull'asse delle x abbiamo le frequenze in basso in hertz e sopra in mel. E poi a sinistra abbiamo i weights che sono espressi tra 1 e 0, cosa sono ? filtri, cercano solo di filtrare il suono e quando hai un peso pari a 1 non si toccherà quel segnale, ma sotto 1 viene filtrato.
In questo esempio abbiamo 6 mel bands, ad esempio il secondo punto è 1526 mels, che è 2000 hertz. Come si può vedere anche i punti sulla scala mel sono equidistanti numericamente, ma il punto è che non lo sono nella Hertz scale. Le basi della piramide sono date dal punto centrale della mel band precedente e quello della mel band successiva e cosi si costruiscono questi filtri triangolare in grado di mappare le frequenze in mels.
In termini di algebra lineare si fa una moltiplicazione matriciale per ottenere il Mel-spectogram.