Øvelse: Granular syntese
I denne øvelse arbejder du med granulering af samples ved hjælp af UGen'en GrainBuf
.
Valg og indlæsning af sample
Til brug i denne øvelse skal der indlæses et sample. Du kan bruge din egen lydfil, den skal blot:
- Vare maksimalt 10 sekunder.
- Være trimmet, så der ikke er stilhed i begyndelsen eller slutningen af samplet.
- Indlæses i mono.
Som forberedelse til de øvrige opgaver herunder:
- Indlæs et sample i en buffer gemt under variablen
~buffer
. - Hvis din lydfil er i stereo, kan du indlæse den første kanal med
.readChannel
- se kodeblokken herunder. - Hvis du ikke har en lydfil klar selv, kan du bruge den nederste linje herunder, som indlæser et indbygget sample fra SuperCollider.
Indlæsning af sample
// Udfyld her med dit eget mono-sample
~buffer = Buffer.read(s, );
// Brug .readChannel, hvis dit sample er i stereo
~buffer = Buffer.readChannel(s, channels: [0], path: );
// Hvis du ikke har en lydfil klar, kan du bruge et indbygget sample i stedet:
~buffer = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");
Grainvarighed, tæthed og triggerfrekvens
- Undersøg ved hjælp af nedenstående kodeblok og din mus/touchpad (se hvilke parametre
MouseX
ogMouseY
styrer herunder), hvordan den automatiske udregning af triggerfrekvens fungerer ved forskellige kombinationer af grainvarighed og mængden af tæthed.
Grainvarighed, tæthed og triggerfrekvens
{
var grainDur = MouseX.kr(0.01, 0.2, \linear).poll(label: \grainDur);
var density = MouseY.kr(0.5, 20, \exponential).poll(label: \density);
var trigFreq = (density / grainDur).poll(label: \trigFreq);
GrainBuf.ar(
numChannels: 2,
trigger: Dust.ar(trigFreq),
dur: grainDur,
sndbuf: ~kalimba,
rate: 1,
pos: LFSaw.ar(0.5, 1).unipolar,
pan: 0
);
}.play;
Modulation af granular syntese
Justér nedenstående kodeblok, således at:
- Der kommer overlap mellem de enkelte grains, dvs. relativt høj tæthed.
- Følgende parametre moduleres af LFO'er, fx
SinOsc
,XLine
,EnvGen
,LFNoise
,LFTri
etc.:dur
rate
pos
pan
Dust
anvendes som trigger i stedet forImpulse
.- Overvej: Hvordan påvirker disse parametre og modulationer lyden? Hvilke æstetiske muligheder kan du se i denne form for sample-manipulation?