Es posible modificar la duración y amplitud de una onda muestral (sample) usando un envolvente acústico del tipo ADSR. sin embargo, este funciona un tanto diferente al envolvente acústico ADSR de los sintetizadores (synths), ya que los envolventes acústicos para ondas muestral sólo te permiten reducir la amplitud y duración de una onda sonora, pero nunca incrementarlos. La onda muestral terminará su ejecución ya sea cuando se acabe o cuando el envolvente lo haga, lo que suceda primero. Así que si utilizas un “desvanecimiento”(release) largo, ello no extenderá la duración de la onda muestral.
Volvamos a nuestro amigo, el Amen Break:
sample :loop_amen
Sin parámetros , escuchamos la onda muestral a su amplitud total. Si quisiéramos aparecerla dentro de 1 segundo, podemos utilizar el parámetro attack:
:
sample :loop_amen, attack: 1
Para un aparecimiento más corto, elegiríamos un valor de ataque menor:
sample :loop_amen, attack: 0.3
Donde el envolvente acústico ADSR difiere en su conducta con el de un sintetizador es en el valor del sostenimiento sustain. En el envolvente acústico del sintetizador, el sostenimiento está predeterminado a 0 a menos que lo cambies manualmente. Con ondas muestrales, el valor predeterminado de sustain está en automágico el tiempo que resta para terminar el resto de la onda. A ello se debe que podamos escuchar la onda muestra completa cuando nocambiamos los parámetros por defecto. Si los valores de ataque, decaimiento,sostenimiento y desvanecimiento fueran 0, nunca escucharíamos ningún sonido de la onda. Por eso Sonic Pi calcula qué tan larga es la onda muestra, deduce su ataque, decaimiento y tiempo de desvanecimiento, para utilizar esa sumatoria como tiempo de sostenimiento. Si los valores de ataque, decaimiento y desvanecimiento son mayores al tiempo de la onda muestra,sencillamente el sostenimiennto de vuelve 0.
Para explorar esto, consideremos nuestra pista Amen break en detalle. Si le preguntamos a Sonic Pi cuán largo es el sample:
print sample_duration :loop_amen
Imprimirá 1.753310657596372
que es el tamaño del sample en segundos. Consideremos redondearlo a 1.75
por conveniencia. Ahora, si seteamos el release a 0.75
, algo sorprendente pasará:
sample :loop_amen, release: 0.75
Ejecutará el primer segundo del sample a amplitud completa antes de desvanecerse por un periodo de 0.75 segundos. Esto es el auto sustain en acción. Predeterminado, el release siempre trabaja al final del sample. si tu sample fuera 10.75 segundos de largo, ejecutaría los primeros 10 segundos a completa amplitud antes de comenzar a desvanecerse por los 0.75 segundos finales.
Recuerda: por defecto, “desvanecimiento”(release) :se desvanece al final de un sample.
Podemos utilizar tanto el attack:
como el release:
juntos con el auto sustain para aparecer y desvanecer en la duración del sample:
sample :loop_amen, attack: 0.75, release: 0.75
Como la duración total del sampleo + ataque + release suman 1.5s, el sostenido queda automáticamente en 0.25s. Esto nos permite aparecer y desvanecer el sampleo con facilidad.
Podemos fácilmente volver a los parámetros normales de nuestro ADSR de sintetizador al ajustar manualmente el sostenido:
a un valor como 0:
sample :loop_amen, sustain: 0, release: 0.75
Ahora bien, nuestra onda muestra suena por 0.75 en total. Los parámetros pre- determinados para “ataque (attack)” y “decaimiento(decay)”: son 0, la onda muestra salta directamente aamplitud total por 0 segundos y después baja a amplitud 0 por un periodo de desvanecimiento de 0.75 segundos.
Podemos utilizar este comportamiento con buenos resultados para convertir muestras más largas en versiones más cortas y percusivas. Considere la muestra :drum_cymbal_open
:
sample :drum_cymbal_open
Puedes escuchar el sonido del platillo sonando durante un periodo de tiempo. Sin embargo, podemos utilizar nuestra envolvente para hacerlo más percusivo:
sample :drum_cymbal_open, attack: 0.01, sustain: 0, release: 0.1
Puedes emular el golpeo del platillo y después apagarlo, al incrementar el periodo de mantenido:
sample :drum_cymbal_open, attack: 0.01, sustain: 0.3, release: 0.1
Ahora ve y diviértete poniendo envolventes en los sampleos. Intenta cambiar la velocidad, también para unos resultados realmente interesantes.