3.5 Samples Parciais

# 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...
