Esta seção concluirá nossa exploração do reprodutor de samples do Sonic Pi. Vamos fazer uma rápida revisão. Até agora nós vimos como podemos ativar samples:
sample :loop_amen
E então nós vimos como mudar a taxa dos samples, como tocando eles com metade da velocidade:
sample :loop_amen, rate: 0.5
Depois, nós vimos como podemos fazer um “fade in” no sample (vamos fazer com metade da velocidade):
sample :loop_amen, rate: 0.5, attack: 1
Nós também vimos como poderíamos usar o início do sample de maneira percussiva adicionando ao sustain:
um valor explícito e setando attack e release para valores pequenos:
sample :loop_amen, rate: 2, attack: 0.01, sustain: 0, release: 0.35
De qualquer forma, não seria ótimo se não tivéssemos sempre que começar no início do sample? Não seria ótimo também se nós não tivéssemos que sempre terminar no fim do sample?
É possível escolher um ponto de partida qualquer no sample com valores entre 0 e 1, onde 0 é o início do sample, 1 é o fim e 0.5 é o meio. Vamos tentar tocar apenas a metade final de amen break:
sample :loop_amen, start: 0.5
E o último quarto do sample:
sample :loop_amen, start: 0.75
De maneira parecida, é possível escolher um ponto final qualquer no sample com valores entre 0 e 1. Vamos finalizar o amen break na metade:
sample :loop_amen, finish: 0.5
Com certeza nós podemos combinar as duas coisas para tocar qualquer segmento do arquivo de áudio. Que tal apenas uma pequena seção no meio:
sample :loop_amen, start: 0.4, finish: 0.6
O que acontece se escolhermos uma posição inicial posterior a posição final?
sample :loop_amen, start: 0.6, finish: 0.4
Massa! Ele toca ao contrário!
Nós podemos combinar essa nova habilidade de tocar qualquer parte do audio com o nosso amigo rate:
`(taxa). Por exemplo, nós podemos tocar uma pequena seção no meio do amen break bem devagar:
sample :loop_amen, start: 0.5, finish: 0.7, rate: 0.2
Por último, nós podemos combinar tudo isso com nossos envelopes ADSR para produzir resultados interessantes:
sample :loop_amen, start: 0.5, finish: 0.8, rate: -0.2, attack: 0.3, release: 1
Agora tente combinar samples com todas essas coisas divertidas…