Este mes vamos a sumergirnos en uno de los efectos más potentes y flexibles de Sonic Pi: el :slicer
. Al final de este artículo, habrás aprendido cómo manipular el volumen de nuevas formas muy interesantes. Esto te permitirá crear nuevos ritmos y estructuras rítmicas, ampliando tus posibilidades sonoras.
:prophet
synth :prophet, note: :e1, release: 8, cutoff: 70
synth :prophet, note: :e1 + 4, release: 8, cutoff: 80
Ahora, vamos a pasarlo por el efecto :slicer
:
with_fx :slicer do
synth :prophet, note: :e1, release: 8, cutoff: 70
synth :prophet, note: :e1 + 4, release: 8, cutoff: 80
end
Escucha cómo el slicer le pone y le quita volumen al audio, con un beat regular. Fíjate también en cómo el :slicer
afecta a todo el audio generado entre los bloques do
/end
. Puedes controlar la velocidad a la que se enciende y apaga el audio con la opción phase:
, que es una abreviatura de duración de fase (phase duration en inglés). Su valor por defecto es 0.25
, que significa 4 veces por segundo usando el BPM por defecto de 60. Hagámoslo más rápido:
with_fx :slicer, phase: 0.125 do
synth :prophet, note: :e1, release: 8, cutoff: 70
synth :prophet, note: :e1 + 4, release: 8, cutoff: 80
end
:dsaw
Duración
La duración de fase (phase duration) es la longitud de tiempo para un ciclo de encendido/apagado del volumen. Por tanto, valores más bajos harán al efecto cambiar entre encendido y apagado mucho más rápido que valores más altos. Puedes empezar jugando con valores como 0.125
, 0.25
, 0.5
y 1
.
Por defecto, el efecto :slicer
utiliza una onda cuadrada para manipular la amplitud a lo largo del tiempo. Por eso escuchamos la amplitud encendida durante un periodo de tiempo, luego inmediatamente apagada por otro periodo, y encendida de nuevo. Podemos ver que la onda cuadrada sólo es una de las 4 ondas de control distintas que permite usar :slicer
. Las otras son la onda de sierra, la onda triangular la onda de (co)seno. Échale un vistazo al diagrama de arriba para ver qué forma tienen estas ondas. También podemos escuchar cómo suenan. Por ejemplo, el siguiente código utiliza el (co)seno como onda de control. Escucha cómo el sonido no se enciende y apaga de forma abrupta, sino que aparece y desaparece gradualmente:
with_fx :slicer, phase: 0.5, wave: 3 do
synth :dsaw, note: :e3, release: 8, cutoff: 120
synth :dsaw, note: :e2, release: 8, cutoff: 100
end
Juega con las siguientes formas de onda cambiando la opción wave:
a 0
para onda de sierra, 1
para onda cuadrada, 2
para onda triangular, y 3
para onda de seno. Prueba también cómo suenan ondas distintas con valores de phase:
distintos.
Cada una de estas ondas se pueden invertir con la opción invert_wave:
, que les da la vuelta en torno al eje y. Por ejemplo, en una misma fase, una onda cuadrada suele empezar alto y va bajando gradualmente antes de volver a subir. Con invert_wave:1
, la onda empieza bajo y va subiendo gradualmente antes de volver a bajar. Además, la onda de control puede empezar en puntos distintos con la opción phase_offset:
, que debería tener un valor entre 0
y 1
. Jugando con las opciones phase:
, wave:
, invert_wave:
y phase_offset
puedes cambiar drásticamente cómo se modifica la amplitud a lo largo del tiempo.
Duración
Por defecto, :slicer
cambia entre los valores de amplitud 1
(totalmente alto) y 0
(silenciado). Esto se puede cambiar con las opciones amp_min:
y amp_max
. Puedes usarlas con la onda de seno, creando un efecto de tremolo muy sencillo:
with_fx :slicer, amp_min: 0.25, amp_max: 0.75, wave: 3, phase: 0.25 do
synth :saw, release: 8
end
Es como si cogieses la rueda de volumen en tu altavoz y lo movieses arriba y abajo ligeramente, con lo que el sonido ‘tiembla’.
Elegir (choose)
with_fx :slicer, phase: 0.125, probability: 0.6 do
synth :tb303, note: :e1, cutoff_attack: 8, release: 8
synth :tb303, note: :e2, cutoff_attack: 4, release: 8
synth :tb303, note: :e3, cutoff_attack: 2, release: 8
end
Escucha el interesante ritmo de pulsos que hemos conseguido. Prueba a cambiar la opción probability:
(probabilidad) a un valor distinto entre 0
y 1
. Valores más cercanos a 0
generarán más espacio entre cada sonido, porque la probabilidad de que el sonido se dispare es mucho menor.
rand
Finalmente, puedes probar a cambiar la posición de ‘reposo’ de la onda de control cuando los tests de probabilidad fallen de 0
a cualquier otra posición, con la opción prob_pos:
:
with_fx :slicer, phase: 0.125, probability: 0.6, prob_pos: 1 do
synth :tb303, note: :e1, cutoff_attack: 8, release: 8
synth :tb303, note: :e2, cutoff_attack: 4, release: 8
synth :tb303, note: :e3, cutoff_attack: 2, release: 8
end
Algo muy divertido que puedes probar es usar el :slicer
para cortar un beat de batería:
with_fx :slicer, phase: 0.125 do
sample :loop_mika
end
Esto nos permite coger cualquier sample y crear nuevas posibilidades rítmicas, lo cual es súper divertido. Sin embargo, debes tener cuidado y asegurarte de que el tempo del sample coincida con el BPM actual de Sonic Pi; de lo contrario, el slicing sonará fatal. Por ejemplo, prueba a cambiar el :loop_mika
con el sample loop_amen
y escucha cómo de mal puede llegar a sonar cuando los tempos no están alineados.
Como ya hemos visto, cambiar el BPM por defecto con use_bpm
alarga o comprime los tiempos de silencio y duraciones de envolventes de sintetizadores para que el tempo coincida. El efecto :slicer
también necesita esto, ya que la opción phase:
se mide en beats, en vez de segundos. Por tanto, podemos arreglar el problema que tiene loop_amen
arriba, cambiando el BPM para que coincida con el del sample:
sample :loop_amen
Vamos a aplicar todas estas ideas en un ejemplo final que, usando el efecto :slicer
, crea una combinación muy interesante. Adelante, empieza a cambiarlo y ¡conviértelo en tu propia pieza!
sample :guit_em9, rate: 0.5