La factorización de matriz no negativa tiene como objetivo factorizar una matriz en el producto de dos matrices, , donde representa un conjunto de vectores base y sus activaciones o pesos. Aplicado a la separación de la fuente de audio, es el espectrograma (que conocemos), y es la base de los espectros no negativos, son sus activaciones temporales.
Parece que soy capaz de expresar un espectrograma como una suma de diferentes intervalos de frecuencia y sus magnitudes, lo que ayudaría a filtrar o separar diferentes tonos (¿aparentemente haciendo el trabajo de un filtro de paso de banda normal?). No entiendo cómo esto realmente separaría, por ejemplo, un piano y un cantante cantando el mismo tono o un tono similar.
audio
source-separation
Samyukta Ramnath
fuente
fuente
Respuestas:
Recordemos que las columnas deW puede considerarse como vectores "básicos" (o elementos de un diccionario, los componentes básicos de cualquier señal) y elementos en cada columna en H dar los pesos correspondientes (que varían con el tiempo). Esto nos permite descomponer el espectrograma basado no solo en componentes de frecuencia sino también en información de inicio temporal; por lo tanto, hace más de lo que haría un simple filtro de paso de banda o filtro de peine.
La factorización matricial no negativa de un espectrograma no separará mágicamente un piano y un cantante que cantan en el mismo tono. Sin embargo, proporciona una aproximación útil en términos de una suma de vectores base ponderados que (con suerte) se pueden dividir en contribuciones de diferentes fuentes porque es poco probable que cada fuente ocupe exactamente el mismo intervalo de frecuencia exactamente en el mismo instante de tiempo.
Más concretamente, dejemosV ser METRO× N , W ser METRO× K y H ser K× N . Entonces tenemosMETRO contenedores de frecuencia, norte muestras de tiempo y K Componentes descompuestos. Siwyo son las columnas de W y hyo son las filas de H podemos escribir:
En realidad, es probable que terminemos con una descomposición que nunca logre esta separación exactamente. Es decir, habráwyo Los que tienen contribuciones tanto del cantante como del piano hacen que sea difícil separarlos.
Aquí hay un cuaderno de Python que muestra este procedimiento para una mezcla de batería y guitarra: http://nbviewer.jupyter.org/gist/ingle/93de575aac6a4c7fe9ee5f3d5adab98f (O si eso no funciona, aquí: https://gist.github.com / ingle / 93de575aac6a4c7fe9ee5f3d5adab98f )
Tenga en cuenta que el algoritmo NMF solo genera una descomposición. No puede seleccionar subconjuntos de{wyo} correspondiente a cada fuente. En el ejemplo de Python, hay un paso manual para descubrir quéwyo Suena más como el tambor de guitarra v / s. Tal vez se pueda automatizar este paso observando que el tamborwyo los vectores tienen más cosas en frecuencias más bajas.
Analizar cada columna (cuadro) del espectrograma utilizando un banco de filtros de paso de banda es otra forma de descomponer el espectrograma. Sin embargo, tenga en cuenta que la descomposición generada por NMF es de bajo rango, es decir, parsimoniosa. En el ejemplo de Python, fue mucho más fácil seleccionar manualmente subconjuntos de 16 columnas deW correspondiente a las dos fuentes. Con un banco de filtros de paso de banda habríamos tenido que girar muchos más mandos (# filtros, ubicaciones de bandas de paso para cada cuadro) y el número de combinaciones de parámetros puede crecer muy rápidamente.
Referencias
https://ccrma.stanford.edu/~njb/teaching/sstutorial/part2.pdf
http://musicinformationretrieval.com/nmf.html
fuente
Objetivo: buena aproximación de separar un cantante de un piano. Ahora, algunas reflexiones sobre los requisitos para una separación precisa de las fuentes de sonido dado que es poco probable que tenga TODA la información de entrada requerida para hacer una separación precisa (posiblemente sus "vectores base"):
- para cada volumen de cada nota del piano, el resultado distribución de frecuencia muestreada en el tiempo (cuando ataca y luego se desvanece). - para cada nota X volumen X fonema de los cantantes expresan la distribución de frecuencia (y su variación con varios niveles de vibrato). - para todo lo anterior se debe considerar el efecto de reverberación. - la letra de la canción (para que coincida con los fonemas del cantante)
También hay restricciones en el dominio del tiempo, como cada nota de piano debe comenzar con el ataque y los efectos del pedal de sostenido del piano (amortiguación súbita casi simultánea de notas que estaban "sonando" aunque se habían liberado las teclas correspondientes)
Dado lo anterior, la búsqueda es la suma de "mejor ajuste" de un conjunto de espectros de notas de piano y el espectro de un solo fonema de volumen de nota de cantante para aproximar el sonido resultante.
fuente