# Codifica della voce e dell'audio/Tecniche parametriche

Codifica della voce e dell'audio
Copertina Tutti i moduli · Sviluppo
    CopertinaCodifica della voce e dell'audio/Copertina
* StoriaCodifica della voce e dell'audio/Storia
* Conversione analogico/digitaleCodifica della voce e dell'audio/Conversione analogico/digitale
* Codifica di sorgenteCodifica della voce e dell'audio/Codifica di sorgente
* Tecniche PCMCodifica della voce e dell'audio/Tecniche PCM
* Tecniche parametricheCodifica della voce e dell'audio/Tecniche parametriche
* Tecniche CELPCodifica della voce e dell'audio/Tecniche CELP
* Codifica dell'audioCodifica della voce e dell'audio/Codifica dell'audio
Modifica il sommario
Lo sviluppo delle tecniche parametriche iniziò negli anni '70 con la necessità da parte del dipartimento della difesa statunitense di creare una rete di telefonia digitale criptata da usare in ambito militare su cui trasmettere la voce attraverso i modem dell'epoca, che avevano velocità di trasmissione (2400 b/s) assai più basse dei bit rate richiesti dalle tecniche PCM (ogni campione richiederebbe di essere codificato in frazioni di bit!).
Anche la nascente telefonia cellulare digitale a partire dall'inizio degli anni '80 cerca una codifica per la voce digitale a bit rate più bassi:
* qualità: toll quality
* bit rate: ≈ 12 kb/s
Le tecniche parametriche descrivono il segnale vocale inteso come contenuto, non come forma d'onda: viene creato un modello di produzione del sistema fonatorio umano, chiamato modello di produzione del segnale vocale, e vengono trasmessi solo i parametri di questo modello.

## Codifica predittiva lineare: LPC-10

Lo standard LPC-10, sviluppato negli anni '70, fu il primo standard NATO utilizzato per la telefonia digitale criptata per usi militari e diplomatici:
* + bit rate: solo 650 parametri al secondo (13 parametri ogni 20 ms) vengono trasmessi (contro gli 8000 campioni al secondo delle tecniche PCM) → il bit rate si abbassa notevolmente: $R=60\;{\text{b}}\times 50\;{\text{volte/s}}=3000\;{\text{b/s}}\simeq 2400\;{\text{b/s}}$
* + intelligibilità: è garantita;
* − naturalezza: MOS ≈ 2,7: è medio-bassa e al di sotto della toll quality, ma comunque sufficiente per applicazioni militari e satellitari.

### Polmoni

Dai polmoni esce un flusso d'aria turbolento, che a livello di segnale produce rumore bianco (avente uno spettro piatto).

#### Parametri

* gain (dB, 7 bit): indica l'intensità del rumore bianco

### Laringe

La laringe può produrre due tipi di suoni:
* suoni non vocalizzati (ad es. consonanti "s" e "f", bisbiglio): la laringe è aperta → il flusso d'aria turbolento in arrivo dai polmoni non viene modificato, e continua a produrre rumore bianco;
* suoni vocalizzati (ad es. vocali): la laringe si apre e si chiude periodicamente producendo una sequenza di sbuffi (segnale glottale) → le membrane ostruiscono il passaggio dell'aria, e viene prodotto un suono dallo spettro armonico.

#### Parametri

* flag (booleano, 1 bit): specifica se il suono è vocalizzato o non vocalizzato
* frequenza fondamentale (Hz, 7 bit): nel caso vocalizzato, lo spettro armonico del segnale presenta dei picchi periodici in corrispondenza dei multipli della frequenza fondamentale $F_{0}$ (quindi a $F_{0}$, a $2F_{0}$, ecc.)

#### Frequenza fondamentale

La frequenza (o pitch) fondamentale $F_{0}$ corrisponde all'altezza (nel senso musicale) della voce:
* è una funzione a tratti: esiste solo quando il suono è vocalizzato;
* è variabile nel tempo: la prosodia studia la variabilità della frequenza fondamentale in un discorso.
La funzione fondamentale è inutile ai fini dell'intelligibilità (un suono non vocalizzato è comunque intelligibile), ma fornisce informazioni importanti per la naturalezza:
* componenti linguistiche:
** segnali linguistici (ad es. intonazione delle domande);
** arricchimento semantico della frase (ad es. evidenziare parole o fare parentesi);
* componenti personali:
** identità del parlatore (sesso, età...): è legata alla frequenza fondamentale media (valori tipici: 100 Hz per gli uomini, 200 Hz per le donne);
** accento e inflessione dialettale: danno un'idea della provenienza geografica;
** stato d'animo e di salute del parlatore.

### Cavità orale

Il tratto vocale è una cavità complicata: la voce si propaga sia attraverso la cavità nasale sia attraverso quella orale. Per semplicità, si considera la propagazione della voce solamente attraverso la cavità orale.
La cavità orale è la componente responsabile dell'intelligibilità attraverso l'emissione di fonemi che verranno poi interpretati dal sistema uditivo umano: il sistema uditivo identifica i fonemi grazie all'analisi dello spettro del segnale, e in particolare delle risonanze (effettua una trasformata di Fourier del suono).
La cavità orale può essere vista come un sistema tempo-variante composto da un "tubo" a sezione variabile a causa del diverso posizionamento degli articolatori, in primo luogo della lingua che "sposta" le risonanze, e questi articolatori, svariate volte al secondo, enfatizzano alcune frequenze nello spettro del segnale che attraversa la cavità provocando la nascita di risonanze tempo-varianti (quindi non periodiche).
È detta formante la frequenza che viene maggiormente enfatizzata per formare una risonanza. Per la modellizzazione della cavità orale occorre individuare le formanti:
* suoni non vocalizzati: le risonanze agiscono su un segnale piatto, producendo un segnale con dei picchi in frequenza → quei picchi sono proprio le formanti;
* suoni vocalizzati: il segnale in arrivo dalla laringe ha già dei picchi dello spettro periodici, che vengono aumentati in corrispondenza delle risonanze e abbassati tra di esse → le formanti corrispondono ai picchi dell'inviluppo dello spettro, cioè i punti dove è concentrata l'energia.
Il sistema uditivo identifica le prime due o tre formanti per identificare i fonemi pronunciati → sono sufficienti le prime due formanti $F_{1}$ e $F_{2}$ ai fini dell'intelligibilità (anche se con 3 formanti l'intelligibilità è migliore).

#### Parametri ideali

* le prime due formanti $F_{1}$ e $F_{2}$
* le ampiezze $Q_{1}$ e $Q_{2}$ delle prime due formanti

#### Filtro di sintesi

Assumendo che il sistema fonatorio cambi 50 volte al secondo, ogni 20 ms sarebbe necessario determinare l'inviluppo dallo spettro del segnale e ricavare le formanti → la complessità di calcolo sarebbe eccessiva.
Un approccio alternativo è modellare la cavità orale come un filtro di ordine 4, chiamato filtro di sintesi o filtro di predizione lineare, la cui risposta in frequenza ha la "forma" di un generico inviluppo con due picchi.
Questa forma è descritta nel dominio della frequenza da un polinomio complesso che dipende da 4 coefficienti di predizione lineare $\alpha _{i}$, i quali costituiscono i parametri da trasmettere al ricevitore: ogni 20 ms si calcolano i coefficienti di predizione lineare ottimi, tali da minimizzare localmente la distanza (nel senso euclideo) tra lo spettro del segnale e la risposta in frequenza del filtro (il calcolo è analogo alle tecniche ADPCM, ma nel dominio della frequenza anziché nel dominio del tempo).
In pratica lo standard LPC-10 preferisce un filtro di ordine 10 (8÷12), che equivale a 5 risonanze, invece di un filtro di ordine 4 (2 risonanze) perché:
* è meglio considerare le prime tre formanti per una migliore intelligibilità;
* la cavità nasale introduce degli zeri nella risposta in frequenza → è necessario un ordine superiore per bilanciare il fatto che la cavità nasale è stata trascurata → la voce è più naturale.

##### Parametri

* 10 coefficienti di predizione lineare $\alpha _{i}$ (~40-45 bit)

### Codifica e decodifica

Riepilogo dei parametri del modello di produzione del segnale vocale :
| Organo | Parametri | Numero di bit (ogni 20 ms) |
| polmoni | gain | 7 bit |
| laringe | flag vocalizzato/non vocalizzato | 1 bit |
| laringe | frequenza fondamentale (se vocalizzato) | 7 bit |
| cavità orale | 10 coefficienti di predizione lineare | 45 bit |
| totale: | totale: | 60 bit |
Il codificatore è una batteria di algoritmi di stima, seguiti dai corrispondenti quantizzatori:
Il decodificatore produce la voce sintetica usando il modello di produzione del segnale vocale:
* suono vocalizzato: viene generato del rumore bianco sintetico, formato da una sequenza di numeri casuali;
* suono non vocalizzato: una sequenza di impulsi approssima molto bene la sequenza di sbuffi delle membrane della laringe.

### Limiti LPC-10

La naturalezza della codifica LPC-10 è medio-bassa (MOS ≈ 2,7); per migliorare la naturalezza non è sufficiente aumentare il bit rate a disposizione, ma occorre modificare l'architettura di base.
Il modello di produzione usato dalla codifica LPC-10 presenta alcuni limiti:
* bontà del modello: determina il limite superiore della qualità: i parametri possono anche essere perfetti, ma non basta se il modello è scadente:
** + polmoni: la modellizzazione funziona bene perché sono semplici da modellare;
** − laringe: il flag vocalizzato/non vocalizzato è un'assunzione troppo semplicistica:
*** l'intero segmento da 20 ms è forzato essere o tutto vocalizzato o tutto non vocalizzato;
*** il suono può essere una via di mezzo tra vocalizzato e non vocalizzato (ad es. voce roca);
** + cavità orale: la modellizzazione funziona molto bene, considerando che è stato scelto un filtro di ordine 10;
* affidabilità algoritmi di stima (con segnali naturali):
** + gain: esistono algoritmi stabili;
** + coefficienti di predizione lineare: esistono algoritmi stabili;
** − frequenza fondamentale: è difficile da stimare fedelmente con sufficiente affidabilità (ad es. musica di sottofondo, finestrino aperto...);
* + prestazioni dei quantizzatori: la quantizzazione è già percettivamente trasparente.

## MELP

Il MELP fu il nuovo standard della NATO pubblicato a metà degli anni '90.
Il principale limite di LPC-10 era la modellizzazione della laringe: il suono può essere una via di mezzo tra vocalizzato e non vocalizzato (ad es. voce roca). Il MELP migliora la modellizzazione della laringe:
* lo spettro del segnale vocale viene suddiviso sottobanda per sottobanda;
* a ogni sottobanda viene assegnato un numero reale che identifica il tipo di componente sonora:
** 1 = vocalizzato (periodico)
** 0,5 = una via di mezzo tra vocalizzato e non vocalizzato
** 0 = non vocalizzato (rumore)

### Caratteristiche

* bit rate: rimane lo stesso di LPC-10:
    $R=2400\;{\text{b/s}}$
* naturalezza: rimane al di sotto della toll quality, ancora troppo bassa per la telefonia commerciale:
    MOS ≈ 3,2