Generar música mediante una red neuronal (AI) Proyecto OpenAI

Tania
5 min readJul 29, 2021
Necesito abrir el artículo con esta muestra de Rewon Child, porque el resultado es increíble y es de Harry Potter, las cosas como son ;P

Si buscamos la definición de Inteligencia Artificial todos los resultados se enfocarán en que se trata de un programa de computación, diseñado para realizar operaciones idénticas a las de los humanos pero de un modo totalmente autónomo y con capacidad de autoaprendizaje. Este último punto es lo más importante, ya que la posibilidad de adquirir un comportamiento inteligente que mejora con cada ejecución, es lo que nos diferencia de este tipo de entidad virtual o mecánica artificial.

Por supuesto que podemos aprender y mejorar en todos los campos que queramos, sin embargo no podemos hacerlo a la velocidad que pueden lograrlo los cálculos computacionales y siendo realistas, jamás podremos superarlos. Determinadas operaciones que se consideran propias de la inteligencia humana, se simplificarán mediante la introducción de la AI en nuestra vida diaria, hasta el punto de volvernos estúpidos, salvo si conseguimos equilibrar su aplicación y formar parte de la cadena, aplicando nuestra inteligencia en alguna de las fases de su desarrollo, más allá de hacer que cobren vida.

Hace 75 años, Isaac Asimov creó las 3 leyes de la robótica:

1. Un robot no puede dañar a un ser humano o, por inacción, permitir que un ser humano sufra daños.

2. Un robot debe obedecer las órdenes dadas por los seres humanos, excepto cuando tales órdenes entren en conflicto con la Primera Ley.

3. Un robot debe proteger su propia existencia siempre que dicha protección no entre en conflicto con la Primera o Segunda Leyes.

¿En qué punto se encuentra el desarrollo mediante AI en la actualidad?

Las nuevas aplicaciones de la Inteligencia Artificial se han ampliado a todos los campos, empresas de todo el mundo están compitiendo por sacar sus productos lo más rápido posible, sobretodo orientado a la industria. Empresas tecnológicas de todo el mundo registran patentes industriales y los líderes de la industria en el sector privado buscan y esperan nuevas herramientas y profesionales que ayuden a continuar creciendo sus negocios en los próximos años.

Dejo un ejemplo de su desarrollo en una empresa conocida por todos como Siemens, donde han creado hasta un podcast orientado a la industria para trasladar todas las novedades que puedes aplicar en el área del diseño, la automatización y el campo de Internet de las cosas (IoT). Actualmente gigantes tecnológicos invierten en empresas como Mendix y proyectos de desarrollo que pueden aplicar para mejorar su producción.

Ahora lo interesante, hacer un Jukebox AI

Código de uso libre en GitHub https://github.com/openai/jukebox
(No licencia comercial). Puedes apoyar el Software Libre a través de la Free Software Fundation
https://www.fsf.org/es . La Free Software Foundation (FSF) es una entidad sin ánimo de lucro con la misión de promover mundialmente la libertad de los usuarios de computadores y defender los derechos de todos los usuarios de software libre. El Software Libre es una cuestión de libertad, no de precio.

En abril de 2020 la Universidad de Cornell publicó un modelo de Jukebox realizado mediante Machine Learning y la API de Open AI. El modelo realiza tanto música con canto, como nuevas letras, pudiendo de este modo mediante Inteligencia Artificial generar nueva música solamente facilitando la pista original de referencia.

A continuación os dejo algunas muestras producidas desde cero por una Inteligencia artificial, no busquéis el mejor sonido, no hay intervención humana, lo realmente increíble es que sin ella se ha conseguido crear nueva música que va mejorando mediante autoaprendizaje hasta crear un tema completamente formado y diferente al original. Listado completo de canciones.

Modelo en el que se basa la API para realizar la nueva música

Creación de un tema de Bob Marley

Improvisación EMINEM Generación de nuevo tema por AI

Improvisación de Beethoven

Improvisación de música de videojuegos

Improvisación estilo Ella Fitzgerald

Instrumental AI

Improvisación AI Snoop Dogg Style

Improvisación de Piano

Improvisación de Mozart

Improvisación Heavy Metal

Improvisación Frank Sinatra

Improvisación MIDI Input

Improvisación adquiriendo estilo DJ Khalid

Improvisación Hip Hop estilo Nas

Improvisación Country estilo Alan Jackson

Improvisación Country 2

Improvisación Joe Bonamassa *El inicio de este tema AI es increíble*

La creación no solamente se limita a la música, sino que han conseguido alinear de una forma sorprendente las letras reinventadas con el sonido, aunque no tengan sentido es algo que se está puliendo y en géneros como el Hip Hop se adaptan de forma increíble a este proceso. Se usa Spleeter 32 para extraer las voces de cada canción y ejecutan un NUS AutoLyricsAlign 33, un proceso en el que se introducen las líricas completas y de forma automática las adapta a la melodía. Después de el entrenamiento, el modelo aprende por si solo una alineación más precisa por lo que la canción va mejorando con el tiempo.

“Demostramos que el modelo combinado a escala puede generar canciones diversas y de alta fidelidad con coherencia de hasta varios minutos. Podemos condicionar el artista y el género para dirigir el estilo musical y vocal, y las letras no alineadas para que el canto sea más controlable” Paper oficial

Instalación

Toda la información sobre su instalación y uso en GitHub
https://github.com/openai/jukebox

Instalación del paquete Conda desde Install the conda package manager from
https://docs.conda.io/en/latest/miniconda.html

# Required: Sampling
conda create --name jukebox python=3.7.5
conda activate jukebox
conda install mpi4py=3.0.3 # if this fails, try: pip install mpi4py==3.0.3
conda install pytorch=1.4 torchvision=0.5 cudatoolkit=10.0 -c pytorch
git clone https://github.com/openai/jukebox.git
cd jukebox
pip install -r requirements.txt
pip install -e .

# Required: Training
conda install av=7.0.01 -c conda-forge
pip install ./tensorboardX

# Optional: Apex for faster training with fused_adam
conda install pytorch=1.1 torchvision=0.3 cudatoolkit=10.0 -c pytorch
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./apex

Colaboración OpenAI Creative Collaborator Sign-Up

OpenAI es una comunidad abierta donde se busca colaboración para ayudar a crear herramientas útiles y nuevas usando las capacidades de su API. Para ello simplemente hay que darse de alta a través del siguiente formulario:

https://docs.google.com/forms/d/e/1FAIpQLSd7yLp9OobBNd0wNL9Gi_Gxw2TK35lxKF-TZuyucV-Xg_tRCA/viewform

Documentación y referencias:

1. API de OpenAI https://beta.openai.com
2. Introducción, Key concepts, Prompt Basics, Generation
https://beta.openai.com/docs/introduction/prompt-design-101
3.
Cornell University https://arxiv.org/abs/2005.00341
4. Listado completo de canciones
https://jukebox.openai.com/?song=799867729
5. Hiller Jr, LA y LM Isaacson. “
Composición musical con una computadora digital de alta velocidad “. Revista de la Sociedad de Ingeniería de Audio 6.3 (1958): 154–160.
6. Dieleman, Sander, Aaron van den Oord y Karen Simonyan. “
El desafío de la generación de música realista: modelar audio sin procesar a escala “. Avances en sistemas de procesamiento de información neuronal. 2018.
7. Van den Oord, Aaron y Oriol Vinyals. “
Aprendizaje de representación neural discreta “. Avances en sistemas de procesamiento de información neuronal. 2017.
8.

--

--

Tania

Informática IT. Developer. Crypto. Blockchain Investor