Domanda

Voglio creare l'algoritmo del ceppo di frequenza mel, ma ci sono alcune cose che non capisco.

Dopo aver fatto FTT dobbiamo " mappare i poteri dello spettro ottenuto sopra sulla scala mel, usando finestre triangolari sovrapposte. "

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

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

È così: Somma le frequenze all'interno del triangolo e poi passale alla scala 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 per ridimensionare la scala in base al valore weith? Un'altra cosa?

Qualcuno può chiarirmi questo

È stato utile?

Soluzione

Penso che questo passaggio del processo sia un po 'strano e non abbia completamente senso (per me comunque). Il centro delle bande del filtro è equidistanziato lungo la scala mel, ma sono triangoli sulla scala lineare, cioè proprio come la figura qui .

Quindi calcola la somma ponderata usando questi triangoli lungo l'asse x lineare. (In questo passaggio precedente, penso che alcuni approcci si normalizzino nell'area del triangolo-filtro, e altri 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 fornisce contributi equamente ponderati per banda.) Quindi prendi il registro di questo (che converte il fattore di volume complessivo in un offset).

Modifica Per essere più chiari sull'applicazione dei filtri ... Ogni triangolo rappresenta un filtro separato, producendo una somma ponderata separata. Se ci sono venti filtri nel tuo banco di filtri, ci saranno venti triangoli e venti somme ponderate da calcolare. Per applicare ciascun filtro, per ciascun valore dell'asse x moltiplicare il valore del filtro in quella posizione x per il valore della funzione in quella posizione x e aggiungere questo alla somma per quel particolare filtro. La maggior parte dei valori dell'asse x hanno due filtri che sono presenti lì, quindi in ogni posizione x contribuisce a due filtri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top