¿Alguna vez te has preguntado cómo sonaría J.S. Bach si hubiera sido un rockero? Puedes descubrirlo explorando el
, que honra el cumpleaños de Bach y su legado como uno de los mejores compositores de todos los tiempos. Bach, músico y compositor durante el período barroco del siglo XVIII, produjo cientos de composiciones que incluyen cantatas, conciertos, suites y corales. En el Doodle de hoy, puedes crear fácilmente tu propia melodía y, a través de la magia del aprendizaje automático, el Doodle armonizará tu melodía con el estilo de Bach. También puedes explorar dentro del Doodle para ver cómo el modelo le agrega el toque de Bach a melodías familiares o cómo sonaría en un estilo de rock moderno.
El Doodle de hoy es el resultado de una colaboración entre los equipos
Magenta, Doodle y
PAIR en Google. El equipo de Magenta quiere ayudar a los usuarios a hacer música y arte utilizando el aprendizaje automático, y PAIR produce herramientas o experiencias que hacen que el aprendizaje automático sea divertido para todos.
El primer paso para desarrollar el Doodle fue encontrar un modelo de aprendizaje automático que lo hiciera funcionar. El aprendizaje automático es el proceso de enseñar a una computadora a encontrar sus propias respuestas al mostrarle muchos ejemplos, en lugar de darle un conjunto de reglas a seguir, como se hace en la programación tradicional.
Anna Huang, residente de IA en Magenta, desarrolló Coconet, un modelo versátil que se puede usar en una amplia gama de tareas musicales, como armonizar melodías, crear transiciones suaves entre fragmentos de música desconectados y componer desde cero. (conoce más sobre estos detalles técnicos en la publicación de hoy en el
blog de Magenta).
El siguiente paso del proceso fue personalizar el modelo para el estilo de Bach. Para hacer esto, entrenamos a Coconet con 306 armonizaciones corales de Bach. Estas piezas siempre tienen cuatro voces, cada una con su propia línea melódica además de crear una progresión armónica más robusta cuando se tocan juntas. Esta estructura concisa los convierte en buenos datos de entrenamiento para un modelo de aprendizaje automático. Así, cuando creas una melodía sobre el modelo en el Doodle, éste armoniza esa melodía con el estilo específico de Bach.
Más allá de los elementos artísticos y de aprendizaje automático del Doodle, necesitábamos muchos servidores para asegurarnos de que las personas de todo el mundo pudieran usar el Doodle. Históricamente, el aprendizaje automático se ha ejecutado en servidores, lo que significa que la información es enviada desde las computadoras de las personas a los centros de datos, para luego enviar de vuelta el resultado a las computadoras. Utilizar este mismo enfoque para el Doodle de Bach hubiera generado mucho tráfico de ida y vuelta.
Para lograr que esto funcione, usamos
TensorFlow.js de PAIR, que permite que el aprendizaje automático ocurra dentro del navegador. Sin embargo, para los casos en que el dispositivo de un usuario no sea lo suficientemente rápido para ejecutar el Doodle con TensorFlow.js, el modelo de aprendizaje automático se ejecuta en las nuevas
Unidades de Procesamiento Tensorial (TPU) de Google, una manera de gestionar rápidamente tareas de aprendizaje automático en los centros de datos. El Doodle de hoy es el primero en utilizar de esta manera los TPU.