Deze sectie zal onze verkenning afsluiten van Sonic Pi’s sample player. Laten we een snelle samenvatting maken. Tot nu toe hebben we gekeken hoe we samples kunnen triggeren:
sample :loop_amenVervolgens hebben we gekeken hoe we de rate kunnen wijzigen naar bv. het afspelen op halve snelheid:
sample :loop_amen, rate: 0.5Verder hebben we gekeken hoe we deze sample konden in fade-en (we doen deze op halve snelheid):
sample :loop_amen, rate: 0.5, attack: 1We hebben ook gekeken hoe we de start van een sample meer percussief kunne maken door aan de sustain: een expliciete waarde te geven en aan zowel de attack als de release korte waarden te geven:
sample :loop_amen, rate: 2, attack: 0.01, sustain: 0, release: 0.35Zou het niet leuk zijn, als we deze niet altijd hoeven te laten starten vanaf het begin van de sample? Zou het niet leuk zijn, als we deze niet altijd hoeven te laten stoppen tot het einde van de sample?
Het is mogelijk om een willekeurige startpunt in de sample te kiezen als een waarde tussen 0 en 1, waarbij 0 is het begin van de sample 1 is het einde en 0,5 is halverwege sample. Laten we proberen om alleen de laatste helft van de amen break te spelen:
sample :loop_amen, start: 0.5Of het laatste kwart van de sample:
sample :loop_amen, start: 0.75Ook is het mogelijk om een willekeurig eindpunt te bepalen in de sample met een waarde tussen 0 en 1. Laat ons de Amen Break halverwege doen stoppen:
sample :loop_amen, finish: 0.5Natuurlijk kunnen we deze alle twee gebruiken om elk willekeurig segment van het audiobestand af te laten spelen. Hoe zit dat met een heel kleine sectie ergens in het midden:
sample :loop_amen, start: 0.4, finish: 0.6Wat gebeurd er als we een startpunt achter het eind punt kiezen?
sample :loop_amen, start: 0.6, finish: 0.4Cool! Het speelt achterstevoren!
We kunnen deze nieuwe mogelijkheid combineren om een willekeurige selectie in ons audiofragment met onze oude vriend rate:. We kunnen bijvoorbeeld een heel klein stukje in het midden van onze amen break sample traag laten afspelen:
sample :loop_amen, start: 0.5, finish: 0.7, rate: 0.2Tot slot kunnen we dit alles combineren met onze ADSR envelop om tot interessante resultaten te komen:
sample :loop_amen, start: 0.5, finish: 0.8, rate: -0.2, attack: 0.3, release: 1Experimenteer er nu maar even op los en maak leuke mash-ups van samples met deze toffe nieuwigheden…