
Con Sonic Pi puedes crear música generativa escribiendo código, y en esta guía te muestro cómo hacerlo paso a paso. No necesitas ser programador ni músico profesional: solo curiosidad y ganas de experimentar.
¿Qué es Sonic Pi y qué es la música generativa?
Sonic Pi es un entorno de live coding creado por Sam Aaron para enseñar programación a través de la música. La música generativa es aquella que se crea mediante sistemas autónomos, como algoritmos, reglas o procesos aleatorios. Al combinar ambas cosas, tú defines las reglas y la máquina genera patrones sorprendentes que evolucionan solos.
Instala Sonic Pi en tu ordenador
Es gratuito y de código abierto. Estos son los pasos para tenerlo listo:

- Ve al sitio oficial sonic-pi.net y descarga la versión para tu sistema operativo (Windows, macOS, Linux o Raspberry Pi).
- Instálalo como cualquier aplicación. En Windows o macOS es un ejecutable; en Linux puedes usar el gestor de paquetes.
- Al abrirlo verás una interfaz con un editor de código a la izquierda y paneles de ayuda y logs a la derecha.
Tu primer sonido: entendiendo la sintaxis básica
Sonic Pi usa un dialecto de Ruby muy amigable. Escribe esto y pulsa el botón Run:
play 60
sleep 1
play 64
sleep 0.5
play 67El número representa una nota MIDI (60 es el Do central). sleep detiene la ejecución durante ese tiempo en segundos. Ya tienes una melodía sencilla.
Puedes usar sintetizadores diferentes con use_synth. Por ejemplo, use_synth :fm antes de tocar produce un sonido metálico. Hay decenas disponibles.
Introduciendo aleatoriedad para música generativa
La esencia de lo generativo está en introducir variación no determinista. Sonic Pi ofrece funciones como rrand, choose y shuffle. Prueba esto en un bucle infinito:
live_loop :generative do
use_synth :blade
play scale(:c4, :minor).choose, amp: rrand(0.5, 1.5)
sleep [0.25, 0.5, 0.75].choose
endEste bucle selecciona una nota aleatoria de la escala de Do menor y la toca con una duración variable. El resultado es una secuencia que nunca se repite exactamente, y suena coherente porque está dentro de una escala conocida.
Creando texturas con múltiples hilos
Puedes lanzar varios live_loop a la vez. Cada uno es un hilo independiente. Por ejemplo, añade una capa de graves pulsantes y otra de acordes aleatorios:
live_loop :bass do
use_synth :subpulse
play :c2, release: 0.5
sleep 1
end
live_loop :chords do
use_synth :hollow
play chord(:e3, :minor7).choose, attack: 0.1, release: 2
sleep 4
endReproduce todo a la vez y sentirás una composición viva. Lo fascinante es modificar los parámetros sobre la marcha sin detener la música.
Algoritmos generativos: secuencias que evolucionan
Puedes usar variables y condicionales para crear sistemas más complejos. Este ejemplo genera una melodía que asciende lentamente:
notes = (scale :c4, :minor, num_octaves: 2)
index = 0
live_loop :ascending_melody do
play notes[index]
sleep 0.125
index = (index + 1) % notes.length
if index == 0
# Cambia el punto de inicio cada vez que completa la escala
index = [0, 2, 4, 5].choose
end
endAquí la secuencia recorre la escala, pero al reiniciar elige un salto distinto, generando variaciones inesperadas.
Consejos para seguir explorando
- Usa efectos como
with_fx :reverb, room: 0.8para dar profundidad. - Controla el tempo con
use_bpm 120y cámbialo durante la ejecución. - Guarda tus creaciones con
save "nombre_pista.wav". - Consulta la extensa documentación integrada (F1 o clic en Help).
Preguntas frecuentes
¿Necesito saber programar para usar Sonic Pi?
No. Su curva de aprendizaje es suave y la documentación te guía paso a paso. Muchos artistas vienen de la música sin experiencia previa en código.
¿Puedo usar Sonic Pi en presentaciones en vivo?
Por supuesto. Fue diseñado para live coding: modifica el código mientras suena y el cambio será inmediato.
¿Qué equipos creativos usan música generativa?
Desde Brian Eno hasta instalaciones interactivas; la generatividad es una herramienta creativa, no una mera curiosidad técnica.
¿Dónde puedo compartir mis creaciones?
La comunidad de Sonic Pi es muy activa en foros y redes. Puedes subir tus pistas a plataformas como SoundCloud.
