Audio-effecten
Klinkt interessant, experimenten met geluid

Introductie

Hallo, welkom bij les drie. Vorige les hebben we je verteld over HOF's, hoe je deze functies van hogere orde kunt maken en toepassen. Deze les ga je de HOF's toepassen op geluid om daarmee audio-effecten te genereren.
De orginele video van deze les met Nederlandstalige ondertiteling kun je hier bekijken.
Voordat we met audio-effecten aan de slag kunnen zul je eerst een opname moeten maken. Om een geluidsopname te maken, klik je op het tablad "sounds" van het script veld. Klik op de rode opname knop waarna het veld Sound Recorder geopend wordt.
Snap's: Sound Recorder
De bedieningsknoppen om geluid van links naar rechts op te nemen zijn:
  • Opname starten
  • Opname stoppen
  • Opname afspelen
Bedenk en bespreek vooraf goed wat je wilt gaan opnamen. Kies één woord welke je op één toonhoogte gaat inzingen. Wij kiezen voor het woord "SNAP". Druk op de knop, opname starten...en zing direct het woord in. Druk op de knop, opname stoppen. Beluister de opnamen door op de knop, opname afspelen te klikken. Ben je tevreden over de opname?
Voor het slagen van dit project, probeer lange stiltes aan het begin van de opname te voorkomen.
Wanneer je tevreden bent klik je met de muis op "Save" anders op "Cancel" en probeer je het nog een keer opnieuw. Vergeet niet je opname een passende naam te geven door er met de rechtermuisknop op te klikken en in het optie menu "rename" te selecteren.
Ga naar het script veld. In de cetegorie "sound" sleep je
blok in het script veld. Selecteer je opname vanuit het dropdown menu
. Door met de muis op het blok te klikken, speel je de opname af.

Audio-effecten

De opname wordt met een frequentie van 44100 Hz afgespeeld. Selecteer de dubbele frequentie hoeveelheid. De opname krijgt een hogere toon, de opname klinkt nu om precies te zijn een octaaf hoger. EΓ©n octaaf, is opgboouwd uit twaalf halve toonsafstanden. Kunnen we een script bedenken om ook alle tussenliggende tonen van het octaaf te laten horen? Denk mee, wanneer het octaaf een omvang heeft van twaalf halve toonsafstanden, wanneer we nu de basisfrequentie van 44100 Hz delen door 12 hebben we het equivalent van 1 halve toonsafstand. Bouw onderstaand nieuwe blok.
Plaats het nieuw gemaakte
blok in het
blok. Test het script.
We kunnen met het volgende script eenvoudig een (chromatische) toonaldder laten afspelen.
Toonladder script
Of we stappen in de voetsporen van Ludwig von Beethoven. Maak de volgende lijst met getallen, weet jij de titel van deze compositie?
Script: Ludwig von Beethoven
Door het aanpassen van de sample frequentie , daarvoor een script te programmeren maken we muziek. Deze muzikale stemming waarbij we de standaard sample frequentie van 44100 Hz door 12 delen is vernoemd naar Pythagoras. Deze stemming van Pythagoras is in de loop der tijden vervangen door de stemming: "evenredig zwevende temperatuur".
Extra: zoek in Wikipedia op "evenredig zwevende temperatuur", en kijk of je deze moderne stemming in het toonladder script kunt verwerken.
Start een nieuw script. Maak een nieuwe opname met de tekst: "De schoonheid en het plezier van computers". Geef het opname bestand de naam "SPC". Ga naar de categorie "Sound" en sleep dit
blok in het script veld en selecteer:
. Bekijk van dit "reporter blok de resultaten wannneer je de optie in het eerste "dropdown" menu veranderd.
Eerst importeren we een nieuwe bibliotheek. Ga naar het "file" menu en selecteer daarin de optie "Libraries...".
"Libraries..."
Selecteer de module "Audio Comp" en klik op "Import". helemaal onderin de pen categorie vind je het
. Selecteer de optie
en klik met de muis op dit blok. Op het podium wordt een grafiek met de samples, de karakterestiek van de opname getekend.
Selecteer
.Klik met je muis op dit blok, er verschijnt een lijst met samples met een omvang tussen -1 en 1. Wanneer dit een lijst met getallen betreft kunnen we de HOF "map" gaan gebruiken. Bouw test en beschrijf de volgende scripts. Behalve het eerste script plaats je alle scripts eerst in het
blok voor de grafische weergave vervolgens speel je de opname af met het
blok. Dus...eerst plotten er een grafiek van maken, daarna pas afspelen.
  • ​
    ​
  • ​
    ​
  • ​
    ​
  • ​
    ​
  • ​
    ​
  • ​
    ​
Het zesde en laatste script speelt de opname van achter naar voren af. Laten we daar een "reverse" blok van gaan maken.
Het "reverse" blok
Plot eerst het "reverse" blok vervolgens test je het gemaakte "reverse" blok.
  • ​
    ​
  • ​
    ​
  • ​
    ​
Wat krijgen we te horen wanneer we het gemiddelde nemen tussen de samples van een op- en aflopende lijst. Daarvoor maken we eerst het "average" blok.
"average" blok
Maak, plot, test en denk goed na over de werking het volgende script. Tip: gebruik "shift klik" om alle optionele parameters in één keer te openen.
De grafiek geeft een volledig symmetrische curve.
​
​
Dit complexe script speelt tegelijk de opname zowel vooruit als achteruit. Magie! Pas dit script toe op een opname waarbij je het liedje "Happy Birthday To You" zingt. πŸ˜ƒ Door het gemiddelde van samples te nemen levert nieuwe en verassende resultaten op.
Een variatie op bevenstaand script geeft je het "chorus" effect.
"Chorus" effect
We hebben geleerd dat je met HOF's, met "map" je data kunt transformeren. In deze les hebben we met "map" geluidseffecten gemaakt. Deze werkwijze, het tranformeren van data met kun je op elke vorm van media toepassen en zelfs maar dat bewaren we voor week 4 van deze cursus op "spreadsheets".

Probeer meer

  1. 1.
    "Sample" een muziekinstrument. Heb je zelf een gitaar, fluit, hoorn en/of piano? Neem met de "Sound recorder" één korte toon op, bij voorkeur "A". Maak in Snap! een eigen blok dat elke noot kan afspelen. Ga naar Wikipedia en zoek: stemming, evenredig zwevende temperatuur. Dit script blok kan je daarbij helpen:
2. In deze les hebben we een echo geluidseffect gemaakt. Kun je een blok maken waarbij je een input veld voor het tijdsinterval van de echo creΓ«ert?
Het script zou een lijst met samples kunnen genereren of beter het geluid afspelen.

Pro-Tips

  1. 1.
    Bij het maken van een nieuw "custom" blok in Snap! is het mogelijk een vooropgesteld menu aan een variabele toe te wijzen. Klik op de rechtermuisknop In het veld waar je de keuze maakt in het type input.
2. In plaats van een lijst met samples als output te genereren kun je met dit "reporter" blok direct het geluid te laten horen.
Probeer dit, het heeft een paar voordelen tijdens de volgende tips.
3. Tremolo-effect, na het maken van het echo-effect waarin het "delay" kan worden ingesteld. Kun je meerdere van deze blokken elkaars input laten zijn. "Nest it", "Recursion"
Tremolo-effect
Werd je verrast door het resultaat, kun je het resultaat verklaren?
4. Recursie, kun je een blok voor het Tremolo-effect bedenken die de reporterfunctie op zichzelf gebruikt? Een herhaalblok voor de functie zelf.
  • Bouw het recursie blok
​
​
  • Test het recursie blok
​
​
  • Speel het geluid en maak muziek.

Testopgaven

  1. 1.
    Met welke functie berekening bereken je de derde toon (level) binnen het octaaf?
  • (44100/12) * 3
  • 44100 + ((44100/12) * 3)
  • 44100 + ((44100/12) * 6)
  • 44100 + (44100/3)
2. Welk blok toont je de samples van het opgenomen geluid.
  • ​
    ​
  • ​
    ​
  • ​
    ​
  • ​
    ​
​
​
​
​
​
Last modified 1yr ago