Llego la hora de conocer las estructuras básicas de programación como lo son los ciclos, las condicionales, las funciones y los hilos. Y aunque no lo parezca todo esto que acabo de mencionar nos ayudaran a desarrollas de una manera más eficiente nuestras composiciones
Pero empecemos por explicar lo básico
Bloques
Una clase de estructura que vamos a observar mucho en Sonic Pi son los bloques. Los bloques llegan a ser bastante útiles a la hora de la codificación. Por ejemplo con los parámetros synth y sample podemos solo podremos hacer cambios que afecten a una linea. Pero llenar lineas y lineas de código con el parámetro play y sleep no suena una idea tan atractiva, créeme va llegar un momento en que ni tu mismo sabes que escribiste allí, pero ese es otro asunto, retomemos, imagina que quieres escuchar varias veces este tono:
![]() |
El sonido resultante sería una especie de bib glup Bu |
Pues, si me gustaría meterlo como en una especie de ciclo, no se, bueno para decirle a Sonic Pi donde bloque empieza y donde termina se escribe "do" para empezar y "end" para terminar, algo así:
![]() |
No se preocupen si les da error por escribir algo así, solo esta mal escrito |
Sin embargo una cadena así no va funcionar por que aun no le hemos dicho, al Sonic pi, que vamos hacer con ese bloque, para que funcione debemos escribir otras ordenes antes del "do" y de eso es lo que vamos hablar hoy. Empecemos con las Iteraciones
Iteraciones y ciclos
![]() |
Ehm no |
Ahora vamos a darle un poco de sentido a esto o mejor dicho finalmente vamos a darle uso a los bloques, solo tendríamos que decirle algo antes del do como por ejemplo "haz eso 3 veces"(do this three times) bueno pues lo escribimos como debería oírse en ingles 3.times.do y justo al final escribimos end y ahora tendríamos algo así:
Ahora se ve más limpio y no solo eso, también es más funcional, ahora podremos cambiar el tono de una parte y solo lo tendríamos que hacer una vez no solo eso sino que también podemos repetirlo cuantas veces queramos y no habrá necesidad de escribir más código, solo cambiamos el valor del número de iteraciones y ya esta... oh no
Vale, sacaste un ritmo pegajoso ¿cuantas tengo que repetir ese mismo ritmo para que abarque toda la composición?
![]() |
Forever Forever, Forever |
Todo muy lindo solo hay un problema, los ciclos actúan como agujeros negros, una vez que entras a uno no sales de el nunca, eso quiere decir que si hay algún otro código abajo del ciclo este no sonara nunca a menos que no hagamos algo.
![]() |
Forever, Forever, Forever |
Pero ya pensaremos como arreglar eso en otra ocasión por ahora lo dejaremos aquí.
No hay comentarios:
Publicar un comentario