Vai alla Home Page About me Courseware Federica Living Library Federica Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica
 
I corsi di Scienze Matematiche Fisiche e Naturali
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Francesco Cutugno » 5.Digital signal processing applicazioni al segnale vocale – parte terza


Funzioni quasi periodiche

Data una funzione f(t) periodica con periodo T, se ne può immaginare una versione ‘quasi’ periodica se si considera la possibilità che il valore di periodicità e la sua ampiezza varino, anche se di poco, da periodo a periodo.

Il segnale vocale non è mai periodico. Alcune porzioni, prevalentemente corrispondenti a vocali, possono essere quasi periodiche.

La non periodicità ha due motivi: uno fisiologico e uno intenzionale.

Fluttuazioni volontarie ed involontarie in un segnale quasi periodico

Fluttuazioni volontarie ed involontarie in un segnale quasi periodico

Una vocale prodotta naturalmente ha una forma quasi periodica

Una vocale prodotta naturalmente ha una forma quasi periodica


L’autocorrelazione

La funzione matematica che si usa per catturare le fluttuazioni volontarie della periodicità di segnali quasi periodici è l’autocorrelazione.

Indica il grado di correlazione della forma d’onda con se stessa a diversi momenti nel tempo.

Un segnale periodico sarà correlato con se stesso nel modo ‘migliore’ negli istanti di tempo multipli della sua frequenza fondamentale (F0).

La distanza fra due massimi consecutivi rappresenta la stima di F0.

r(m)=\frac{1}{N}\sum_{n=1}^{N-m} {x(n)} \cdot{x(n+m)}, m \in [0, N-1]

Come funziona l’autocorrelazione

Andamento di r(m) in funzione di m

Andamento di r(m) in funzione di m

Esempio grafico del funzionamento della autocorrelazione

Esempio grafico del funzionamento della autocorrelazione


Esempio autocorrelazione

Forma d’onda e l’autocorrelazione della vocale /o/

Forma d'onda e l'autocorrelazione della vocale /o/


Esempio autocorelazione (segue)

L’autocorrelazione della consonante /s/ (suono non-periodico)

L'autocorrelazione della consonante /s/ (suono non-periodico)

L’autocorrelazione della vocale /o/ (suono periodico)

L'autocorrelazione della vocale /o/ (suono periodico)


Andamenti della frequenza fondamentale

Anche l’autocorrelazione può essere calcolata con tecniche tempo-variabili con finestraggio del segnale.

Il segnale viene diviso in porzioni consecutive, r(m) viene calcolato in ogni finestra e l’ascissa del massimo viene usata per datarminare il presunto periodo del segnale.

L’andamento nel tempo della frequenza fondamentale, calcolato in Hertz, viene mostrato ricorrendo ad una interpolazione anche se la curva viene interrotta nelle porzioni non periodiche del segnale.
Suono 1

Suono 2

L’andamento della frequenza fondamentale in due segnali: 1) una vocale cantata, 2) uno in cui si alternano parti non periodiche e parti periodiche

L'andamento della frequenza fondamentale in due segnali: 1) una vocale cantata, 2) uno in cui si alternano parti non periodiche e parti periodiche


Il calcolo dell’andamento dell’intensità

Oltre alla frequenza fondamentale un altro andamento determina variazioni della struttura non segmentale del parlato, la variazione nel tempo dell’intensità del segnale vocale.

Analogamente alla frequenza fondamentale, l’andamento dell’intensità si calcola con tecniche tempo-variabili con finestraggio del segnale, in ogni finestra si misura il valore di:

I(m)=\sum_{n=m}^{F+m} {x(n)^2}, m \in \{0, F, 2F ..., int(N/F)\}

Il segnale viene diviso in porzioni consecutive, r(m) viene calcolato in ogni finestra e l’ascissa del massimo viene usata per datarminare il presunto periodo del segnale.

Anche l’andamento nel tempo dell’intensità, calcolato in Decibel, viene mostrato ricorrendo ad una interpolazione.

L’andamento nel tempo  dell’intensità in un segnale vocale

L'andamento nel tempo dell'intensità in un segnale vocale


Esempi di andamenti prosodici

Suono


Esempi di andamenti prosodici (segue)

Suono


Modello sorgente/filtro: produzione del parlato

sorgente del parlato ->

pliche vocali per i suoni sonori -> treno di impulsi con frequenza F0
o articolatori consonantici per i suoni sordi -> rumore bianco

filtro acustico lineare -> tratto vocale


Linear Predictive Coding (LPC)

Modello Sorgente/Filtro della produzione del parlato:

Dalla teoria dei sistemi si ha che, nel dominio delle frequenze:

O(z)=I(z) \cdot H(z)

Dove O(z) è la rappresentazione in trasformata Z del segnale vocale nel dominio della frequenza, I(z) equivalentemente, è la trasformata z del segnale sorgente, H(z) è la risposta in frequenza del filtro come definito nella diapositiva precedente.

Con

H(z)= \frac{1}{1-\sum_{i=1}^p a_i z^{-i}}~~~~~~~(f.1)

Linear Predictive Coding (LPC) (segue)

Supponiamo che ogni campione x[n] di un segnale vocale possa essere predetto utilizzando una combinazione lineare di un numero p di campioni precedenti, \bar{x}[n] costituirà una stima approssimata del segnale originale:

\bar{x}[n]=a_1 \cdot x[n-1] + a_2 \cdot x[n-2] + \dots + a_p \cdot x[n-p]

In generale, detto e[n] l’errore che si compie in questo processo di approssimazione, si avrà che: x[n]=\bar{x}[n]+e[n]

Ovvero:

x[n]=\sum_{i=1}^{p}a_k x[n-i]+e[n]

Questa espressione è la stessa che si ottiene applicando la trasformata Z inversa ad H(z) nella formula (f.1) della precedente diapositiva, a sottolineare la stretta connessione fra modello sorgente filtro e LPC:

\bar{x}[n]=a_1\cdot x[n-1]+ a_2 \cdot x[n-2] + \dots + a_p \cdot x[n-p]

LPC

Il valore dei coefficienti ai può essere calcolato considerando gli scarti quadratici fra i valori di predizione e i valori effettivi:

(\bar{x}[n]-x[n])^2

Minimizzando questa relazione si ricava un sistema di equazioni che hanno come incognita i valori ai che, in altro modo, avevamo calcolato nella (f.1).

I coefficienti ai, dunque, caratterizzano il filtro lineare.

Il calcolo dei coefficienti di predizione è un calcolo tempo-variabile, di conseguenza viene effettuato su un segnale diviso in finestre e ripetuto in ogni finestra.


Spettro LPC vs. spettro FFT

Confronto fra lo spettro LPC (in blu) e lo spettro FFT (in nero) per la vocale /o/

Confronto fra lo spettro LPC (in blu) e lo spettro FFT (in nero) per la vocale /o/


Spettro LPC per vari valori dell’ordine di predizione

Spettro LPC per diversi valori dell’ordine di predizione (p = 4, 8, 12, 16, 18, 22)

Spettro LPC per diversi valori dell'ordine di predizione (p = 4, 8, 12, 16, 18, 22)


L’errore di predizione LPC

Il valore dell’errore di predizione LPC per diversi valori dell’ordine di predizione (p = [1, 9])

Il valore dell'errore di predizione LPC per diversi valori dell'ordine di predizione (p = [1, 9])


I coefficienti LPC per codificare il segnale vocale

Il calcolo di LPC basato su finestre (frame based) fornisce un metodo di codifica del segnale vocale, cioè definisce una funzione di trasformazione che accetta in ingresso la sequenza dei campioni digitali del segnale e fornisce in uscita una molto meno onerosa tabella di coefficienti. Ogni riga della tabella rappresenta gli m coefficienti che si ricavano da ognuna delle finestre di analisi.


I materiali di supporto della lezione

Suono 1

Suono 2

Suono 3

Suono 4

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion