Proyectos de procesamiento de audio | Aprendizaje profundo de procesamiento de audio

Contenidos

Introducción

Imagine un mundo en el que las máquinas comprendan lo que quiere y cómo se siente cuando llama al servicio de atención al cliente; si no está satisfecho con algo, habla con una persona rápidamente. Si está buscando una información específica, es factible que no necesite hablar con una persona (¡a menos que lo desee!).

Este va a ser el nuevo orden del mundo; ya se puede ver que esto está sucediendo en buena medida. Consulte los aspectos más destacados de 2017 en la industria de la ciencia de datos. Puede ver los avances que el aprendizaje profundo estaba aportando en un campo que antes era difícil de solucionar. Uno de esos campos que el aprendizaje profundo tiene el potencial de ayudar a solucionar es el procesamiento de audio / voz, especialmente debido a su naturaleza no estructurada y gran impacto.

Entonces, para los curiosos, he compilado una lista de tareas que es importante destacar ensuciarse las manos al comenzar en el procesamiento de audio. Estoy seguro de que habrá algunos avances más en el futuro usando Deep Learning.

El post está estructurado para explicar cada tarea y su relevancia. Además hay un documento de investigación que incluye los detalles de esa tarea específica, junto con un estudio de caso que lo ayudaría a comenzar a solucionar la tarea.

¡Por lo tanto comencemos!

1. Clasificación de audio

La clasificación de audio es un obstáculo fundamental en el campo del procesamiento de audio. La tarea es esencialmente extraer características del audio y posteriormente identificar a qué clase pertenece el audio. Se pueden hallar muchas aplicaciones útiles asociadas con la clasificación de audio en la naturaleza, como la clasificación de géneros, el acreditación de instrumentos y la identificación de artistas.

Esta tarea además es el tema más explorado en el procesamiento de audio. Se publicaron muchos posts en este campo en el último año. En realidad, además hemos alojado un practicar hackathon para la colaboración de la comunidad para solucionar esta tarea en particular.

Papel blancohttp://ieeexplore.ieee.org/document/5664796/?reload=true

Un enfoque común para solucionar una tarea de clasificación de audio es preprocesar las entradas de audio para extraer características útiles y posteriormente aplicarle un algoritmo de clasificación. A modo de ejemplo, en el estudio de caso a continuación, se nos da un extracto de 5 segundos de un sonido, y la tarea es identificar a qué clase pertenece, ya sea un perro ladrando o un sonido de perforación. Como se menciona en el post, un enfoque para lidiar con esto es extraer una característica de audio llamada MFCC y posteriormente pasarla por medio de una red neuronal para obtener la clase apropiada.

Caso de estudio – https://www.analyticsvidhya.com/blog/2017/08/audio-voice-processing-deep-learning/

2. Huellas digitales de audio

El objetivo de la toma de huellas digitales de audio es determinar el «resumen» digital del audio. Esto se hace para identificar el audio de una muestra de audio. Shazam es un excelente ejemplo de una aplicación de huellas digitales de audio. Reconoce la música sobre la base de los primeros dos a cinco segundos de una canción. A pesar de esto, aún hay situaciones en las que el sistema falla, especialmente cuando hay una gran cantidad de ruido de fondo.

Papel blancohttp://www.cs.toronto.edu/~dross/ChandrasekharSharifiRoss_ISMIR2011.pdf

Para solucionar este problema, un enfoque podría ser representar el audio de una manera distinto, de modo que se pueda descifrar fácilmente. Posteriormente, podemos descubrir los patrones que diferencian el audio del ruido de fondo. En el estudio de caso a continuación, el autor convierte audio sin procesar en espectrogramas y posteriormente utiliza algoritmos de búsqueda de picos y hash de huellas dactilares para establecer las huellas dactilares de ese archivo de audio.

Caso de estudiohttp://willdrevo.com/fingerprinting-and-audio-recognition-with-python/

3. Etiquetado automático de música

Etiquetado de música es una versión más compleja de la clasificación de audio. Aquí, podemos tener varias clases a las que puede pertenecer cada audio, además conocido como un obstáculo de clasificación de múltiples etiquetas. Una factible aplicación de esta tarea puede ser la creación de metadatos para el audio para poder buscarlos más adelante. El aprendizaje profundo ha ayudado a solucionar esta tarea hasta cierto punto, lo que se puede ver en el estudio de caso a continuación.

Papel blancohttps://link.springer.com/article/10.1007/s10462-012-9362-y

Como se ve con la mayoría de las tareas, el primer paso es siempre extraer características de la muestra de audio. Posteriormente, ordénelo de acuerdo con los matices del audio (a modo de ejemplo, si el audio contiene más ruido instrumental que la voz del cantante, la etiqueta podría ser «instrumental»). Esto se puede hacer a través de aprendizaje automático o métodos de aprendizaje profundo. El estudio de caso que se menciona a continuación utiliza el aprendizaje profundo para solucionar el problema, específicamente la red neuronal recurrente de convolución junto con la extracción de frecuencia Mel.

Caso de estudiohttps://github.com/keunwoochoi/music-auto_tagging-keras

4. Segmentación de audio

La segmentación significa literalmente dividir un objeto en particular en partes (o segmentos) según un conjunto definido de características. La segmentación, especialmente para el análisis de datos de audio, es un paso previo al procesamiento importante. Esto se debe a que podemos segmentar una señal de audio larga y ruidosa en segmentos cortos y homogéneos (prácticas secuencias cortas de audio) que se usan para su procesamiento posterior. Una aplicación de la tarea es la segmentación de los sonidos cardíacos, dicho de otra forma, identificar los sonidos específicos del corazón.

Papel blancohttp://www.mecs-press.org/ijitcs/ijitcs-v6-n11/IJITCS-V6-N11-1.pdf

Podemos convertir esto en un obstáculo de aprendizaje supervisado, donde cada sello de tiempo se puede categorizar en función de los segmentos requeridos. Posteriormente, podemos aplicar un enfoque de clasificación de audio para solucionar el problema. En el estudio de caso a continuación, la tarea es segmentar el sonido del corazón en dos segmentos (lub y dub), de modo que podamos identificar una anomalía en cada segmento. Se puede solucionar a través de la extracción de características de audio y posteriormente se puede aplicar el aprendizaje profundo para la clasificación.

Caso de estudio – https://www.analyticsvidhya.com/blog/2017/11/heart-sound-segmentation-deep-learning/

5. Separación de fuentes de audio

Separación de fuente de audio se trata de aislar una o más señales fuente de una mezcla de señales. Una de las aplicaciones más comunes de esto es identificar la letra del audio para traducción simultánea (karaoke, a modo de ejemplo). Este es un ejemplo clásico que se muestra en el curso de aprendizaje automático de Andrew Ng, donde separa el sonido del altavoz de la música de fondo.

Papel blancohttp://ijcert.org/ems/ijcert_papers/V3I1103.pdf

Un escenario de uso típico implica:

  • cargando un archivo de audio
  • calcular una transformada de tiempo-frecuencia para obtener un espectrograma, y
  • usando algunos de los algoritmos de separación de fuentes (como la factorización matricial no negativa) para obtener una máscara de tiempo-frecuencia

Posteriormente, la máscara se multiplica con el espectrograma y el resultado se convierte de nuevo al dominio del tiempo.

Caso de estudiohttps://github.com/IoSR-Surrey/untwist

6. Seguimiento de tiempos

Como sugiere el nombre, el objetivo aquí es rastrear la ubicación de cada latido en una colección de archivos de audio. Rastreo de ritmo se puede usar para automatizar tareas que requieren mucho tiempo y que deben completarse para sincronizar eventos con música. Es útil en varias aplicaciones, como edición de video, edición de audio e improvisación entre humanos y computadoras.

Papel blancohttps://www.audiolabs-erlangen.de/content/05-fau/professor/00-mueller/01-students/2012_GroschePeter_MusicSignalProcessing_PhD-Thesis.pdf

Un enfoque para solucionar el seguimiento de latidos puede ser analizar el archivo de audio y utilizar un algoritmo de detección de inicio para rastrear los latidos. Aún cuando las técnicas utilizadas para la detección de inicio dependen en gran medida de la ingeniería de funciones de audio y el aprendizaje automático, el aprendizaje profundo se puede usar fácilmente aquí para aprovechar al máximo los resultados.

Caso de estudiohttps://github.com/adamstark/BTrack

7. Recomendación musical

Gracias a Internet, ahora tenemos millones de canciones que podemos escuchar en cualquier momento. Irónicamente, esto ha hecho que sea aún más difícil descubrir música nueva debido a la gran cantidad de alternativas que existen. Recomendación musical Los sistemas ayudan a lidiar con esta sobrecarga de información recomendando automáticamente nueva música a los oyentes. Los proveedores de contenido como Spotify y Saavn han desarrollado motores de recomendación de música altamente sofisticados. Estos modelos aprovechan el historial de escucha pasado del usuario, entre muchas otras características, para crear listas de recomendaciones personalizadas.

Papel blancohttps://pdfs.semanticscholar.org/7442/c1ebd6c9ceafa8979f683c5b1584d659b728.pdf

Podemos abordar el desafío de personalizar las preferencias de escucha entrenando un modelo de regresión / aprendizaje profundo. Esto se puede usar para predecir las representaciones latentes de canciones que se obtuvieron de un modelo de filtrado colaborativo. De esta manera, podríamos predecir la representación de una canción en el espacio de filtrado colaborativo, inclusive si no hay datos de uso disponibles.

Caso de estudiohttp://benanne.github.io/2014/08/05/spotify-cnns.html

8. Recuperación de música

Una de las tareas más difíciles en el procesamiento de audio, Mrecuperación usic esencialmente tiene como objetivo construir un motor de búsqueda basado en audio. Aún cuando podemos hacer esto resolviendo subtareas como la toma de huellas digitales de audio, esta tarea abarca mucho más que eso. A modo de ejemplo, además tenemos que solucionar diferentes tareas más pequeñas para diferentes tipos de recuperación de música (la detección de timbres sería excelente para la identificación de género). En este momento, no existe ningún otro sistema que se haya desarrollado para cumplir con los estándares esperados de la industria.

Papel blancohttp://www.nowpublishers.com/article/Details/INR-042

La tarea de recuperar música se divide en pasos más pequeños y sencillos, que incluyen el análisis tonal (a modo de ejemplo, melodía y armonía) y el ritmo o tempo (a modo de ejemplo, seguimiento de tiempos). Posteriormente, sobre la base de estos análisis individuales, se extrae información que se utiliza para recuperar muestras de audio similares.

Caso de estudiohttps://youtu.be/oGGVvTgHMHw

9. Transcripción de música

Transcripción de música es otra tarea desafiante de procesamiento de audio. Se trata de anotar audio y crear una especie de «hoja» para generar música a partir de ella en un momento posterior. El esfuerzo manual involucrado en transcribiendo música de las grabaciones puede ser enorme. Varía enormemente dependiendo de la complejidad de la música, qué tan buenas son nuestras habilidades para escuchar y qué tan detallados queremos transcripción ser.

Papel blancohttp://ieeexplore.ieee.org/abstract/document/7955698

El enfoque para la transcripción de música es equivalente al del acreditación de voz, donde las notas musicales se transcriben en extractos líricos de instrumentos.

Caso de estudiohttps://youtu.be/9boJ-Ai6QFM

10. Detección de inicio

La detección de inicio es el primer paso para analizar una secuencia de audio / música. Para la mayoría de las tareas mencionadas previamente, es algo necesario realizar una detección de inicio, dicho de otra forma, detectar el inicio de un evento de audio. La detección de inicio fue esencialmente la primera tarea que los investigadores intentaron solucionar en el procesamiento de audio.

Papel blancohttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.332.989&rep=rep1&type=pdf

La detección de inicio de forma general se realiza a través de:

  • calcular una función de novedad espectral
  • hallar picos en la función de novedad espectral
  • retrocediendo desde cada pico hasta un mínimo local precedente. El retroceso puede ser útil para hallar puntos de segmentación de modo que el inicio se produzca poco después del inicio del segmento.

Caso de estudiohttps://musicinformationretrieval.com/onset_detection.html

Notas finales

En este post, mencioné algunas tareas que se pueden considerar al solucionar problemas de procesamiento de audio. Espero que el post le resulte útil al momento de abordar proyectos relacionados con el audio y el habla.

Aprender, comprometerse , cortar a tajos y ser contratado!

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.