Music Software Projects
New York University
Adjunct Instructor Scott Burton
Now that we have implemented to
collection types...
1. Harmonic Series
2. Pythagorean Scale (first seven intervals)
Our scale engineering should evolve via inheriting,
containing and re-using functions
There is common behavior shared by the two
collections built so far. As you implement new
methodologies you will have the opportunity to improve
what you have built prior...
Using the Pythagorean Scale
How can we achieve variety or interest using a scale?
“Modes” are constructed using the same set of notes but starting
place is a different scale degree
Even though we constrain ourselves to the same interval set,
starting on a different scale degree produces a unique sound
Using software we can play them in close succession to easily
hear how they different they sound
Using different modes is a tool every improviser has in their
toolbox!
Before “modulation”/changing key, musicians used modes to
create variety
The Pythagorean Collection
Initialized with 528Hz
We will establish a note naming convention of C = 528hz
Name each of the first 7 “natural” degrees (add this attribute to
your collectable):
“C” “D” “E” “F” “G” “A” “B” “C” (refer to spreadsheet)
Play the sequence of notes successively:
D EF GABC D
EF GABC D E
F GABC DE F
…
BC D EF GAB
C D E F G A B C (1 octave up)
These are the “modes” of the scale
Modes Visualized
Ionian
Notice where
the white keys
are adjacent
to each
other...
Dorian
Phrygian
etc
Modes - Phase 3 Requirements
We can now derive intervals in two ways:
1. New living spec “pythag_sheet_phase3.xlsx”. With this
method we simply raise each scale degree (in a starting
scale) successively by an octave.
2. Prior living spec “pythag_sheet_phase2.xlsx”. Builds a new
scale on each scale degree using successive multiplication
by 3/2.
The two methods produces different frequencies for the
same notes. As usual this programming phase will use the
living spec for this week.
Mode names are shown in pythag_sheet_phase3.xlsx
(e.g., “Aeolian”, “Locrian” ...)
Modes - Phase 3 Reqs ...
Sort by frequency ascending after adjusting down to first octave
Play each mode starting with Ionian with 2 seconds in between each mode
You can use your pure sine wave tone or another more interesting one
Initialize with the base frequency of 540Hz.
Play each note 1 second
No silence between notes
Play 8 tones to end on an octave
Run the regression test by default. Test against expected results (cells in
spreadsheet). Note the sheet was built with a different base frequency – you will use
a different one (next slide)
IN ADDITION TO ABOVE:
Display the mode name and frequencies while you play the modes starting with
“Ionian”
Happy coding!