# Samples Stretchen

Nu we met verschillende synths en samples muziek kunnen gaan spelen, is het tijd om te leren hoe je zowel de synths als de samples in kan stellen om de muziek nog meer uniek en interessant te maken. Ten eerste, laten we de mogelijkheid onderzoeken om te samples te stretchen of te krimpen.

## Sample Representatie

Samples zijn eigenlijk vooraf opgenomen geluiden die opgeslagen zijn als getallen die het verplaatsen van de conus van de luidspreker veroorzaken, om het geluid te kunnen representeren. De conus van de luidspreker kan zich naar voor en naar achter verplaatsen , en dus hoeven de nummers alleen maar weer te geven, hoe ver in en uit de kegel op elk moment in de tijd moet bewegen. Om een getrouwe afspiegeling van een opgenomen geluid te kunnen zijn moet de sample meestal vele duizenden nummers per seconde opslaan! Sonic Pi neemt deze lijst van nummers en voedt hen met de juiste snelheid, om de luidspreker van uw computer op de juiste manier in en uit te verplaatsen om het geluid te kunnen weergeven. Het is echter ook leuk om de snelheid waarmee de nummers worden gevoed aan de luidspreker te veranderen, om het geluid te veranderen .

## Koers wijzigen (rate)

Laten we even spelen met één van de ambient sounds: `:ambi_choir`. Om deze af te spelen op de standaard ingestelde koers, kan je een `rate:` optie aan `sample` doorgeven:

    sample :ambi_choir, rate: 1

Deze speelt de normale koers (1), nog niets bijzonders dus. We zijn echter vrij om dat cijfer te veranderen naar iets anders. Hoe zit het met ‘0.5’:

    sample :ambi_choir, rate: 0.5

Woah! Wat gebeurt hier? Nou, twee dingen. Ten eerste, de sample duurt twee keer zo lang in deze weergave, ten tweede is het geluid een octaaf lager. Laten we deze dingen meer in detail gaan bekijken.

## Laten we stretchen

Een sample die is leuk om te stretchen en te comprimeren is de Amen Break. Op normale koers, kunnen we het ons voorstellen deze in een drum ‘n’ bass track te gooien:

    sample :loop_amen

Door de koerssnelheid te veranderen kunnen we van genre schakelen. Probeer eens halve snelheid voor old school hiphop:

    sample :loop_amen, rate: 0.5

Als we het versnellen, komen we op het grondgebied van jungle:

    sample :loop_amen, rate: 1.5

En nog een laatste truc - laten we eens kijken wat er gebeurt als we gebruik maken van een negatieve koers:

    sample :loop_amen, rate: -1

Woah! Nu speelt het achteruit! Proberen nu met een heleboel verschillende samples aan verschillende koerssnelheden te spelen. Probeer zeer snelle rates. Probeer gek trage rates. Zie welke interessante geluiden je zo kan produceren.

## Een eenvoudige uitleg over de Sample Rate

Een handige manier van denken is om samples te zien als een veer. Afspeel snelheid is als het stretchen en indrukken van de veer. Als je de sample aan snelheid (rate) 2 afspeelt, ben je de veer aan het indrukken met de helft daarvan, heb je de veer in rust. Het neemt de sample dus de helft van de tijd om te spelen, aangezien deze nu korter is. Als je de sample aan half tempo speelt, stretch je de veer tot het dubbele van zijn lengte. De sample neemt daarom tweemaal zolang tijd om te spelen, aangezien deze nu langer is. Hoe meer u indrukt (hogere snelheid), hoe korter deze wordt, hoe meer je stretcht (lagere snelheid), hoe langer deze wordt.

Het comprimeren van een veer verhoogt de dichtheid (het aantal windingen per cm) - deze is vergelijkbaar met de sample die dan hoger gepitcht klinkt. De veer rekken neemt de dichtheid af en is dan vergelijkbaar met het geluid met een lagere toonhoogte.

## De wiskunde achter Sample Rate

(Deze sectie is bedoeld voor degenen die geïnteresseerd zijn in de details. Je kan deze gerust overslaan…)

Zoals we hierboven zagen, wordt een sample vertegenwoordigd door een grote lange lijst nummers, die de luidspreker vertelt waar deze zou moeten zijn doorheen een zekere tijd. We kunnen deze lijst van getallen gebruiken om bv. deze grafiek te tekenen:

Misschien hebt u al wel eens afbeeldingen gezien zoals deze. Het is een geluidsgolf van een sample.Het is gewoon een grafiek van getallen. Meestal zal een golfvorm 44100 punten per seconde bevatten over de gegevens (dit is te wijten aan de Nyquist-Shannon sample-theoriën). Dus, als de sample 2 seconden duurt, za de golfvorm vertegenwoordigd worden door 88200 nummers die we aan de luidspreker met een snelheid van 44100 punten per seconde zouden voeden. Natuurlijk, kunnen we deze aan dubbele snelheid voeden, dat zou dan 88200 punten per seconde zijn. Dit zou dus slechts 1 seconde in beslag nemen om af te spelen. We kunnen ook aan halve snelheid afspelen, dat zou 22050 punten per seconde zijn waarbij deze 4 seconden nodig heeft om af te spelen.

De duur van de sample wordt beïnvloed door de afspeelsnelheid (rate):

- De afspeelsnelheid verdubbelen, halveert de afspeeltijd,
- Halvering van de afspeelsnelheid, verdubbelt de afspeeltijd,
- Een kwart van de afspeelsnelheid, verviervoudigt de speeltijd,
- 1/10 van de afspeelsnelheid, maakt het afspelen 10 keer langer.

Wij kunnen deze representeren met de formule:

    new_sample_duur = (1 / rate) * sample_duur

De afspeelsnelheid zal ook de toonhoogte van de sample wijzigen. De frequentie of toonhoogte van een golfvorm wordt bepaald door hoe snel deze op en neer beweegt. Onze hersenen vormen de snelle beweging van luidsprekers om tot hoge noten en de trage beweging tot lage noten. Daarom kan je soms zelfs zien hoe uit een grote bas luidspreker de super lage tonen worden gepompt, en in feite gaan deze veel trager dan een luidspreker die hoge noten reproduceert.

Als je een golfvorm neemt van een geluid en deze over de lengte samendruk,t zal deze per seconde vaker op en neer gaan. Dit zal het geluid hoger laten klinken.Het blijkt dat een verdubbeling van het aantal op en neer bewegingen (trillingen) de frequentie verdubbelt . Ook zal bij het afspelen van je sample aan dubbele rate, de frequentie verdubbelen die je hoort. Dus ook zal een halvering van de rate waarde, de frequentie halveren. Andere waarden zullen de frequenties dan naargelang beïnvloeden.