Video Summary and Transcription
Hoy exploramos la mezcla de DJ y cómo el aprendizaje profundo revoluciona el arte al discutir el procesamiento de sonido, la extracción de características y el uso del aprendizaje automático. El aprendizaje profundo permite la extracción eficiente de características de audio y la separación de pistas de alta resolución. Las redes neuronales pueden lograr la separación de fuentes convirtiendo el audio en espectrogramas y aplicando redes neuronales convolucionales y recurrentes. Esto tiene un impacto inmediato en industrias como el karaoke y la transcripción de música.
1. Introducción a la mezcla de DJ y el aprendizaje profundo
Hoy vamos a explorar la mezcla de DJ y cómo el aprendizaje profundo revoluciona el arte. Soy un DJ en Wix y un científico de datos. Ser DJ es más que curar listas de reproducción, se trata de leer a la multitud. A veces, cuando intento mezclar una canción que suena perfecta en mis auriculares, falla en la pista de baile. Permítanme mostrarles un ejemplo. Discutiremos el procesamiento de sonido, la extracción de características y el uso del aprendizaje automático. Y luego, nos sumergiremos en el enfoque revolucionario del aprendizaje profundo.
Hoy vamos a explorar y adentrarnos en este arte de la mezcla, de la mezcla de DJ, y voy a hablar desde esta perspectiva como DJ y también vamos a hablar sobre cómo el aprendizaje profundo trae una revolución completa a este arte de la mezcla de música y en general lo que se puede hacer con las señales de sonido y las redes neuronales.
Entonces, nuevamente, un poco más sobre mí. He estado trabajando en Wix durante los últimos siete años. Trabajo en el grupo de ciencia de datos. Mi trabajo diario es construir tuberías de aprendizaje automático para los científicos de datos en toda la organización. Para aquellos de ustedes que no están familiarizados con Wix, Wix es una plataforma de creación de sitios web. Y nuevamente, también soy DJ. Mezclo sonidos Dark 80s, synthwave y techno y de eso vamos a hablar hoy, nuevamente, este aspecto de mi vida como DJ.
Y no necesito decirles que ser DJ no solo implica curar la lista de reproducción correcta, sino también la capacidad de leer a la multitud y ver qué canción va a seguir según la energía en la pista de baile. Y el problema es, como, el problema es que a veces escucho algo muy bueno que encaja perfectamente en la pista de baile en mis auriculares y cuando intento mezclarlo en la pista de baile, falla. Permítanme mostrarles cómo arruino una mezcla. Y lo mal que suena. Así que elegí estas dos canciones. Una de ellas es de Adele. Están familiarizados con esta canción, ¿verdad? Y la siguiente es, oh, no esta. La siguiente es esta. También familiar. Por cierto, todo lo que hago, lo hago en vivo. Así que si tengo algunos problemas o algo sale mal, discúlpenme. ¿De acuerdo?
En mi cabeza, esas canciones encajan perfectamente. Pero si intento reproducirlas, y saltemos a esto, al punto más destacado de la canción de Adele. Intentaré mezclar la canción exactamente en el punto más alto de la misma. De acuerdo. Como han escuchado, hay mucho ruido. Aquí es donde, ya saben, algunos de ustedes probablemente pondrían caras de, hmm, ¿qué? ¿Qué le pasa a este DJ? Pero afortunadamente para mí, se sorprenderán al ver lo que, ya saben, una multitud muy borracha puede superar. Pero para mí, es devastador. Realmente arruina el momento, el ambiente está desequilibrado y necesito recuperarme de ello, y es muy estresante. Pero nuevamente, en mi cabeza, era perfecto. Entonces, ¿qué fue? Entonces, de lo que vamos a hablar hoy es qué es el sonido y cómo procesamos el audio con computadoras y cómo extraemos características de este audio y cómo lo usamos en el aprendizaje automático. ¿De acuerdo? Y luego hablaremos del enfoque del aprendizaje profundo, que es realmente revolucionario.
2. Explorando la Separación de Fuentes y el Modelado de Sonido
Todo comenzó con un correo electrónico sobre una tecnología única para separar las fuentes de las pistas. No le presté mucha atención hasta que un amigo pidió ayuda para separar las voces. Redescubrí la herramienta en mi software de DJ y quedé asombrado por sus capacidades en tiempo real. Intrigado, me adentré en la operación de fuentes musicales utilizando redes neuronales. El muestreo mide los niveles de amplitud, lo que resulta en una forma de onda que contiene información sobre la frecuencia, intensidad y timbre. Las computadoras tienen dificultades para distinguir entre los armónicos de los instrumentos, a diferencia de nuestros cerebros.
Y mientras hablamos, realmente están sucediendo cosas en este momento. Todo comenzó hace un par de años, cuando recibí un correo electrónico de las notas de lanzamiento del software de DJ que estoy utilizando, y decían algo así como: 'Queridos DJs, ahora podemos proporcionarles una tecnología única que les permitirá separar las fuentes de su pista y, con eso, ser creativos y hacer algo con ella'. Al principio, pensé que no era tan interesante. Quiero decir, probablemente ya se había resuelto. Pero era como la era posterior a la pandemia, todavía había limitaciones y restricciones de aglomeración, así que realmente no le presté atención en ese momento.
Recientemente, una amiga vino a mí y me pidió ayuda para separar las voces de una pista que tenía. Era una canción muy antigua y no había versiones de estudio ni nada por el estilo. ¿Qué podía hacer? A veces, tengo mi ecualizador aquí y puedo reproducir y, de alguna manera, reducir el sonido de algunos elementos o realzar el sonido de otros, pero no estaba creando realmente una versión de karaoke, desglosando las capas. Pero de repente recordé que tenía esta herramienta en mi software de DJ y leí la guía paso a paso de qué hacer, cómo configurarlo, hacer clic en unos botones y boom, lo tenía. Y me quedé asombrado, no solo fue agradable. Estaba asombrado por eso, y todo estaba sucediendo en tiempo real.
Esto es algo que no estaba en las notas de lanzamiento, por cierto, o tal vez sí lo estaba, pero no leí todo. Pero realmente me sorprendió, así que esto realmente activó mi parte ingenieril del cerebro. Y me pregunté, ¿qué hago? Quiero saber cómo suceden las cosas, así que fui a Google. Busqué la operación de fuentes musicales utilizando redes neuronales, descargué un artículo, lo leí, otro artículo, lo leí, descargué el conjunto de datos, descargué el código en Python, entrené el modelo yo mismo y luego lo probé con otra pista y otra pista y otra pista, y realmente me quedé impresionado con esta tecnología. Después de unas horas jugando con ella, así es como me veo. Descubrí un mundo completamente nuevo.
Entonces, lo primero es cómo modelamos el sonido, ¿de acuerdo? ¿Qué es el sonido? El sonido, en última instancia, es un cambio en la presión del aire causado por las vibraciones de las moléculas de aire. Nuestros oídos son sensibles a esas vibraciones y, en última instancia, esto es lo que nuestro cerebro percibe como sonido. Las computadoras hacen algo similar llamado muestreo. No voy a profundizar en esta técnica debido a las limitaciones de tiempo, pero la computadora mide los niveles de amplitud de esas vibraciones. Lo que obtenemos es una forma de onda, que es la representación visual más común del sonido, pero en realidad esta forma de onda contiene información multifactorial sobre el sonido. Lo primero es la frecuencia, ¿de acuerdo? Si nos acercamos, podemos obtener la frecuencia del sonido. Lo segundo es la intensidad del sonido. La intensidad se mide mediante un área al cuadrado de la forma de onda, y vemos cuál es el pico en proporción a cuáles son los puntos mínimos y máximos. Y luego tenemos algo muy importante, que es el timbre del sonido. El timbre también se considera la calidad tonal o el color tonal. No es la calidad de cómo escucho el sonido claramente, es la calidad tonal de cómo los armónicos de diferentes instrumentos se superponen entre sí. Por ejemplo, si estoy tocando un acorde de Do al mismo tiempo que alguien toca un acorde de Do en una guitarra, al mismo tiempo que alguien toca un acorde de Do en el piano, quiero poder distinguir entre esos instrumentos, y esto es algo muy difícil de hacer para las computadoras. De hecho, si lo piensas, nuestro cerebro puede hacerlo casi instantáneamente.
3. Comprendiendo los Espectrogramas y la Visualización
El espectrograma es una representación en 3D del sonido que muestra los cambios en las frecuencias a lo largo del tiempo. Los niveles de amplitud de un sonido se pueden observar a través del brillo de los colores en el espectrograma. Proporciona una visualización más conveniente en comparación con las formas de onda.
Entonces, mientras tenemos esta representación de forma de onda, también tenemos otra representación, otra representación visual, que se llama espectrograma. Veamos el ejemplo de sonido aquí. El ejemplo de sonido aquí es el acorde de Do. Vale, puedes ver los niveles de amplitud altos como hacia arriba. Podemos ver como los niveles de amplitud altos y se desvanecen. ¿De acuerdo? Y las formas de onda a diferencia de los niveles de amplitud, muestran los cambios de frecuencias a lo largo del tiempo. De acuerdo, las formas de onda muestran los cambios de amplitud a lo largo del tiempo. Pero luego puedes decir algo, oh, pero perdí los niveles de amplitud, que son muy importantes. Pero en realidad, si puedes ver, como un acorde de Do tiene una frecuencia de 500 hertzios. ¿De acuerdo? Y en un espectrograma, puedes ver en los 500 hertzios esta línea brillante. Así que en realidad, un espectrograma es una representación 3D de un sonido. ¿De acuerdo? Y cuanto más altos sean los niveles de amplitud, significa que el brillo de algún otro color seleccionado de esta manera será más fuerte. Eso es todo. Oh, de acuerdo. Así es como se ve un espectrograma. Pero es más conveniente verlo así.
4. Niveles de Abstracción en la Modelización del Sonido
Al extraer características de audio, existen tres niveles principales de abstracción: el nivel más bajo para el procesamiento de máquinas, el nivel medio para la percepción humana y el nivel más alto para nuestro disfrute de la música.
Entonces, la segunda pregunta es: ¿qué modelamos realmente en el sonido? ¿Qué podemos extraer? ¿Qué información podemos obtener de él? Al extraer características de audio, se considera que existen tres niveles principales de abstracción. En el nivel más bajo, podemos encontrar características como la amplitud, los envolventes, la energía frecuencias y la tasa de cruce por cero. Hablaremos de esto en solo un momento. Pero principalmente estamos lidiando con mucha información numérica en este nivel bajo. ¿De acuerdo? Este nivel bajo está destinado al procesamiento de máquinas. No es algo que nosotros, como humanos, podamos procesar o percibir. En el nivel medio, tenemos algo que es más perceptible para los humanos. Es como el tono, los ritmos, las notas. Vale, algo que los músicos específicamente pueden identificar de inmediato. Y en el nivel más alto, tenemos lo que cada uno de nosotros disfruta cuando estamos escuchando music, que es el tempo, las letras, la melodía, el ritmo y todo lo demás que lo rodea.
5. Extracción de Características y Separación de Pistas
En las técnicas tradicionales de aprendizaje automático, extraer características del sonido requiere un esfuerzo significativo. Sin embargo, en el aprendizaje profundo, la red puede extraer automáticamente características de audio, lo que hace que el proceso sea más eficiente. Esto permite la separación de fuentes de pistas, como voces e instrumentos, con alta resolución y calidad.
Entonces, en las técnicas tradicionales de aprendizaje automático, digamos que tengo este sonido y quiero saber si es un motor de coche. Esto suena como un motor de coche, ¿verdad? Entonces, digamos que soy un científico de datos o un ingeniero. Tengo que extraer diferentes tipos de características. Por el bien de este ejemplo, tomemos estas dos y las explicaré. El sobre de amplitud son los picos de las amplitudes, ¿vale, y los valores circundantes? Y la tasa de cruce por cero es como el ángulo o la velocidad cuando los valores de amplitud pasan de valores positivos a negativos.
Entonces, digamos que elijo esas dos y construyo un conjunto de datos adecuado. Entreno el modelo y ahora tengo un modelo que puede predecir, dado un sonido, si es un motor de coche o no. Pero escucha cuánto trabajo tuve que poner en este esfuerzo porque supongamos que por cada pequeño fragmento de sonido, necesito extraer todas esas características y procesarlas. Y esto a veces puede llevar tiempo.
Ahora, en una red neuronal o específicamente en el aprendizaje profundo, mi capacidad para darle a la red un audio en bruto como entrada, ¿vale, o de esta manera, digamos que no es un audio en bruto, es como un espectrograma y dejar que la red haga su magia como suele hacerlo con, por ejemplo, imágenes o cualquier otra cosa, como con imágenes. Y no necesito trabajar demasiado para eso porque la red extrae todas las características del audio por mí. Y eventualmente obtengo una predicción de si es un motor de coche o no. Ahora, si quiero, por supuesto, preparar un conjunto de datos y calcular alguna función de pérdida y entrenar la red una y otra vez, siento que obtengo una red sólida lista para la producción.
Puedo repetir este proceso, pero eventualmente quiero hacer lo mismo y separar las fuentes de las pistas en voces e instrumentos. Veamos cómo suena. Volvamos a Adele. Vale, ahora haré clic en algunos botones que preparé, suponiendo que este controlador de DJ es como un teclado, para que pueda configurarlo para presionar algunos botones y que funcione algo. De esta manera, quiero separar a Adele, por ejemplo. Ahora, no sé si te das cuenta, pero este es un ejemplo de alta resolución, alta calidad de separación de la pista. Puedes escuchar claramente la voz de Adele, incluyendo, por cierto, a los otros cantantes. Sí, los cantantes de respaldo, gracias. Y veamos cómo suena con los chicos de Crazy Town. Come my lady, come my lady, you're my butterfly, sugar, baby. Come my lady, come, come my lady, you're my butterfly, sugar, baby. You're such a sexy, sexy, pretty little thing, this little bitch, she got me strung with your tongue ring. Es un poco menos, menos como, menos performance que el resultado de Adele, pero aún así obtenemos una muy buena calidad de las voces aparte. Y si, en este ejemplo, solo quiero obtener los instrumentos, obtendré algo así. Y ahora tengo, solo los ritmos, ¿vale? Y puedo trabajar con eso. Y podemos ver algo, tal vez algo así.
6. Logrando la Separación de Fuentes con Redes Neuronales
Exploro cómo se logra la separación de fuentes utilizando redes neuronales. Al convertir el audio en espectrogramas y aplicar redes neuronales convolucionales y recurrentes, la red puede extraer características y crear una máscara para separar las voces e instrumentos. Esto tiene un impacto inmediato en industrias como el karaoke, la transcripción musical y la coincidencia y seguimiento de bits.
Puedo hacerlo, veamos, volvamos a Adele. Lo siento. Las cicatrices de tu amor me recuerdan a nosotros, me hacen pensar que casi lo tuvimos todo. Las cicatrices de tu amor, me dejan sin aliento, no puedo evitar sentir que podríamos haberlo tenido todo. Y si tuvieras mi corazón dentro, habría llegado lejos hasta la playa. ¿Bonito, verdad?
Veamos cómo se hace realmente bajo el capó. Tomé este ejemplo de este artículo. Y no voy a atacar por qué hicieron esto y no aquello. Probablemente haya mejores formas de hacerlo hoy en día, pero encuentro este ejemplo muy fácil de entender, como cómo funcionan realmente las redes neuronales y qué hacen. Así que vamos a verlo juntos.
Primero, tomo el audio y lo convierto en un espectrograma, que es la representación visual de la pista. Veamos, wow, wow, tengo como cinco minutos, vale. Estresante. Y lo siguiente es que utilizo tanto redes neuronales convolucionales, que destacan en, ya sabes, descomponer la música en pequeñas piezas y detectar los patrones locales. Y luego utilizo redes neuronales recurrentes, que destacan en encontrar las dependencias entre esas pequeñas partes de la pista. Y en realidad, en cada arquitectura de red neuronal para realizar esta tarea de separación de fuentes, encontrarás tanto la parte convolucional como la parte recurrente. Al final, obtenemos, como en cualquier resultado de ejecución de una red neuronal, obtenemos muchas mapas de características, ¿vale? Y finalmente, combinamos todos esos mapas de características en lo que se llama una máscara, ¿vale? Entonces, una máscara es como un sonido completo del resultado de esta red y lo que hago con esta máscara es pasarla a través de la entrada, la entrada original, tal cual, a través de la máscara, ¿vale? Así que, puedes considerarlo como este filtro donde al final me quedo, en este caso, con las voces. Y en la fase de entrenamiento de la red, puedo compararlo, ya sabes, con lo que tengo en el conjunto de datos. Así que la red sabrá si ha hecho bien su trabajo o no según alguna función de pérdida función. Y al final, obtengo un modelo que es capaz de obtener las voces en producción. Ahora, para obtener la otra parte de la pista, es decir, los instrumentos, todo lo que necesito hacer es restar las voces de la entrada original y luego me quedo con los instrumentos. Y esto tiene un impacto inmediato en muchas industrias. En este momento, por supuesto, el mundo del karaoke está revolucionando. Todo lo relacionado con la transcripción y las letras de música, está ahora mucho más fácil porque puedo hacer una red multimodal que primero separará las voces y luego ejecutará otro modelo para hacer la transcripción, algo que sabemos cómo hacer desde hace bastante tiempo. Y, por supuesto, la coincidencia y el seguimiento de bits, es mucho más fácil. Lo demostraré aún más. Esto está sucediendo en este momento. Y es asombroso. Es asombroso para mí como músico, como artista, como aquel que también intenta crear nuevas mezclas, una nueva versión, puedo tomar algunas muestras de este instrumento en particular de alguna muestra y hacer cosas muy buenas que, de hecho, ya sabes, a la gente le gusta mucho en la pista de baile. Puedo verlo.
7. Explorando Ciencia de Datos y Combinación de Pistas
Comparto mi experiencia con la ciencia de datos, utilizando herramientas y conjuntos de datos de código abierto para la música. Este enfoque es accesible para que cualquiera lo intente y ha dado resultados increíbles. Ahora, pasemos a combinar varias pistas, comenzando con Adele.
Puedo identificarlo. Y lo que quería destacar de esta sesión es que no soy un científico de data , ¿de acuerdo? Quiero decir, eso es correcto, sé cómo lidiar con cosas de data science. Publicaré todos los enlaces después, no te preocupes. Pero todo está ahí fuera. Lo hice paso a paso con herramientas de código abierto, con conjuntos de datos de código abierto para la music. Puedes probarlo tú mismo hoy, esta noche, en una hora. Nuevamente, lo encuentro muy divertido, muy creativo y, no sé, para mí es asombroso. Está funcionando.
¿Estás listo para hacer una verdadera fiesta ahora? De acuerdo. Gracias. Entonces, lo que intentaré hacer ahora es combinar incluso cuatro pistas y reproducirlas todas juntas. Es un poco difícil, así que realmente espero lograrlo. Pero primero comenzaremos con nuestra querida Adele y veremos cómo va desde ahí. Entonces, Adele, ¿puedes contarnos un poco sobre tu trabajo? ¿Y cómo te involucraste en esto? Quiero decir, realmente me gusta Adele y la he estado escuchando durante mucho tiempo. Quiero decir, creo que su music es muy divertida y la he estado escuchando durante mucho tiempo.
Y creo que su music, realmente me gusta. Quiero decir, he estado escuchando a Adele durante mucho tiempo y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo. Y la he estado escuchando a Adele durante mucho tiempo.
Comments