Cómo escribir música en Python: tres bibliotecas temáticas ayudarán (para especialistas de diferentes niveles)

Continuamos con el tema de la programación musical : antes hablamos de los lenguajes Csound, SuperCollider y Pure Data, y hoy hablamos de Python y las bibliotecas FoxDot , Pippi y Music-Code .





Foto de Conor Samuel / Unsplash



FoxDot



Esta es una biblioteca para aspirantes a musas. programadores. Fue desarrollado por el ingeniero Ryan Kirkbride en 2015. FoxDot concebido como un proyecto personal, con la ayuda de Ryan ustaivayte live-session bajo el seudónimo de Qirky , pero ahora con la herramienta funcionando en todo el mundo.



La biblioteca utiliza las capacidades del protocolo de paquetes Open Sound Control (OCS) y el entorno virtual SuperCollider para la síntesis de audio , que se desarrolló en 1996, pero que todavía se admite activamente.comunidad. El programador crea objetos con argumentos que indican el instrumento, el tono, la duración del sonido. Los sonidos se pueden modelar y enlazar para crear diseños musicales complejos. El código se convierte en música en tiempo real; aquí hay un ejemplo de cómo trabajar con la biblioteca:





Si desea aprender la herramienta usted mismo, tiene sentido comenzar con la documentación oficial detallada . Las respuestas a muchas preguntas se encuentran en el foro temático . Puede dejar sus sugerencias y deseos de nuevas funciones en el repositorio de GitHub .



Pippi



Esta biblioteca fue desarrollada por uno de los representantes del sello independiente LuvSound, que apoya la nueva música y los artistas jóvenes. En su composición, tiene varias estructuras para trabajar con sonido, incluyendo el SoundBuffer y Wavetable comunes . El propósito del Pippi es trabajar con sonidos existentes; el instrumento le permite combinar y modificar muestras cargadas.



from pippi import dsp

sound1 = dsp.read('sound1.wav')
sound2 = dsp.read('sound2.flac')

# Mix two sounds
both = sound1 & sound2


También permite construir diseños acústicos completamente nuevos basados ​​en muestras, por ejemplo, para formar sonidos "granulares". Este es un método en el que una muestra se divide en muchas secciones cortas ("gránulos") y se mezcla. Aquí está el código para crear una señal de 10 segundos de este formato a partir del audio en la variable envuelta :



# Synthesize a 10 second graincloud from the sound,
# with grain length modulating between 20ms and 2s
# over a triangle shaped curve.
cloudy = enveloped.cloud(10, grainlength=dsp.win('tri', dsp.MS*20, 2))


La biblioteca de Pippi no permite la reproducción de música en tiempo real, por lo que por sí sola no es adecuada para conciertos en vivo. Sin embargo, en un hilo temático en Hacker News, el autor dijo que desarrolló una interfaz de terceros: Astrid . Reinicia automáticamente el archivo de música después de guardarlo, lo que abre posibilidades para actuaciones en el escenario.



Código de música



Esta pequeña biblioteca fue escrita por el científico de datos Wesley Laurence . Ella es capaz de generar acordes, sonidos de batería y bajo. El autor usa su herramienta para crear muestras de modelos de aprendizaje automático. La biblioteca le permite trabajar con secuenciadores, agregadores, muestreadores y varios efectos acústicos. Además de la música, Music-Code le permite preparar visualizaciones para composiciones musicales.





Foto de Tanner Boriack / Unsplash



Hasta ahora, Music-Code tiene una audiencia muy pequeña, ya que la biblioteca es bastante joven; se publicó en GitHubhace apenas tres meses. Sin embargo, el autor planea desarrollar su herramienta y espera poder atraer nuevos usuarios, especialmente entre los especialistas en el campo de los sistemas de IA. El autor planea grabar y cargar un video con instrucciones sobre cómo comenzar con Music-Code.






Lectura adicional en el "Mundo de la alta fidelidad":



Qué es la programación musical, quién lo hace y por qué

Dónde obtener audio para el aprendizaje automático: una selección de bibliotecas abiertas

Cómo funciona Sporth: Java para sesiones de música en vivo

Dónde obtener audio para desarrollar juegos y otros proyectos

Sonidos para UI: una selección de recursos temáticos







All Articles