CDP would like to thank the University of Newcastle, Philippos Theocharidis and his tutor Agustin Fernandez for preparing this excellent tutorial and making it freely available to composers using GrainMill.
Introduction
Section 1 – Creating a phrase
- wildphrase.wav TRANSPOSITION of grains
LOAD wildphrase.grn- blurphrase.wav blurred wildphrase Blurring of grains with increased DENSITY
LOAD blurphrase.grn- slowphrase.wav slow wildphrase Increasing GRAINSIZE
LOAD slowphrase.grn- richphrase.wav richer wildphrase The effect of TIMESTRETCH
LOAD slowphrase.grnSection 2 – Varying the size of grains in time
- mutantflies.wav Varied grainsizes with high density & a pitch range
LOAD mutantflies.grnSection 3 – Long grains, wide range of transpositions
- metalnoise.wav Long grains, constant pitch
LOAD metalnoise.grn- horntometnois.wav Long grains with a pitch range
LOAD horntometnois.grnSection 4 – Creating dense textures
- chaotic.wav Very high changing DENSITY, with a wide pitch range
LOAD chaotic.grn- harshchaos.wav A more chaotic effect WANDER: grains selected from a range
LOAD harshchaos.grn- smoothchaos.wav Constrained chaos Constant LOUDNESS
LOAD smoothchaos.grnSection 5 – A combination
- brtopieces.wav Many time-varying options
LOAD brtopieces.grn
GrainMill works by applying a process to each and every 'grain' of sound created. These grains are extracted from the source sound, processed, and reconstructed into a new sound.
Return to Table of Contents.IMPORTANT: Using the tutorial
In order to be able to listen to the sounds in this tutorial you first have to create them in GrainMill. This can be done by loading the equivalent .grn files provided, and running the program once for every sound.You are now ready to use the tutorial.
- Create a directory named 'Tutorial' (or whatever) and copy to it all the files pertaining to A GrainMill Tutorial.
- After launching GrainMill select the directory named 'Tutorial' (or whatever you called it) as your working directory.
- Go to 'Open Soundfile' in GrainMill's FILE menu and select the source sound "horn.wav" (the main dialog will appear, with default settings)
- Load a .grn file (e.g wildphrase.grn) and press the MAKE IT button at the right bottom of the window. (The .txt files of the same name contain the parameter data in text rather than binary form, for viewing with a text editor.)
- Wait for processing to take place. You now have the first sound.
- SAVE AS the resulting soundfile, using the name as in the tutorial.
- Repeat steps 4 to 6 for every .grn file in the directory.
PITCH is randomly changed (using a range ) between values defined by two breakpoint files, pitchi1.brk and pitchlo1.brk. One ascends from almost no pitch shift to an octave higher while the other descends from zero transposition to an octave lower, widening the transposition range of grains with time, from zero to two octaves. Dynamic variation is also achieved using a range in the LOUDNESS value. The grains occupy the entire stereo field (SPACE range = L–R). The transpositions can be heard clearly as grains do not overlap considerably (DENSITY is 2) and the length of the sound stays the same because there is no TIMESTRETCH.
Return to Table of Contents.
Return to Table of Contents.
Return to Table of Contents.
Parameters | wildphrase | blurred wildphrase | slow wildphrase | richer wildphrase | ||||
---|---|---|---|---|---|---|---|---|
TIMESTRETCH | 1.00 | 1.00 | 1.00 | 1.34 | ||||
DENSITY | 2.00 | 5.85 | 2.00 | 2.00 | ||||
GRAINSIZE | 60.10 | 60.84 | 144.34 | 60.84 | ||||
WANDER | 0.00 | 0.00 | 0.00 | 0.00 | ||||
PITCH | pitchlo1 | pitchi1 | pitchlo1 | pitchi1 | pitchlo1 | pitchi1 | pitchlo1 | pitchi1 |
LOUDNESS (dB) | -46.64 | -6.02 | -14.30 | -1.17 | -14.30 | -1.17 | -14.30 | -1.17 |
SPACE | 0.00 | 1.00 | 0.00 | 1.00 | 0.00 | 1.00 | 0.00 | 1.00 |
SCATTER? | 0.95 | 0.95 | 0.95 | 0.95 | ||||
DURATION | 5.36 | 5.38 | 5.31 | 7.19 |
pitchlo1.brk | pitchi1.brk | ||
---|---|---|---|
time (sec) | transposition (semitones) | time (sec) | transposition (semitones) |
0.00 | 0.00 | 0.00 | 0.47 |
0.67 | -2.75 | 0.64 | 1.25 |
1.31 | -4.83 | 1.31 | 2.13 |
1.78 | -6.91 | 1.81 | 3.43 |
2.14 | -9.30 | 2.25 | 5.19 |
2.60 | -11.9 | 2.60 | 12.0 |
Parameters | mutantflies | |
---|---|---|
TIMESTRETCH | 1.84 | |
DENSITY | 10.77 | |
GRAINSIZE | 50.00 | grainsize2 |
WANDER | 0.00 | |
PITCH | -0.6 | 0.6 |
LOUDNESS (dB) | -39.69 | 0.00 |
SPACE | space2 | |
SCATTER? | 0.95 | |
DURATION | 9.83 |
grainsize2.brk | space2.brk | ||
---|---|---|---|
time (sec) | grainsize (ms) | time (sec) | stereo position |
0.00 | 20.0 | 0.00 | 0.00 |
0.61 | 25.0 | 0.80 | 0.98 |
1.57 | 48.1 | 1.27 | 0.13 |
2.15 | 130.9 | 1.90 | 0.78 |
3.04 | 500.0 | 2.02 | 0.28 |
2.39 | 0.55 | ||
2.63 | 0.34 | ||
3.04 | 0.43 |
Return to Table of Contents.
An important feature in both of the above examples is the interaction of the TIMESTRETCH and DENSITY parameters. They are both controlled by breakpoint files. DENSITY becomes higher as the sound evolves (this can be clearly heard as sound "partials" are distinguishable in the begining as in Section 2). In this case however TIMESTRETCH has to be higher for as long as the DENSITY is low, due to the long GRAINSIZE (you run out of source sound length if you do not time-expand).
WANDER and LOUDNESS variation have the effect of making the sound harsher.
Parameters | MetalNoise | HornToMetnois | ||
---|---|---|---|---|
TIMESTRETCH | 0.5 | tstretch3 | 0.5 | tstretch3 |
DENSITY | 76.11 | density3 | 76.11 | density3a |
GRAINSIZE | 352.35 | 352.35 | ||
WANDER | 2.80 | 2.80 | ||
PITCH | -12 | 34 | -12 | pitchi3a |
LOUDNESS (dB) | -54.61 | 0.00 | -54.61 | 0.00 |
SPACE | space3 | space3 | ||
SCATTER? | 0.95 | 0.95 | ||
DURATION | 2.52 | 2.52 |
tstretch3.brk | density3.brk | density3a.brk | pitchi3a.brk | space3.brk | |||||
---|---|---|---|---|---|---|---|---|---|
time (sec) | timestretch | time (sec) | density | time (sec) | density | time (sec) | transposition (semitones) | time (sec) | stereo position |
0.00 | 3.96 | 0.00 | 3.88 | 0.00 | 3.88 | 0.00 | 7.73 | 0.00 | 0.93 |
1.35 | 1.58 | 0.35 | 10.58 | 0.85 | 15.19 | 2.35 | 16.45 | 0.36 | 0.50 |
1.99 | 0.78 | 0.55 | 20.11 | 1.46 | 32.42 | 3.49 | 32.57 | 0.70 | 0.05 |
2.27 | 0.43 | 0.76 | 39.52 | 1.97 | 56.73 | 5.39 | 34.55 | ||
2.52 | 0.19 | 0.90 | 60.68 | 2.52 | 77.97 | ||||
0.99 | 77.97 |
Phasing effects are apparent due to the high DENSITY and long GRAINSIZE. Another important element in this sound is the reverberant effects. These are due to the same reasons plus the WANDER value that is set to 0 and the SPACE range (full Left to Right).
Return to Table of Contents.
Return to Table of Contents.
Parameters | Chaotic | Harsh chaos | Smooth chaos | |||
---|---|---|---|---|---|---|
TIMESTRETCH | 1.83 | 1.83 | 1.83 | |||
DENSITY | 10.15 | 50.43 | 10.15 | 50.43 | 10.15 | 50.43 |
GRAINSIZE | 100.39 | 100.39 | 100.39 | |||
WANDER | 0.00 | 1.37 | 0.00 | |||
PITCH | -6.0 | 6.0 | -6.0 | 6.0 | -6.0 | 6.0 |
LOUDNESS (dB) | -48.75 | 0.00 | -48.75 | 0.00 | -48.75 | 0.00 |
SPACE | 0 | 1 | 0 | 1 | 0 | 1 |
SCATTER? | 0.95 | 0.95 | 0.95 | |||
DURATION | 9.88 | 9.88 | 9.88 |
In the first part, (the piercing sound) grains are transposed almost 3 octaves higher. Pitchhi5.brk and pitchlo5.brk, the breakpoint files for the higher and lower limits of PITCH respectively, have small differences up to the point where the breakdown of the sound occurs. This actually happens because of the instantaneous change from 31.17 to -12.88 semitones in the transposition value in pitchlo5.brk while pitchi5.brk "stays" at high values. After a bump to around 44.61 semitones, the higher limit starts a downward glissando to 24.35 and the lower does the same to -17.32 semitones.
LOUDNESS is controlled by a single file amp5.brk which simply dies away after the breakdown and SPACE is given a range between spacehi5.brk and spacelo5.brk. The range is wide in the beginning, quickly moving the "pieces" to full Left towards the end.
TIMESTRETCH (controlled by tstretch5.brk) is initialy constant at 1.9 and then moves to 6.7 at the end, and DENSITY (breakpoint file density5.brk) changes throughout, taking values between 3 and 16. As the GRAINSIZE is small (18.36 ms or 0.018 sec), individual grains can just be heard at points with lower density in the first part of the sound. The combination of the later two parameters and the small variations in PITCH produce this slowing down/accelerating effect.
Parameters | brtopieces | |
---|---|---|
TIMESTRETCH | 1.85 | tstretch5 |
DENSITY | 8.92 | density5 |
GRAINSIZE | 18.36 | |
WANDER | 0.00 | |
PITCH | pitchlo5 | pitchi5 |
LOUDNESS (dB) | 0.0 | amp5 |
SPACE | spacelo5 | spacehi5 |
SCATTER? | 0.95 | |
DURATION | 9.92 |
tstretch5.brk | density5.brk | pitchlo5.brk | pitchi5.brk | amp5.brk | spacelo5.brk | spacehi5.brk | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
time (sec) | timestretch | time (sec) | density | time (sec) | transposition (semitones) | time (sec) | transposition (semitones) | time (sec) | amplitude (0-1) | time (sec) | stereo position | time (sec) | stereo position |
0.00 | 1.85 | 0.00 | 8.27 | 0.00 | 31.41 | 0.00 | 34.09 | 0.00 | 0.99 | 0.00 | 0.26 | 0.00 | 1.00 |
3.61 | 1.85 | 0.62 | 14.77 | 0.39 | 28.95 | 0.59 | 34.87 | 0.56 | 0.90 | 0.93 | 0.28 | 1.53 | 1.00 |
5.94 | 1.86 | 0.97 | 3.09 | 0.73 | 30.89 | 1.17 | 33.70 | 1.08 | 0.99 | 1.54 | 0.27 | 2.41 | 1.00 |
8.10 | 6.72 | 1.36 | 5.45 | 1.20 | 28.40 | 1.65 | 36.04 | 1.78 | 0.99 | 2.11 | 0.26 | 3.03 | 0.32 |
9.92 | 6.72 | 1.46 | 16.71 | 1.70 | 30.34 | 2.18 | 33.70 | 2.53 | 0.93 | 2.87 | 0.22 | 4.11 | 0.14 |
1.99 | 11.33 | 2.18 | 31.17 | 2.82 | 34.09 | 2.98 | 0.41 | 3.57 | 0.17 | 5.39 | 0.03 | ||
2.77 | 7.67 | 2.18 | -12.88 | 4.52 | 44.61 | 3.64 | 0.13 | 4.35 | 0.10 | ||||
3.47 | 10.14 | 3.37 | -12.91 | 5.80 | 44.61 | 4.17 | 0.03 | 5.39 | 0.00 | ||||
4.01 | 10.42 | 4.74 | -12.88 | 6.54 | 37.40 | 4.65 | 0.02 | ||||||
4.84 | 16.56 | 5.39 | -17.32 | 7.53 | 24.35 | 5.00 | 0.00 | ||||||
5.41 | 8.86 | 5.39 | 0.00 | ||||||||||
6.40 | 5.89 |