Giusto per chiarire le cose: questa proprietà non è fondamentale ma importante . È la differenza fondamentale quando si tratta di utilizzare DCT anziché DFT per il calcolo dello spettro.
Perché facciamo la normalizzazione media cefalica
Nel riconoscimento degli altoparlanti vogliamo rimuovere qualsiasi effetto di canale (risposta all'impulso del tratto vocale, percorso audio, stanza, ecc.). A condizione che il segnale di ingresso sia e che la risposta all'impulso del canale sia data da h [ n ] , il segnale registrato è una convoluzione lineare di entrambi:x [n]h [ n ]
y[ n ] = x [ n ] ⋆ h [ n ]
Prendendo la trasformata di Fourier otteniamo:
Y[ f] = X[ f] ⋅ H[ f]
a causa della proprietà di equivalenza convoluzione-moltiplicazione di FT - ecco perché è così importante proprietà di FFT in questo passaggio .
Il prossimo passo nel calcolo del ceppo è il logaritmo dello spettro:
Y[ q] = registroY[ f] = registro( X[ f] ⋅ H[ f] ) = X[ q] + H[ q]
log( a b ) = loga + logBq
Cos'è la normalizzazione media cefalica?
Ora sappiamo che nel dominio cefalico ogni distorsione convoluzionale è rappresentata dall'addizione. Supponiamo che siano tutti fissi (il che è un presupposto forte poiché il tratto vocale e la risposta del canale non cambiano) e che la parte stazionaria del discorso è trascurabile. Possiamo osservare che per ogni i-esimo frame è vero:
Yio[ q] = H[ q] + Xio[ q]
Prendendo la media su tutti i frame che otteniamo
1NΣioYio[ q] = H[ q] + 1NΣioXio[ q]
Definire la differenza:
Rio[ q]= Yio[ q] - 1NΣjYj[ q]= H[ q] + Xio[ q] - ( H[ q] + 1NΣjXj[ q] )= Xio[ q] - 1NΣjXj[ q]
Finiamo con il nostro segnale con le distorsioni del canale rimosse. Mettere tutte le equazioni sopra in inglese semplice:
- Calcola il porcospino
- Sottrai la media da ciascun coefficiente
- Opzionalmente dividere per varianza per eseguire la normalizzazione media cefalica rispetto alla sottrazione.
È necessaria la normalizzazione media cefalica?
Non è obbligatorio, soprattutto quando si tenta di riconoscere un oratore in un singolo ambiente. In effetti, può persino deteriorare i risultati, poiché è soggetto a errori dovuti al rumore aggiuntivo:
y[ n ] = x [ n ] ⋆ h [ n ] + w [ n ]
Y[ f] = X[ f] ⋅ H[ f] + W[ f]
logY[ f] = registro[ X[ f] ( H[ f] + W[ f]X[ f]) ] =logX[ f] + log( H[ f] + W[ f]X[ f])
In condizioni SNR scadenti il termine contrassegnato può superare la stima.
Anche se quando viene eseguito CMS, di solito è possibile guadagnare qualche percentuale in più. Se si aggiunge a quel guadagno in termini di prestazioni da derivati di coefficienti, si ottiene un vero aumento del tasso di riconoscimento. La decisione finale spetta a te, in particolare che ci sono molti altri metodi utilizzati per il miglioramento dei sistemi di riconoscimento vocale.