Hacer una canción
¡Genial! Conseguiste que tu canción vaya bien con un ritmo estable y un bajo enganchado encima de la melodía. Ahora vamos a hacer algo muy guay y desataremos el verdadero potencial de Sonic Pi. Vamos a añadir algunos elementos generativos a la pista y a programar la computadora para que lo componga por nosotros.
Transportar significar mover el tono hacia arriba o hacia abajo. Podemos transportar aleatoriamente la melodía de vez en cuando y luego añadir algún condimento a la pista. Puedes tirar un dado para decidir cuando cambiar el tono de la melodía. Un ejemplo:
Vamos a hacer algo interesante para el bucle de bajos. .choose
es un método práctico que aleatoriamente escoge un elemento de una lista. Como esta:
[:c, :e, :g]
son una lista de notas (en este caso las notas del acorde de Do mayor). .choose
elige una de estas notas al azar. En lugar de notas puedes escribir cualquier cosa en la lista. Como tiempos de silencio por ejemplo:
No tienes incluso que recordar que notas están en un acorde. Sonic Pi puede hacer eso por ti. En lugar de escribir [:c, :e, :g]
, simplemente escribe (chord :C, :major)
. Eso crea una lista automática para ti con las notas correctas. Por ejemplo:
Usa esta hechicería para una pista de bajo tipo bubbling (burbujeante). Guarda tu trabajo y copia tu bucle :bass
en curso en otro buffer, por si quieres volver a él. Luego haz sitio para nuestra nueva pista de bajo y elimina el contenido del bucle. Vamos a usar el sintetizador clásico :tb303
y tocaremos notas de semicorchea del acorde de Do mayor:
¡Oh! No está del todo bien. Añade el parámetro release: 0.125
al final del comando play, así:
Así está mejor, pero todavía se puede pulir algo más. Hasta ahora has usado los parámetros attack:
y release:
para el comando play
. Dependiendo del sintetizador que estés usando, hay un muchos más parámetros para usar.
Por ejemplo el sintetizador tb303 tiene 45 opciones diferentes de retoque. Vamos a usar el parámetro llamado cutoff
para los bajos. Cutoff elimina todas las frecuencias por encima de la frecuencia de cutoff. Puedes usar valores entre 0-130.
Pero no uses solo un determinado valor de cutoff, ¡puedes tener un valor aleatorio! Con rrand(min, max)
puedes generar números aleatorios en un rango dado. Pruébalo:
¡Bieeen! Recuerda investigar y probar cosas diferentes. Como repaso, aquí tenemos un ejemplo sobre lo que puedes ya haber probado a estas alturas: