3.5 Фрагментированные сэмплы

# Неполные сэмплы

Этот раздел станет заключительным в нашем исследовании воспроизведения сэмплов в Sonic Pi. Давайте кратко повторим уже изученное. Пока мы только разбирались в том, как включать сэмплы:

```
sample :loop_amen
```

Потом мы рассмотрели то, как мы можем менять темп сэмплов, например для воспроизведения их на половине скорости:

```
sample :loop_amen, rate: 0.5
```

Затем, мы увидели, как можно постепенно усиливать сэмпл (совместим это с уменьшённой вдвое скоростью):

```
sample :loop_amen, rate: 0.5, attack: 1
```

Еще мы узнали как сделать начало сэмпла более резким за счет задания `sustain:` явного значения и установки коротких атаки и затухания:

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

Однако, вам бы понравилось, если бы не надо было всякий раз начинать сэмпл с начала? Разве не здорово было бы, если бы можно было играть сэмпл не до конца?

## Выбираем точку старта

Возможно выбрать произвольную начальную точку для сэмпла, задавая ее в качестве значения в диапазоне от 0 до 1. 0 - начало сэмпла, 1 - его конец, а 0.5 - это середина. Попробуем сыграть только вторую половину амен-брейка:

```
sample :loop_amen, start: 0.5
```

А как насчет последней четверти:

```
sample :loop_amen, start: 0.75
```

## Выбираем точку окончания

Похожим образом разрешается выбирать конечную точку сэмпла как значение между 0 и 1. Прервем амен-брейк на середине:

```
sample :loop_amen, finish: 0.5
```

## Указываем начало и конец

Естественно, мы можем комбинировать оба произвольных фрагмента звукового файла. Как насчет выбрать небольшой участок в центре:

```
sample :loop_amen, start: 0.4, finish: 0.6
```

Что случится, если установить старт после финиша?


```
sample :loop_amen, start: 0.6, finish: 0.4
```

Круто! Он играет задом-наперед!

## Соединяем со скоростью

Можно объединить эту новую способность играть выбранные сегменты аудио с нашим знакомым `rate:`. Например, таким образом воспроизведется очень маленькая секция из середины амен-брейка очень медленно:

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

## Соединяем с огибающими

Наконец, все это возможно соединить с известными нами ADSR-огибающими, чтобы получить интересный результат:

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

Попробуйте также комбинировать сэмплы, не ограничивайте свою фантазию...
