Pregunta

Quiero hacer el algoritmo de cepstrum de frecuencia de mel, pero hay algunas cosas que no entiendo.

Después de que FTT esté hecho, necesitamos "Mapear las potencias del espectro obtenido arriba en la escala de mel, usando ventanas superpuestas triangulares."

Sé cómo calcular los triángulos y también sé cómo pasar a escala mel. Simplemente no sé qué hacer con ellos.

Si se definen los triángulos, ¿cómo mapeo la potencia del espectro obtenido anteriormente en la escala mel?

¿Es así? ¿Sumar las frecuencias dentro del triángulo y luego pasarlo a escala mel? o ¿Sumar las frecuencias dentro del triángulo de acuerdo con un valor de peso (definido por la altura del triángulo en ese punto) y luego pasarlo a la escala mel? o ¿Pasar todas las frecuencias dentro del triángulo a la escala mel de acuerdo con el valor weith? ¿Otra cosa?

¿Alguien me puede aclarar esto?

¿Fue útil?

Solución

Creo que este paso del proceso es un poco extraño y no tiene mucho sentido (para mí de todos modos). El centro de las bandas de filtro está igualmente espaciado a lo largo de la escala mel, pero son triángulos en la escala lineal, es decir, al igual que la figura aquí .

Luego calcule la suma ponderada usando estos triángulos a lo largo del eje lineal x. (En este paso anterior, creo que algunos enfoques se normalizan por el área del triángulo de filtro, y otros no, y honestamente no estoy seguro de las consecuencias finales aquí, aunque sospecho que puede no significar mucho, excepto modificar el interpretación final, que son todas comparaciones relativas de todos modos. Uno mantiene la energía total y el otro proporciona contribuciones igualmente ponderadas por banda). Luego tome el registro de esto (que convierte el factor de volumen general en un desplazamiento).

Editar: Para ser más claro al aplicar los filtros ... Cada triángulo representa un filtro separado, produciendo una suma ponderada separada. Si hay veinte filtros en su banco de filtros, habrá veinte triángulos y veinte sumas ponderadas para calcular. Para aplicar cada filtro, para cada valor del eje x, multiplique el valor del filtro en esa ubicación x por el valor de la función en esa ubicación x, y agregue esto a la suma de ese filtro en particular. La mayoría de los valores del eje x tienen dos filtros que están presentes allí, por lo que en cada ubicación x contribuye a dos filtros.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top