Samples Parciais

Esta secção tem como propósito concluir a exploração do reprodutor de simples do Sonic Pi. Vamos fazer uma pequena recapitulação. Até agora foca-mo-nos em possíveis abordagens com vista a disparar samples:

sample :loop_amen

Observamos então formas de mudar a velocidade de samples tais como tocá-los a a metade da sua velocidade:

sample :loop_amen, rate: 0.5

De seguida, ire-mo-nos focar em formas de introduzir um sample através de um fade in (vamos fazê-lo a metade da velocidade):

sample :loop_amen, rate: 0.5, attack: 1

Também olhámos a formas que nos permitem usar o começo de um sample percursivamente dando-lhe ‘sustain’: um valor explícito e definir tanto o ataque como a release (extinção do som), para valores relativamente curtos:

sample :loop_amen, rate: 2, attack: 0.01, sustain: 0, release: 0.35

Contudo, não seria interessante se nos não tivéssemos que começar no início do sample? Não também interessante se nós não tivesse que acabar sempre no fim do sample?

Escolhe um ponto de começo

É possível escolher um ponto de começo arbitrário no samples como um valor entre 0 e 1 onde 0 é o início do sample, 1 é o final, e 0.5 é metade da duração do sample. Vamos tentar tocar apenas a última parte do amen break:

sample :loop_amen, start: 0.5

E que tal um quarto do sample:

sample :loop_amen, start: 0.75

A escolher um ponto de conclusão

Do mesmo modo, é possível escolher um ponto arbitrário no sample como um valor entre 0 e 1. Vamos concluir a reprodução do amen break a metade da sua duração:

sample :loop_amen, finish: 0.5

A especificar o início e o final

Claro está, podemos combinar estas duas formas de reproduzir segmentos arbitrários dos ficheiros de audio. E que tal uma pequena secção no meio:

sample :loop_amen, start: 0.4, finish: 0.6

O que acontece se escolhermos um ponto inicial depois da posição final?

sample :loop_amen, start: 0.6, finish: 0.4

Porreiro! Toca em sentido contrário!

A combinar com a velocidade

É possível combinar esta possibilidade de tocar arbitrariamente segmentos do audio com o nosso amigo ‘velocidade:’. Por exemplo, podemos reproduzir um pequeno segmento do meio do amen break muito lentamente:

sample :loop_amen, start: 0.5, finish: 0.7, rate: 0.2

A combinar com curvas de envolvente

Finalmente, podemos combinar tudo isto com as nossas curvas de envolvente de ADSR para produzir resultados interessantes:

sample :loop_amen, start: 0.5, finish: 0.8, rate: -0.2, attack: 0.3, release: 1

Agora vamos e temos um mash up de samples em reprodução com todas estas coisas interessantes…