3.3 Strekke Sampler

# Strekke sampler

Nå som vi kan spille en rekke synter og samler til å lage litt musikk, er det tiden for å lære å endre både synter og sampler for å gjøre musikken enda mer unik og interessant. Først, la oss utforske bruken av *stretch* og *squash* på sampler.

## Sampel Representation

Samples er pre-innspilte lyder som lagres som tall som representerer hvordan du beveger høyttalermembranen til å gjenskape lyden. Høyttalermembranen kan bevege seg inn og ut, så tallene bare trenger å representere hvor langt inn og ut membran hvert øyeblikk må være. For å kunne gjengi en innspilt lyd må samplet vanligvis lagre tusenvis av tall per sekund! Sonic Pi tar denne listen med tall og gir dem på rett hastighet for å bevege datamaskinens høyttaler inn og ut akkurat den rette måten for å gjenskape lyden. Men det også morsomt å endre hastigheten som tallene sendes til høyttaleren med for å endre lyden.

## Endre raten

La oss spille med en de omkringliggende lydene: ': ambi_choir'. For å spille det med standard hastighet, kan du sende en `rate:` opt til `sample`:

```
sample :ambi_choir, rate: 1
```

Dette spiller den med normal hastighet (1), så ikke noe er spesielt ennå. Men vi kan fritt endre det nummeret til noe annet. Hva med `0,5`:

```
sample :ambi_choir, rate: 0.5
```

Oj! Hva skjer her? Vel, to ting. For det første tar samplet dobbelt så lang tid å spille, dernest er lyden en oktav lavere. La oss utforske disse tingene litt nærmere.

## La oss strekke ut

Et eksempel som er morsomt er å strekke og komprimere Amen Break. Med normal hastighet, kan vi tenke oss å legge det i et *tromme og bass*-spor:

```
sample :loop_amen
```

Ved å endre hastigheten kan vi imidlertid bytte sjangere. Prøv halv fart for *old school hip-hop*:

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

Hvis vi øker farten går vi inn i *jungel*-territoriet:

```
sample :loop_amen, rate: 1.5
```

Nå vårt siste festknep - la oss se hva som skjer hvis vi bruker en negativ rate:

```
sample :loop_amen, rate: -1
```

Oj! Det spiller det *baklengs*! Nå prøv å spille med mange forskjellige sampler med forskjellige hastigheter. Prøv snålt sakte rater. Se hvilke interessante lyder du kan lage.

## En enkel forklaring på sampleraten

En nyttig måte å tenke på prøvene er som fjærer. Avspillingshastighet er som å klemme sammen å trekke ut fjæren. Hvis du spiller samplet på rate 2, *klemmes fjæren sammen* til det halve av sin vanlige lengde. Samplet tar derfor halvparten av tiden til avspillingen fordi de det er kortere. Når du spiller samplet i halv fart *strekker du fjæren* til dobbelt lengde. Samplet tar da dobbelt så lang tid å spille fordi det lengre. Jo mer du klemmer (høyere hastighet), jo kortere blir den, jo mer du strekke (lavere rate), jo lengre det blir det.

Å presse sammen en fjær øker tettheten (antall viklinger per cm). Dette tilsvarer at samlet lyder med *en høyere tone*. Strekkes fjæren ut reduseres tettheten og tilsvarer en lyd som har en *lavere tone*.


## Matematikken bak sampelraten

(Denne delen gis for de som er interessert i detaljene. Du må gjerne hoppe over den...)

Som vi så ovenfor, er et sampel representert av en stor, lang liste med tall som sier hva høyttaleren skal gjøre over tid. Vi kan ta denne listen med tall og bruke den til å tegne et diagram som vil se slik ut:

![sample graph](../../../etc/doc/images/tutorial/sample.png)

Du kanskje har sett bilder som dette før. Det kalles samplets *bølgeform*. Det er bare en graf med tall. En bølgeform som dette har vanligvis 44100 datapunkter per sekund (dette ut fra Nyquist-Shannons samplingsteorem). Så, hvis samlet varer i 2 sekunder, vil bølgeformen være representert ved 88200 punkter som vi ville mate høyttaleren med en hastighet på 44100 punkter per sekund. Selvfølgelig vi kan mate den med dobbel hastighet, som ville være 88200 punkter per sekund. Dette ville det derfor bare ta et sekund å spille. Vi kan også spille det med halv fart, som ville være 22050 punkter per sekund, som tar 4 sekunder å spille.

Samlets varigheten påvirkes av avspillingshastigheten:

* Doblet avspillingshastighet halverer spilletiden,
* Halvering av avspillingshastigheten dobler spilletiden,
* Settes avspillingshastigheten til en fjerdedel, firedoble avspillingstiden,
* Å bruke en avspillingshastighet på 1/10 gjør avspillingen 10 ganger lengre.

Vi kan representere dette med formelen:

```
new_sample_duration = (1 / rate) * sample_duration 
```

Endret avspillingshastighet påvirker også samplets tonehøyde. Frekvensen eller tonen til en bølgeform avgjøres av hvor raskt den beveger seg opp og ned. Hjernen vår oppfatter raske bevegelser i høyttalerne som høye toner og langsomme bevegelser i høyttalere som lave toner. Det er derfor du noen ganger du til og med kan se en stor basshøyttaler flytter seg når den pumper ut superlav bass - den flytter seg faktisk mye langsommere inn og ut enn en høyttaler som lager høyere notater.

Hvis du tar en bølge og klemmer den sammen vil den flytte opp og ned flere ganger per sekund. Dette vil gjøre at den høres høyere ut. Det viser seg at dobbel mengde opp og ned bevegelser (svingninger) dobler frekvensen. Så *å spille ditt sampel med dobbel hastighet vil doble frekvensen du høre det på*. Altså vil *halv hastighet halvere frekvensen*. Andre hastigheter påvirker frekvensen tilsvarende.
