# Échantillons partiels

Cette section va conclure notre exploration du lecteur d’échantillons de Sonic Pi. Faisons un rapide résumé. Jusqu’à maintenant nous avons vu comment lire des échantillons :

    sample :loop_amen

Nous avons ensuite vu comment changer la vitesse de lecture des échantillons en les jouant par exemple deux fois moins vite :

    sample :loop_amen, rate: 0.5

Ensuite, nous avons vu comment nous pouvions obtenir une attaque progressive (faisons-le à vitesse moitié) :

    sample :loop_amen, rate: 0.5, attack: 1

Nous avons aussi vu comment nous pouvions utiliser le début d’un échantillon en percussion en donnant à `sustain:` une valeur explicite et en assignant des valeurs faibles à la fois à `attack:` et à `release:` :

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

Toutefois ne serait-il pas sympathique de ne pas avoir à toujours démarrer au début de l’échantillon ? Ne serait-ce pas également sympathique de ne pas avoir à finir toujours à la fin de l’échantillon ?

## Choix d’un point de départ

Il est possible de choisir un point arbitraire de départ dans l’échantillon au moyen d’une valeur comprise entre 0 et 1 où 0 est le début de l’échantillon, 1 est la fin et 0.5 le milieu. Essayons de jouer seulement la dernière moitié du break “Amen” :

    sample :loop_amen, start: 0.5

Ou pour le dernier quart de l’échantillon :

    sample :loop_amen, start: 0.75

## Choix d’un point de terminaison

De manière similaire, il est possible de choisir un point de terminaison arbitraire au moyen d’une valeur comprise entre 0 et 1. Terminons le break “Amen” à la moitié de son parcours :

    sample :loop_amen, finish: 0.5

## Spécification du départ et de la terminaison

Bien sûr, nous pouvons combiner ces deux paramètres pour jouer des segments arbitraires du fichier audio. Comment jouer uniquement une petite section au milieu :

    sample :loop_amen, start: 0.4, finish: 0.6

Que se passe-t-il si nous choisissons une position de départ postérieure au point de terminaison ?

    sample :loop_amen, start: 0.6, finish: 0.4

Cool ! Ça joue à l’envers !

## Combinaison avec la vitesse

Nous pouvons combiner cette nouvelle possibilité de jouer des segments arbitraires avec notre ami `rate:`. Par exemple, nous pouvons jouer une très petite section du break “Amen” très lentement :

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

## Combinaison avec les enveloppes

Finalement, nous pouvons combiner tout ceci avec nos enveloppes ADSR pour produire des résultats intéressants :

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

Maintenant allez et jouez un moment en triturant les échantillons avec ces choses amusantes…