Live Coding

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

Libera tu mente

Antes de entrar en los detalles de cómo funciona Sonic Pi en el resto de este tutorial, me gustaría darte una experiencia de lo que es codificar en vivo. No te preocupes si no entiendes mucho (o nada) de esto. Sólo intenta permanecer sentado y disfrutar…

Un Bucle Vivo

Comencemos copiando el siguiente código en un buffer vacío arriba:

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 tocada rápidamente. Si en cualquier momento deseas parar el sonido, sólo debes presional el botón “Parar”. Pero no lo pares, aún…En vez de ello sigue los siguientes pasos:

  1. Asegúrate que el sonido de batería sigue sonando.
  2. Cambia el valor “sleep” desde “0.5” a algo más alto como “1”.
  3. Presiona de nuevo el botón “Ejecutar”.
  4. ¿Notas cómo cambió la velocidad de la batería?.
  5. Finalmente, recuerda este momento, esta es la primera vez que has codificado en tiempo real con Sonic Pi y muy probablemente no será tu última…

Ok, eso fue lo suficientemente sencillo. 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 mirarse, así:

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

Ahora juega, cambia valores. ¿qué pasa cuando usas valores altos, bajos o negativos? Mira lo que pasa cuando cambias el valor rate: por :ambi_choir ajustalo mìnimamente (digamos a 0.29). ¿Qué pasa si pones un valor muy bajo para sleep ? Mira si puedes hacerlo sonar tan ràpido que tu computadora se paraliza con un error (si eso sucede, simplemente elige un valor más alto para sleep y presiona Ejecutar de nuevo).

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

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

¿Notas que el numeral hace que la computadora ignore esa línea? Esto se llama ‘comentar’. En sonic Pi podemos usar comentarios para quitar y añadir cosas a la mezcla.

Finalmente, 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 notar 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 relajo, no te preocupes - dale a ‘Parar’, borra el código del buffer y pega una copia fresca para volver a comenzar. 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 que tu curiosidad acerca de todo esto se dispare y comiences a preguntarte ¿qué más puedes hacer? Ya estás listo para leer el resto del tutorial.

Así que: ¿qué estás esperando?