In this lightning talk I am going to talk about Harmony.
The study of harmony involves chords [skip to next slide, describe, and back], their construction, and how they change. Vertical vs horizontal (melodic line), though not clear-cut. Tension vs resolution (dissonant vs consonant). Prepare + resolve.
[A chord]
Here is a very famous example.
8 chords, repeated. Listen for tension – notes that 'clash', moving notes. This is polyphony – same tune, three times.
This is not going to be a “four chords” routine, promise. However, this piece does have the same chords:
This is homophony – a melody with harmony underneath.
JS Bach. Wrote many 4-part chorales, SATB, Luther hymn with harmonized other parts.
Here is a short example:
Listen for tension again, end of each phrase (sentence), the cadence. Especially the very end.
Back in 1998, was doing A-level music. Part of this involved harmony, being given a tune and providing the harmonization in the style of Bach.
Here is an example of such an exercise:
Chorale exercise [audio: play it]
But how do we imitate Bach?
(I didn’t actually know this was Bach, or where he’d used it, until researching this talk.)
So, the “Rules” – what is nice to hear, and good for those singing.
All can be broken, but probably not much in an A-level exam. Things like:
Following these rules (and others), you can fill in the example given, until it looks something like this, which is what I came up with:
Chorale exercise, filled in [audio: play it]
However, I kept missing consecutive fifths...
So the weekend before my January 1998 Maths exam, I wrote a computer program to check harmony.
You still had to write it, no help there, but it would then tell you about any mistakes.
[video: Pull up Acorn emulator, and run !Harmony on the same example]
Over 20 years later, a friend said wouldn’t bach.js be a great name for a JavaScript library, so I dug up my old code and rewrote it all in JavaScript…
See it in action at https://dracos.github.io/bach.js/
To finish, a different Bach harmonization of the same hymn:
The End
Shortcuts: