Class patches and examples
Students of Music 2421, here are some patches from our session the other day:
– Wavetable Synthesis (arrays as storage for “sinesum” functions)
– Auto-clave (3 to 2 rhythmic ratio…arrays as storage for audio)
– Playing Audio Files (tabplay~, phasor~ as array reader, lineplayer~, etc)
– A Gig in Tokyo (Hardoff’s fancy, multi-track auto-DJ application…with performance docs)
More “practical data” examples can be found here … and elsewhere on the web …
UPDATE: One more, the “beat slicing” example a played for you. In class I used the Amen break but here there are some other audio files.
Saariaho patches, download
For students of Music 6421, here is the link to download the Saariaho patches for live performance:
Note that this link changed very recently and now does contain the audio itself in the Max patches.
Here are the individual pages (including instructions and program notes) for NoaNoa and Pres:
These patches can also be found on the Desktop in B27 inside the folder, “Saariaho”.
The patches themselves are modular and will open in several windows, each a subpatch from the main patch shown in the upper left (labeled “NoaNoa” and “Près”, respectively). To start a patch, look to this main window, setting the MIDI input (if you plan to explore the MIDI device controls and the pedal), hit “init” (to reset everything and raise levels for performance), choose a stereo or quad mix (quad seems to lack the reverb, something I need to diagnose), and set pedal polarity (a pedal can be used in conjunction with the blue fader control (Berhringer BCF2000) on the main desk. There is already a pedal installed under the desk for this purpose.
Max at Seventeen: Miller S. Puckette
Here, for your reading enjoyment, is a history of Max (Max/MSP, PD, JMax, etc) by its original author, Miller S. Puckette.
PureData first sound patch, Music 2421
PD INSTALLATION INSTRUCTIONS –>
As a first introduction to PD and as a head-start to Tuesday’s Music 2421 meeting, I would like you to create a simple PD “patch”: two oscillators offset by 3 hertz, creating an interference/beating effect.
Steps for the impatient (TL;DR):
1. Create a new patch (File–>New)
2. Create two oscillator objects: [osc~ 440] and [osc~ 443] (Put–>Object)
3. Create a [dac~] audio output object (Put–>Object)
4. Connect the oscillators to the outputs, one to each of [dac~]’s two inlets
(LOWER DOWN YOUR SPEAKERS!!)
5. Turn on PD’s “DSP” in the PD main window, enabling sound processing
You should now hear two oscillators beating 3 hertz apart.
Detailed instructions:
Open PD and create a new patch (File–>New). You will get a completely blank slate, PD’s default state….ready for us to make anything we can imagine.
Onto this blank canvas, we will place “objects” (things that perform actions, receive data or audio, make calculations, etc), numbers, messages, comments, and graphical objects. By combining the functionality of lower-level objects (such as those that add numbers, generate a signal, or take in audio), we will construct our own musical instruments/tools.
IMPORTANT: When working in PD there are two modes: “Edit Mode” (when you are editing/building the patch) and “Performance Mode” (when you are operating the patch). While working, you will frequently toggle back and forth between these two modes. It is therefore worth, memorizing the keystroke, Command-E (or Ctl-E on Windows).
In Edit Mode, go to the “Put” menu and choose an “object” (note the keystroke as well, Command-1). In the dotted box that appears, type “osc~ 440″(that’s “osc tilde, SPACE, 440) and click anywhere on the patch to “instantiate” the object.
Note: the “~” (tilde) which, looking like a sine tone, designates this as an audio objects. In a minute we’ll see objects without the tilde, those that send/relay/create messages.
Objects like [osc~] have inlets (to receive messages) and outlets (to output their data) or values can be supplied as “arguments”. Here with [osc~ 440], the argument “440” tells the oscillator its frequency.
Even though we don’t hear anything yet, let’s create a second oscillator with a frequency 3 hertz higher than our first, so [osc~ 443].
To hear these sound generating objects, we need an audio output object called [dac~]. By default, [dac~]’s two inlets are speaker outputs 1 and 2 or the LEFT and RIGHT channels.
Your patch should now look like this:
Before the patch can make sound, we have to connect the oscillators to the “dac”. Mouse-over the outlet (black dash at the bottom-left of the object) and connect [osc~440] to the [dac~]’s left-most input (to channel 1, LEFT). Connect [osc~443] to the [dac~]’s right-most input (to channel 2, RIGHT).
Finally (after turning DOWN the volume on your speakers!!), go to PD’s main window and turn on the “DSP”, PD’s way of enabling sound processing.
You should now hear two oscillators beating together at a separation of 3 hertz.
For more fun: here’s a more advanced version (you may need to right-click and choose “Save As…”) that uses the text keyboard to play notes/frequencies. Hit the number keys 0 – 5 to change the interval between the two oscillators and hit any letter key to play a “solo” over this “drone”. I recommend, for once, turning on your CAPS LOCK as the notes will be lower that way. See if you can figure out why!
Notes, Wavelength, and Frequency
Note | Octave | Frequency (Hz) | Wavelength (M)* | Comment |
C | 0 | 16.351 | 20.812m | |
C# / Db | 0 | 17.324 | 19.643m | |
D | 0 | 18.354 | 18.540m | |
D# / Eb | 0 | 19.445 | 17.500m | |
E | 0 | 20.601 | 16.518m | |
F | 0 | 21.827 | 15.590m | |
F# / Gb | 0 | 23.124 | 14.716m | |
G | 0 | 24.499 | 13.890m | |
G# / Ab | 0 | 25.956 | 13.110m | |
A | 0 | 27.5 | 12.374m | Lowest Note of Piano |
A# / Bb | 0 | 29.135 | 11.680m | |
B | 0 | 30.868 | 11.024m | |
C | 1 | 32.703 | 10.405m | |
C# / Db | 1 | 34.648 | 9.821m | |
D | 1 | 36.708 | 9.270m | |
D# / Eb | 1 | 38.891 | 8.750m | |
E | 1 | 41.203 | 8.259m | Lowest Note of Bass |
F | 1 | 43.654 | 7.795m | |
F# / Gb | 1 | 46.249 | 7.358m | |
G | 1 | 48.999 | 6.945m | |
G# / Ab | 1 | 51.913 | 6.555m | |
A | 1 | 55 | 6.187m | |
A# / Bb | 1 | 58.27 | 5.840m | |
B | 1 | 61.735 | 5.512m | |
C | 2 | 65.406 | 5.203m | |
C# / Db | 2 | 69.296 | 4.911m | |
D | 2 | 73.416 | 4.635m | |
D# / Eb | 2 | 77.782 | 4.375m | |
E | 2 | 82.407 | 4.129m | Lowest Note of Guitar |
F | 2 | 87.307 | 3.898m | |
F# / Gb | 2 | 92.499 | 3.679m | |
G | 2 | 97.999 | 3.472m | |
G# / Ab | 2 | 103.826 | 3.278m | |
A | 2 | 110 | 3.094m | |
A# / Bb | 2 | 116.541 | 2.920m | |
B | 2 | 123.471 | 2.756m | |
C | 3 | 130.813 | 2.601m | |
C# / Db | 3 | 138.591 | 2.455m | |
D | 3 | 146.832 | 2.318m | |
D# / Eb | 3 | 155.563 | 2.187m | |
E | 3 | 164.814 | 2.065m | |
F | 3 | 174.614 | 1.949m | |
F# / Gb | 3 | 184.997 | 1.839m | |
G | 3 | 195.998 | 1.736m | Lowest note of violin |
G# / Ab | 3 | 207.652 | 1.639m | |
A | 3 | 220 | 1.547m | |
A# / Bb | 3 | 233.082 | 1.460m | |
B | 3 | 246.942 | 1.378m | |
C | 4 | 261.626 | 1.301m | Middle C |
C# / Db | 4 | 277.183 | 1.228m | |
D | 4 | 293.665 | 1.159m | |
D# / Eb | 4 | 311.127 | 1.094m | |
E | 4 | 329.628 | 1.032m | |
F | 4 | 349.228 | 0.974m | |
F# / Gb | 4 | 369.994 | 0.920m | |
G | 4 | 391.995 | 0.868m | |
G# / Ab | 4 | 415.305 | 0.819m | |
A | 4 | 440 | 0.773m | Tuning reference note |
A# / Bb | 4 | 466.164 | 0.730m | |
B | 4 | 493.883 | 0.689m | |
C | 5 | 523.251 | 0.650m | |
C# / Db | 5 | 554.365 | 0.614m | |
D | 5 | 587.33 | 0.579m | |
D# / Eb | 5 | 622.254 | 0.547m | |
E | 5 | 659.255 | 0.516m | |
F | 5 | 698.456 | 0.487m | |
F# / Gb | 5 | 739.989 | 0.460m | |
G | 5 | 783.991 | 0.434m | |
G# / Ab | 5 | 830.609 | 0.410m | |
A | 5 | 880 | 0.387m | |
A# / Bb | 5 | 932.328 | 0.365m | |
B | 5 | 987.767 | 0.345m | |
C | 6 | 1046.502 | 0.325m | |
C# / Db | 6 | 1108.731 | 0.307m | |
D | 6 | 1174.659 | 0.290m | |
D# / Eb | 6 | 1244.508 | 0.273m | |
E | 6 | 1318.51 | 0.258m | |
F | 6 | 1396.913 | 0.244m | |
F# / Gb | 6 | 1479.978 | 0.230m | |
G | 6 | 1567.982 | 0.217m | |
G# / Ab | 6 | 1661.219 | 0.205m | |
A | 6 | 1760 | 0.193m | |
A# / Bb | 6 | 1864.655 | 0.182m | |
B | 6 | 1975.533 | 0.172m | |
C | 7 | 2093.005 | 0.163m | |
C# / Db | 7 | 2217.461 | 0.153m | |
D | 7 | 2349.318 | 0.145m | |
D# / Eb | 7 | 2489.016 | 0.137m | |
E | 7 | 2637.021 | 0.129m | |
F | 7 | 2793.826 | 0.122m | |
F# / Gb | 7 | 2959.955 | 0.115m | |
G | 7 | 3135.964 | 0.109m | |
G# / Ab | 7 | 3322.438 | 0.102m | |
A | 7 | 3520 | 0.097m | |
A# / Bb | 7 | 3729.31 | 0.091m | |
B | 7 | 3951.066 | 0.086m | |
C | 8 | 4186.009 | 0.081m | |
C# / Db | 8 | 4434.922 | 0.077m | |
D | 8 | 4698.636 | 0.072m | |
D# / Eb | 8 | 4978.032 | 0.068m | |
E | 8 | 5274.042 | 0.065m | |
F | 8 | 5587.652 | 0.061m | |
F# / Gb | 8 | 5919.91 | 0.057m | |
G | 8 | 6271.928 | 0.054m | |
G# / Ab | 8 | 6644.876 | 0.051m | |
A | 8 | 7040 | 0.048m | |
A# / Bb | 8 | 7458.62 | 0.046m | |
B | 8 | 7902.132 | 0.043m | |
C | 9 | 8372.018 | 0.041m | |
C# / Db | 9 | 8869.844 | 0.038m | |
D | 9 | 9397.272 | 0.036m | |
D# / Eb | 9 | 9956.064 | 0.034m | |
E | 9 | 10548.084 | 0.032m | |
F | 9 | 11175.304 | 0.030m | |
F# / Gb | 9 | 11839.82 | 0.029m | |
G | 9 | 12543.856 | 0.027m | |
G# / Ab | 9 | 13289.752 | 0.026m | |
A | 9 | 14080 | 0.024m | |
A# / Bb | 9 | 14917.24 | 0.023m | |
B | 9 | 15804.264 | 0.022m |
Pitch ratios
Ascending | Intervals | Descending | Intervals |
Interval | Frequency Ratio | Interval | Frequency Ratio |
unison | 1 : 1 | unison | 1 : 1 |
m2 | 1 : 1.059 | minor 2nd | 1 : 0.943 |
M2 | 1 : 1.122 | Major 2nd | 1 : 0.8909 |
m3 | 1 : 1.189 | minor 3rd | 1 : 0.84 |
M3 | 1 : 1.26 | Major 3rd | 1 : 0.7937 |
P4 | 1 : 1.334 | Perfect 4th | 1 : 0.749 |
aug4/dim5 | 1 : 1.4142 | augm 4th/dim 5th | 1 : 0.707 |
P5 | 1 : 1.498 | Perfect 5th | 1 : 0.667 |
m6 | 1 : 1.587 | minor 6th | 1 : 0.63 |
M6 | 1 : 1.682 | Major 6th | 1 : 0.595 |
m7 | 1 : 1.7818 | minor 7th | 1 : 0.561 |
M7 | 1 : 1.887 | Major 7th | 1 : 0.530 |
Octave | 1 : 2 | Octave | 1 : 0.5 |
For ascending intervals greater than an octave, multiply the INTEGER portion
of the Frequency ratio by 2 for each successive octave (1, 2, 4, 8, etc.)
Examples:
– a minor tenth up = 2.189
– 2 octaves + a tritone up = 4.4142
For descending intervals greater than an octave, divide the Freq. ratio by
2 (if between 1 and 2 octaves), by 4 (if between 2 & 3 octaves), and so on.
Examples:
– an octave plus a perfect 4th down = 0.3745 ( 0.749/2 )
– 2 octaves plus a minor 3rd down = 0.21 ( 0.84/4 )
PD extended, installation
To install PD(-extended) on your Mac, PC, or Linux system please visit:
– http://puredata.info/downloads/pd-extended
Download the installer appropriate to your operating system and architecture (I don’t recommend the “Alpha” release for prime-time usage, but it you are curious about recent developments in the interface (significant) and function of PD, you are welcome to download that also).
For some Mac users, you may need to install “X11”, the venerable Unix graphics system on which some of PD’s functionality rests. You can download that, available now as “XQuartz” from here.
Here, too, is mPD, a mobile version for Android, for those interested:
– https://play.google.com/store/apps/details?id=org.mpd
In addition to PD’s built-in Help system, please see the following sites for more help and shared patches.
– PD Forum and Patch Repo – Repository for patches, tutorials, and discussion related to PD.
– PD FLOSS Manuals – including concepts, working patches, and installation/setup help
– Programming Electronic Music in PD (“loadbang”) – Johannes Kreidler’s book
No-input listening
Students of Music 6421: This week as you prepare your pieces for next Tuesday’s in-class performance, I would you just to listen to some music from a space outside of our normal purview, to seek out musical sub-genres of electroacoustic improvisation.
For starters, some music for you from Toyko and “Onkyo”, first Toshimaru Nakamura:
“The first thing for me is not emotion or concept, just sound”. – Nakamura
Sachiko M:
https://www.youtube.com/watch?v=8lcqFMuxHeo
And a brief excerpt from a “documentary” on both of them: