Riconoscimento di modelli per dati temporali


9

Sto cercando di rilevare e classificare i suoni non vocali. Attualmente sto usando una serie di spostamento di spettri di potenza sovrapposti da suoni di allenamento come le caratteristiche che sto cercando.

Quando faccio l'analisi, sto solo calcolando la stessa quantità di spettri sovrapposti in modo che il numero di funzioni sia lo stesso. In questo momento la performance non è molto buona, può solo rilevare il silenzio rispetto al non silenzio.

Quali tecniche ci sono per questo tipo di rilevamento del segnale? Una delle mie preoccupazioni è che per suoni di lunghezze diverse nel dominio del tempo si tradurrebbe in lunghezze diverse di vettori di funzioni che quindi non posso usare lo stesso classificatore, sono bloccato su questo.

Risposte:


3

Stai cercando di rilevare il parlato rispetto al non parlato o ci sono classi di suoni non vocali da cui stai cercando di discriminare? Non sono chiaro dalla tua domanda.

Penso che un primo approccio decente sarebbe quello di bloccare il segnale in frame e calcolare i coefficienti cefalici a frequenza mel (MFCC), così come gli MFCC delta (differenze tra gli MFCC dei frame adiacenti) e gli MFCC delta-delta (differenze tra gli MFCC in frame separati da due frame). Questo non è l'unico modo per farlo, ma senza una conoscenza più specifica del dominio problematico, questo è probabilmente un buon punto di partenza.

Solo googling dovrebbe darti qualche buon riferimento su come calcolare gli MFCC se non li conosci già. Fondamentalmente prendi il DFT, prendi le magnitudini, calcoli le energie all'interno delle finestre triangolari corrispondenti all'udito umano, prendi il DCT di questi coefficienti, essenzialmente come un passo di compressione, e poi scarti i coefficienti di alto ordine, di solito prendendo solo i primi dodici coefficienti . Ho una spiegazione del significato del passaggio DCT in questo post: Come interpretare il passaggio DCT nel processo di estrazione MFCC?

È quindi possibile, ad esempio, utilizzare questi coefficienti come funzionalità per un SVM.


2

Penso che in genere tu stia esaminando un problema di rilevamento del parlato , che esiste da sempre, e ci sono miriadi di metodi per farlo sviluppati ormai. Sembra che questo documento , ad esempio, utilizzi anche tecniche spettrali, quindi potresti voler iniziare da lì. Una buona vecchia ricerca su Google restituirà molti risultati con collegamenti a documenti e articoli.

Generalmente ci sono due approcci in qualche modo distinti al rilevamento del parlato. Uno consente l'assunzione di un buon rapporto discorso-rumore (la voce è più forte del rumore ambientale, della musica, di altri contenuti non pertinenti) e l'altra non fa tali assunzioni e cerca di identificare la presenza del parlato in segnali molto rumorosi (discorso nascosto in rumore). A seconda di quale stai cercando di fare, finirai per guardare documenti molto diversi. Forse se chiarisci un po 'la tua domanda ed elabori i tipi di segnali vocali con cui stai lavorando, questo sito potrebbe essere di maggiore aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.