Capisco i passaggi di base della creazione di un motore di riconoscimento vocale automatico. Tuttavia, ho bisogno di una chiara idea di come viene eseguita la segmentazione e quali sono i frame e i campioni. Scriverò ciò che so e mi aspetto che la risposta mi corregga nei posti in cui ho torto e mi guidi ulteriormente.Come dividere i dati vocali sui frame e calcolare MFCC
Le operazioni di base di riconoscimento vocale come io so che sono:
(sto assumendo i dati di input è un file wav/ogg (o qualche tipo di audio))
- Pre- enfatizza il segnale vocale: cioè, applica un filtro che metterà l'accento sui segnali ad alta frequenza. Forse qualcosa come: y [n] = x [n] - 0,95 x [n-1]
- Trova il tempo da cui le espressioni iniziano e ridimensionano la clip. (Intercambiabile con il passaggio 1)
- Segmenta la clip in intervalli di tempo più piccoli, ogni segmento ha una lunghezza di 30msec. Inoltre, ogni segmento avrà circa 256 frame e due segmenti avranno una separazione di 100 frame? (vale a dire, 30 * 100/256 msec?)
- Applica finestra di Hamming a ciascun frame (1/256 ° di un segmento)? Il risultato è una serie di frame di segnali.
- fast Fourier del segnale di ciascun frame rappresentato da X (t)
- Mel Filter Bank Processing: (Non ancora andato in dettaglio)
- Discrete Cosine Transform: (Non ancora andato in dettaglio - ma sapere che questo mi darà una serie di MFCCs, anche chiamati vettori acustiche per ogni espressione di ingresso
- Delta Energy e Delta Spectrum:. So che questo viene utilizzato per calcolare delta e doppie coefficienti delta di MFCCs, non molto
- Dopo questo. , Penso di aver bisogno di usare HMM o RNA per classificare i Coefficienti di Cepstrum di Mel Frequency (delta e double delta) ai fonemi corrispondenti ed eseguire analisi t o abbinare i fonemi alle parole e rispettivamente le parole alle frasi.
Sebbene questi siano chiari per me, sono confuso se il passaggio 3 è corretto. Se è corretto, nei passaggi successivi 3, lo applico a ciascun fotogramma? Inoltre, dopo il punto 6, penso che ogni frame abbia il proprio set di MFCC, ho ragione?
Grazie in anticipo!
come costruire mfcc da un file .wav/.mp4? –
@kRazzyR Non so come rispondere in un commento, ma è necessario leggere il file audio (se necessario, decomprimerlo prima) come una serie storica. Quindi applica approssimativamente i passaggi indicati in questa domanda e risposta. – cipher
Ok, lo capisco. c'è un pacchetto python chiamato librosa. Sono stato in grado di generare mfcc usando 'import librosa y, sr = librosa.load ('./ data/tring/abcd.wav') mfcc = librosa.feature.mfcc (y = y, sr = sr)' –