2009-10-28 17 views
5

Voglio fare l'algoritmo di cepstrum Mel-Frequency ma ci sono alcune cose che non capisco.Come rendere l'algoritmo MFCC?

Al termine dell'FTT è necessario "mappare i poteri dello spettro ottenuto sopra sulla scala mel, utilizzando finestre sovrapposte triangolari".

So come calcolare i triangoli e so anche come passare alla scala mel. Semplicemente non so cosa fare con loro.

Se i triangoli sono definiti, come si mappa la potenza dello spettro ottenuto sopra sulla scala mel?

È così: Sommare le frequenze all'interno del triangolo e quindi passarlo alla scala del mel? o Sommare le frequenze all'interno del triangolo in base a un valore di peso (definito dall'altezza del triangolo in quel punto) e quindi passarlo alla scala mel? o Passa tutte le frequenze all'interno del triangolo alla scala mel in base al valore weith? Un'altra cosa?

Can

chiunque chiarisce questo a me

+1

Il mio suggerimento è di essere un membro semplice e gentile della comunità. Interrompere la pubblicazione con nomi utente diversi (Andre, Andre Ferreira e aF); Ringraziate le persone per il loro aiuto nelle vostre precedenti tre domande simili, e avanzate e accettate le loro risposte, se appropriato (questa domanda attuale sta chiaramente seguendo le mie precedenti risposte, ma senza alcun riscontro o aggiornamento); e sii onesto (non rispondere alle tue stesse domande come se fossi qualcun altro). Per domande come queste, è una comunità molto piccola. Altrimenti, paga qualcuno per aiutarti ... vorresti conoscere le mie tariffe? – tom10

+0

Non sono stato registrato e non ho accesso dopo il logout. Non capisco molto bene questa parte e sono grato a quello che hai detto fino ad ora. Quindi, per favore, puoi aiutarmi a capirlo a tutti? Ho già letto un sacco di cose ma questa parte non la capisco davvero. –

+0

Sicuro. 1) L'etichettatura delle domande è molto importante. Penso che ottenere più persone vedano la tua domanda taggarla anche con "FFT" e "elaborazione del segnale".2) le persone su SO sono motivate dall'aiutare le persone e ottenere punti, in modo da sovvertire le cose che ti piacciono facendo clic sulla freccia dalla domanda o risposta, e accettare la risposta alla tua domanda che funziona per te (fai clic sul segno di spunta, io pensare). 3) segui le tue domande anche dopo che hanno ricevuto una risposta in modo che le persone si sentano riconosciute. – tom10

risposta

5

Credo che questa fase del processo è un po 'strano e non ha senso completo (per me comunque). Il centro delle bande del filtro sono equidistanti lungo la scala mel, ma sono triangoli sulla scala lineare, cioè proprio come nella figura here.

Quindi calcolare la somma ponderata utilizzando questi triangoli lungo l'asse x lineare. (In questo passaggio precedente, penso che alcuni approcci si normalizzino dall'area del triangolo del filtro, e alcuni no, e onestamente non sono sicuro delle conseguenze finali qui, anche se sospetto che potrebbe non significare molto se non modificare il interpretazione finale che sono comunque tutti confronti relativi: uno mantiene l'energia totale e l'altro dà contributi altrettanto ponderati per banda). Quindi prendi il log di questo (che converte il fattore di volume complessivo in un offset).

Edit: Per essere più chiari sull'applicazione dei filtri ... Ogni triangolo rappresenta un filtro separato, producendo una somma pesata separato. Se ci sono venti filtri nella banca dei filtri, ci saranno venti triangoli e venti somme ponderate da calcolare. Per applicare ciascun filtro, per ogni valore dell'asse x più il valore del filtro in corrispondenza di quella posizione x in base al valore della funzione in quella posizione x, e aggiungere questo alla somma per quel particolare filtro. La maggior parte dei valori dell'asse x con due filtri presenti lì, quindi in ogni posizione x contribuisce a due filtri.

+0

Ho modificato la mia risposta per rispondere alla tua domanda, spero. In caso contrario, ripeti la domanda con molta attenzione, così capisco cosa non è chiaro. – tom10

+0

Inoltre, probabilmente puoi ancora accettare la mia risposta, anche senza 15 punti. Non è che muoio dalla voglia di ottenere i punti qui, è onestamente più che ti coinvolga, ma vedi questo ... http://meta.stackexchange.com/questions/8396/how-do-i-accept-an -answer-where-do-i-click Ma non accettarlo comunque per circa un giorno, quindi più persone vedranno la domanda e forse qualcuno avrà qualcosa di illuminante da dire. – tom10

+0

Grazie ancora! Offcourse Accetto la tua risposta. Sei stato fantastico con me. L'ultimo dubbio riguarda la conversione da frequenza a scala mel. Questo viene fatto applicando i filtri e la somma dei pesi? o Ho bisogno di fare qualcosa del genere: http://en.wikipedia.org/wiki/Mel_scale ovunque? –