Live Coding (Programación en vivo)

Uno de los aspectos más excitantes de Sonic Pi es la posibilidad de escribir y modificar código para hacer música en directo, como lo harías al tocar una guitarra. Esto significa que con algo de práctica podrás usar Sonic Pi en directo.

Abre tu mente

Antes de entrar en detalle de cómo funciona Sonic Pi, me gustaría enseñarte que es programar en directo. No te preocupes si no entiendes mucho (o nada) de esto. Simplemente siéntate y disfruta …

Un Bucle en Vivo

Para empezar, copia el siguiente código en un buffer vacío:

live_loop :flibble do
  sample :bd_haus, rate: 1
  sleep 0.5
end

Ahora, presiona el botón “Ejecutar” y escucharás una batería con un ritmo rápido. Si en cualquier momento deseas parar el sonido, sólo debes presionar el botón “Parar”. Pero no lo pares, aún… antes sigue los siguientes pasos:

  1. Asegúrate que el sonido de batería sigue sonando
  2. Cambia el valor “sleep” de “0.5” a algo más alto, por ejemplo “1”.
  3. Presiona de nuevo el botón “Ejecutar”
  4. Fíjate como ha cambiado la velocidad del bombo.
  5. Por último, recuerda este momento, esta es la primera vez que has programado en tiempo real con Sonic Pi y seguro que no será la última…

Ok, eso fue fácil. Añadamos algo a la mezcla. Encima de sample :bd_haus añade la línea sample :ambi_choir, rate: 0.3. Tu código debería ser así:

live_loop :flibble do
  sample :ambi_choir, rate: 0.3
  sample :bd_haus, rate: 1
  sleep 1
end

Ahora vamos a jugar. Cambia valores, ¿qué pasa cuando usas valores altos, bajos o negativos? Mira lo que pasa cuando cambias el valor rate: por :ambi_choir ajústalo mínimamente (digamos a 0.29). ¿Qué pasa si pones un valor muy bajo para sleep? prueba a hacerlo sonar tan rápido que tu computadora se cuelgue con un error (si eso sucede, simplemente elige un valor más alto para sleep y presiona Ejecutar de nuevo).

Intenta comentar una de las líneas del sample, añadiendo un # al comienzo:

live_loop :flibble do
  sample :ambi_choir, rate: 0.3
#  sample :bd_haus, rate: 1
  sleep 1
end

¿Te das cuenta como le dice al ordenador que lo ignore, y así no lo oímos? Esto se llama “comentar”. En Sonic Pi podemos usar comentarios para quitar y añadir cosas a la mezcla.

Por último, te dejo con algo divertido con lo que jugar. Toma el siguiente código y cópialo en un buffer vacío. Por el momento no intentes comprender demasiado más que darte cuenta que hay dos bucles - lo que significa que hay dos eventos al mismo tiempo - experimenta y juega. Te dejo algunas sugerencias:

Recuerda que debes presionar ‘Ejecutar’ para escuchar el cambio en el próximo bucle. Si termina siendo un lío, no te preocupes - dale a ‘Parar’, borra el código del buffer y pega una nueva copia del ejemplo para volver a empezar. Cometiendo errores es como aprenderás más rápidamente.

live_loop :guit do
  with_fx :echo, mix: 0.3, phase: 0.25 do
    sample :guit_em9, rate: 0.5
  end
#  sample :guit_em9, rate: -0.5
  sleep 8
end
live_loop :boom do
  with_fx :reverb, room: 1 do
    sample :bd_boom, amp: 10, rate: 1
  end
  sleep 8
end

Ahora, sigue tocando y experimentando hasta despertar tu curiosidad y te preguntes qué más puedes hacer. Ya estás listo para leer el resto del tutorial.

¿A qué estás esperando?