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

Этот раздел станет заключительным в нашем исследовании проигрывателя сэмплов 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

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