Author Archives: Kevinernste

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.

Max at Seventeen

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.

pd_window

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.

put

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:

twoosc

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.

connect

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:

Class Performance #1

Here is the order for our Tuesday  / Thursday (2/24 and 2/26) performances of your first pieces. Please come on time (or early, where possible) prepared to perform either on my provided laptop (along with a launchpad, microphones, and MIDI keyboard–likely the red one from Studio C) or with your own computer, using any of the USB studio devices.

I will have connectivity for two computers (stereo audio connection) with the hope of moving through your pieces as smoothly as possible. If you have your own audio interface, I can easily connect 1/4″ or XLR cables as well.

Tuesday:

Ian Hoffman
Cameron Niazi
Erna Woyee
Laura Furman
Vaibhav Aggarwal
Cassidy Molina
Charles Peng
Hanbyul Seo
Mihir Chauhan
Kristin Murray
Riley Owens

Thursday

Chun-Han Chuang
Jasmine Edison
Aarohee Fulay
Shane Moore
Julia Klein
Mimi Lee
Matthew Mardesich
Mengya You
Yuan Zhou Bo
Matthew Williams
Kevin Garcia
Brendan Sanok

Score11 and Csound examples and…templates!

This post is for students of Music 6421:

In addition to the examples found via “lsex sc” in the terminal, there are also a collection of blank templates (marimba, tsamp, gran, etc) that can be used to create your own scores. These are identical to the examples (same p fields and comments on ranges, scaling, etc) without any values in place.

To access the list of templates for Score11 (this is analogous to accessing examples):

lstp sc

gettp EXAMPLE > MYFILE

Some tips for using templates

– Semi-colons are required at the end of each p-field statement
– Anything after a “<” is a comment. I encourage you to make comments in your personal files
– for adding sound files to the tsamp and gran instruments, use mksffuncs (help file here)

No class, Tuesday Feb 10th

This is a reminder to all students that I am away from Ithaca on Feb 10th so there will be no class meetings. Classes will meet as scheduled later in the week (Thursday for those in Music 2421; by scheduled appointment for those in 6421).

— Professor Ernste

Abelton Drum Rack basics

Following onto our work in class, here are some tips for using the Drum Rack, very similar to the behavior in some other Ableton instruments that store and use audio samples (see simpler, instrument racks, and others).

Creating Drum Racks in Abelton Live 9

 

Skip to toolbar