
Show HN: Chord Progressions - peterburkimsher
https://peterburk.github.io/chordProgressions/index.html
======
vinylkey
Mostly good info in there, but I see a few problems:

> There is also no E#. It just doesn't exist. Get used to it. Those are the 12
> notes.

Technically not true. There is an E#, it's called F. If you are playing in F#
major[1], the scale has an E# in it.

> Musicians never play notes one at a time. They always use chords.

Most lead guitar parts are not chords. Typically playing in a band context
will create a chord from multiple instruments, but that isn't always the case.

[1]
[https://en.wikipedia.org/wiki/F-sharp_major](https://en.wikipedia.org/wiki/F-sharp_major)

~~~
lwhalen
> Musicians never play notes one at a time. They always use chords.

This guy has also obviously never met the strange and rare creature known as a
'bass player'.

~~~
barkingcat
Also violin/string players (when not playing double stops)

Singers who are not overtone singers (pretty much everyone).

What kind of weird musician is this person limited to?

~~~
jerf
If you want to get a bit more wild, though, a lot of solo music still contains
chords by implication, and can be very easily harmonically analyzed. I don't
know how popular solo works are in the 20th century since atonality flung the
music locomotive gleefully through the "Bridge Out Ahead" sign and into the
canyon [1], but if we discount that it would certainly include almost all
Western solo music.

[1]: Yes, it's an opinion. Yes, it's an informed opinion, and implying in one
way or another that I just must Not Get It will not faze me. I do Get It, and
that's _why_ I find it distasteful.

~~~
acjohnson55
I used to think that, but when I had to study atonal music, it became clear to
me how much of an impact it had on film music and how it shows up in fragments
in pop music.

Then, I took a class on electronic music composition. For my own project in
the spirit of the avant garde, I wanted to challenge myself to write something
"musical" without resorting to the traditional concepts of pitch-based melody
and harmony or quantized rhythm. It turns out, there are many other levers you
can play with to create the effect of an musical arc. Not to pat myself on the
back, but I think the end result is evocative in a similar sense as tonal
music. If I had the time, I would do more.

Check it out here, if you like:
[https://soundcloud.com/acjohnson/wanderers](https://soundcloud.com/acjohnson/wanderers)

~~~
jerf
If we want to play "wave the credentials" at each other, I _minored_ in music
composition, and my objection is a great deal philosophically deeper than "I
don't generally like how atonal music sounds". There's a parallel world where
atonal music is still explored but I wouldn't characterize it as "flinging
music off a cliff". Atonality was merely when the cliff-jumping occurred.

I have neither the time nor the desire to fully explain my point in an HN
post, but I would note that the music community itself has been asking
questions in this direction in the last decade or so, if you want to follow up
on it, as the academic music community asks themselves exactly how they got to
where they are now, so disconnected from the rest of the world at large and so
utterly irrelevant to almost anything musically occurring today. (Not just pop
music; that is structurally inevitably insipid, really, so who cares, but
irrelevant to _anything_ other than their own very little world.)

------
asher
If you want to try these chord progressions in your browser, check out:

[http://wildsparx.com/rhythatom/](http://wildsparx.com/rhythatom/)

Coincidentally I just finished it. Source is here:

[https://github.com/wildsparx/rhythatom](https://github.com/wildsparx/rhythatom)

In theory it should run in any Chrome/Chromium browser, but I've received
several reports of rhythatom failing to play. Would appreciate any help or
ideas.

If you look at:
[https://peterburk.github.io/chordProgressions/ChordProgressi...](https://peterburk.github.io/chordProgressions/ChordProgressionsAll.txt)

There doesn't seem to be any indication of major/minor. One way to interpret
that is "always use the diatonic." Which means only use notes in the key,
which means chords (1,4,5) are major while (2,3,6) are minor. However songs
can have non-diatonic chords.

If you look at Rhyathatom, it defaults to the well-worn 1645 progression - the
6 is explicitly minor, which makes it diatonic. Try making the 6 major and you
get a different animal - kind of sinister! That's a non-diatonic chord.

Maybe the author accounted for this elsewhere.

~~~
fenomas
Nice work! Am I crazy or are the pulldowns for accidentals not doing anything?

> There doesn't seem to be any indication of major/minor.

There's a line in there about capital/lowercase of roman numerals not being
important, by which I hope the author meant out of scope of the article. So I
think they were explicitly just enumerating the chords of the diatonic scale.

~~~
asher
Good catch. Will fix the accidentals.

------
wrs
A for effort, but as a programmer and musician, simultaneously makes me a
little sad as an example of the all-too-frequent phenomenon of programmers
trying to model a domain without spending enough time actually learning the
nuances of the domain first.

~~~
mb_72
Nuances? Try basics. Worse, the author makes a number of general statements
about music that I would have known to be wrong as a 6-year old with 1 year of
experience in playing piano.

Who am I kidding? This is the age of crapping some mangled mis-information out
onto a blog or web page in the hope of raising one's profile and securing a
job with the next hot startup creating $10k robots delivering $5 pizzas or
whatever.

~~~
jwfxpr
The author clearly and good-humoredly declares that he comes with no knowledge
of music or music theory at all, and is clearly documenting his process of
coming to grips with enough of those basics you may have known as a 6 year old
with 1 year of experience, and is attempting to do so in order to _do
something interesting_. So perhaps 'wrongness' is far less important to this
than 'interestingness' and, though I am a multi-instrumentalist myself and
know music well, I'd like to thank him for attempting to learn what he needed
to to attempt this interesting thing. I really enjoyed the read and intend to
have a little play with the data.

~~~
mb_72
Ok, perhaps you are fine with letting little gems like "Musicians never play
notes one at a time. They always use chords." slide, but I'm not. If I can't
trust the author about the basics and things that I know about, how can I
trust their reasoning or thoughts on more complicated matters and items that
are outside my own domain? I cannot, and hence don't read further because
there is an opportunity cost in doing so, and there are many other interesting
things I could be reading or otherwise doing with my time.

~~~
jwfxpr
Honestly I just feel like you may have wielded judgement too hastily at the
expense of your sense of wonder and shared joy in someone exploring territory
that is well trodden only to relatively few. Very few people have a solid
grasp of musical theory. For most people, scaling what may to you be barely
the foothills of knowledge is a great and challenging experience, and I think
it should be celebrated.

And sure, perhaps you and I can easily distinguish the subtle difference
between 'Musicians always use chords' (obviously wrong) and 'Musicians always
work, individually or together, within a key, which is an abstracted but well-
defined set of tones that can be combined in time series or simultaneously to
produce an inexplicably pleasant experience in the listener, by some
neurological magic that has never been adequately explained' (non-obviously
correct) but y'know what, I actually _am_ willing to let little gems like that
slide because they're adequate approximations of the truth that allow good
folks to proceed on a journey that may one day lead them to, just maybe, have
the arrogance required to belittle the uninitiated.

~~~
coliveira
> Very few people have a solid grasp of musical theory.

This is just like saying that very few people in the world have a solid grasp
of computer programming... Do you know that there are hundreds of university
departments in the world where the only thing people do is, wait for it...
having a solid grasp of musical theory!?

~~~
jwfxpr
How is that not 'very few people' in a sample that includes the population of
the Earth?

~~~
coliveira
Not everyone if the world is trying to create a computer model of music. The
minimum a person with this interest can do is to contact a specialist in music
theory (of whom there are thousands as I mentioned).

------
fenomas
This is nice as a diary of some hacking, but much of the musical commentary is
misleading. Basically the author has enumerated all the unique ways of
selecting the numbers 1..7 four times with replacement, and then done various
mechanical translations on the results. Ostensibly this is done to enumerate
all possible four-bar chord progressions, though in practice the results are
highly redundant (i.e. many results are musically identical) and incomplete
(many possible chords aren't included - e.g. secondary chords).

Then rather than distributing the scripts the author presumably used to do the
enumerating and translating, they are distributing the outputs of the scripts,
as a huge tarball full of midi files. Not sure what the motivation here was.

~~~
peterburkimsher
The script is in there! Chord Progressions.scpt.

If you can read AppleScript, go ahead and use it.

The way I see it, most people prefer to take existing data (e.g. Kaggle
datasets) and build machine learning tools on that, instead of having to
compile everything from source and make their own data.

~~~
peterburkimsher
If you want me to port the code to a more popular programming language, please
tell me which one.

Rust? JavaScript?

C#? ;-)

------
asher
In the Parsons Code section, if I'm reading correctly, the chords are
conceived along an up-down axis. However chords do not really have that
relation. Going from 1maj to 5maj can be up a fifth or down a fourth.

To illustrate this, first listen to the default 1645 progression on rhythatom.
Then change the octave of row 2 (4maj chord) from +0 to +1. Can you hear its
similar role in the progression, even though it's now stressed by being up an
octave?

~~~
peterburkimsher
I talked about this with my friend Lenard, because I was confused why the
Parsons code would be different for the same chord progression.

He then explained that I should move the key, and when I transposed the MIDI
table, the Parsons codes all became the same.

I then asked him, is it possible to move up an octave for just one part of a
chord progression? He said yes, it's possible, but people don't do that often.
Normally people wait until the end of a chord progression to change octave.

~~~
fenomas
Talking about going up or down an octave here is just nomenclature. Musically
speaking, changes in a chord progression don't go up or down - this is because
roman numerals refer to _pitch classes_ (like C, E, G), not to specific
pitches (like C4, E5, G3).

The matter of which notes to play for a given chord is called "voicing", and
it's orthogonal to anything mentioned in your article.

------
Floegipoky
Another correction: > The notes in "Cm" are C,D#,G.

It's actually C Eb G. The difference is that D# is an augmented 2 while Eb is
a minor 3. They sound the same but they have totally different functions.

------
dogprez
Remember there are different scales, too. Those 12 notes aren't the only
notes.

[https://en.wikipedia.org/wiki/Scale_(music)](https://en.wikipedia.org/wiki/Scale_\(music\))

~~~
peterburkimsher
Everything can be brought back to MIDI though, right?

~~~
SAI_Peregrinus
Yes, but only with pitch bends. For example the Great Highland Bagpipe is
tuned to a just intonation scale, which commonly approximates A Mixolydian
(neither a major nor minor scale). (It's actually 3 pentatonic scales
overlaid, but let's not get into that...)

Some info:
[http://publish.uwo.ca/~emacphe3/pipes/acoustics/pipescale.ht...](http://publish.uwo.ca/~emacphe3/pipes/acoustics/pipescale.html)

Getting that to sound right in MIDI requires the use of pitch bends, since
MIDI only understands 12 tone equal temperament.

------
hellofunk
I would invite the OP to read a basic book on music theory, any good
undergrad-level text should do, before stating some of the "facts" he is
making, which are just untrue.

For one thing, the author is confusing physical pitches with musical notes. C
double-sharp exists and is enharmonic to D, for example, because the
frequencies are the same. But these are very different notes in a musical
context.

There are many examples of this in the article that would be cleared up by a
basic understanding of music theory that all music students complete, many of
whom do this in piano lessons growing up long before graduating from
highschool.

I admire the effort, but I often see people analyze music from a perspective
that is not actually that of a musician, and there are always huge gaps in the
understanding that needn't be there if they sought a basic knowledge of the
matter.

Example:

> For some reason I don't totally understand, some have 2 names (e.g. C#=Db,
> D#=Eb, F#=Gb, A#=Bb).

Fair enough, you don't understand this, so that should be a clue that more
knowledge is necessary before making this claim:

> There is also no E#. It just doesn't exist. Get used to it. Those are the 12
> notes.

Incidentally, it goes much further than this, and for good reasons. F is the
same pitch as E# and G-double-flat, but all three are distinct musical notes
which serve different purposes.

There's also C-flat, B, A-double-sharp.

And B#, C, D-double-flat, etc.

------
slyrus
Putting aside the rest of the nits here, there are two things that stick out
in my mind. First of all, what he calls 4-chord songs are really more "4-bar
songs" (which given his restriction of one chord per bar end up being at most
4-chord songs), but we should be clear about the distinction between the tones
being played and the duration of those tones.

Second, I don't know if this is an artifact of my fluidsynth setup or not, but
when I translate his midi files into WAV files the 6 and 7 chords are from the
octave below, which sounds odd to my ears. If we're listening to, say, 1.5.6.4
we shouldn't drop down an octave at the 6.

~~~
peterburkimsher
You're actually using the data! That's really encouraging.

It's probably a bug in my script. How do I know which octave to choose?

If you can explain it to me using the Parsons Code method, I think it's easier
for me to understand. 1.5.6.4 is udud, right?

~~~
slyrus
I have no idea how you generate the MIDI file, but let's use the piano
keyboard to describe what I'm hearing. When I play the WAV files from your
progressions and we get to, say, an Amin chord, the Amin sounds like it is
lower in pitch than the the Cmaj chord. This is OK, but it means that the 6
chord sounds an octave lower than I'm expecting it to.

My ears aren't trained enough to know if what I'm hearing is an inversion
where you're playing the A note in Amin from the same octave as Cmaj but
you're also playing the C and E notes from the same octave, or the A note
itself is lower in pitch than the C. I would have expected to hear an Amin
chord where the A note was a whole step above the G in Cmaj, and the C and E
both higher than the A note.

------
brooklyn_ashey
Wow, great job on this for being someone who dosn't play an instrument.
Seriously. Sure, there are some kinda not exactly right things, but sheesh,
maybe you should make your own instrument! This is a great way to teach people
about machine learning in a friendly way. Keep adding to it. Obviuosly you
know there is random music- you were just speaking of songs. And You seem to
know about blues, so you probably also know about rhythm changes and stuff? If
not- check that out- see also Donna Lee.

------
aczerepinski
“There are 30 keys”

You could make the case that there are 12 keys, or some multiple of 12 keys,
or near-infinite keys. But 30? Pretty random!

~~~
peterburkimsher
Are some of those keys duplicates of each other? Or missing?

I could be wrong - I just guessed that from another data source (some PDF song
sheets that have the key listed on the top right).

------
leafario
> That means every song in the world sounds like one of those 81 codes!

Yeah, every 4-chord repeating song.

------
yellowapple
"Musicians never play notes one at a time. They always use chords."

Today I learned playing literally any brass instrument means I'm not actually
a musician. Who knew that my knowledge of the trombone ain't actually
musicianship? ;)

Otherwise a great article.

------
multi_tude
Harmony in modern music has become homogenous and it's getting worse. I would
think the best use case for this is to feed it modern chord progressions in
order to inspire musicians (or machines) to avoid using these same harmonic
tropes.

------
aagd
Anyone remembers Pachelbel Rant? First time I got aware of this topic.
[https://www.youtube.com/watch?v=JdxkVQy7QLM](https://www.youtube.com/watch?v=JdxkVQy7QLM)

------
bitL
When you realize how the current "mapping" of piano keys makes everything
confusing and how it historically developed, it looks like musician version of
"JavaScript", i.e. a really crappy standard, where you can do anything but in
a really unpleasant way. Map your scales directly onto launchpad/push/circuit,
and you never get a wrong note. Moreover, the equal temperament makes all
sounds slightly disharmonic, so even a professionally tuned concert grand
piano sounds rather bad and unauthentic, different to what original classical
composers intended (they used harmonic tuning where transposing by one key
changed harmonics completely unlike with prevailing standard today). If you do
acid trance, it's OK though.

~~~
zodiac
> Map your scales directly onto launchpad/push/circuit, and you never get a
> wrong note

If you mean "map your notes so that you can only play the 7 diatonic notes of
your major scale", well, then sure it's impossible to play "wrong notes", but
it's also impossible to modulate to different keys, to play secondary
dominants, any modal mixture, to add chromaticism, etc.

Similarly, as I understand it one of the advantages of equal temperament is
that it allows you to modulate to any key within the same song. Of course if
you never modulate you should just use just intonation in your key.

~~~
bitL
With equal temperament you actually don't modulate precisely, so there is
always weird disharmonic sound every single time. As I said, for some
electronic music subgenres it's a welcome feature; it would shock classical
composers if they ever heard such a version though. Have you ever thought why
do you need to state scale at the beginning of a classical piece if you can
just easily transpose song to whatever scale you like? Well, those scales
sounded differently and each composer was exploring what sounds best in a
given scale.

Watch this:

[https://www.youtube.com/watch?v=6NlI4No3s0M](https://www.youtube.com/watch?v=6NlI4No3s0M)

Ever played on a top end concert grand and thinking it sounds weird? Then
tried a different tuning and being shocked how much better it sounded?

~~~
zodiac
> it would shock classical composers if they ever heard such a version though

I am not sure what you are saying. What tuning system are you claiming
composers like Bach, Mozart, Chopin and Shostakovich wrote keyboard music for,
that playing their works in modern 12-tone equal temperament would "shock"
them?

~~~
bitL
From the discussion on the video link:

"There is a misconception that Bach supported equal temperament because of his
famous 1722 collection, Das Wohltemperierte Klavier (The Well Tempered
Clavier). Bach's clavichord was not equally tempered, but well tempered, like
the title of the work says. The 48 pieces, two in each major and minor key,
were written to show the character of each key in this temperament, the effect
being completely lost in equal temperament. One can experience this by tuning
a keyboard to well temperament, and then transposing Bach's Prelude and Fugue
in C-major to C#-major, and vice-versa. The results will clearly show what the
master was up to, and that the pieces were written for the nuances of each key
with its particular coloring. Bach's theoretical framework was for pure
intonation, and his music was written to be played in pure intonation, either
by altering the tuning of the keyboard for each piece, or by using a flexible
temperament that allowed pure tones in most popular keys."

"Equal temperament, a tuning which disfigures the natural intervals of the
harmonic series, was invented as a necessity to the mechanical and engineering
limitations of Middle Age instrument builders. But now we are in the 22nd
Century and we can accurately measure the 1000th part of a millimeter. So why
don't we use this technology to create in-tune musical instruments?"

I strongly recommend to read that discussion, it has both pros and cons of
equal temperament and people are discussing the issue from both sides.

~~~
madhadron
That's incorrect.

Equal temperament is very recent. Medieval through Baroque used a system of
temperaments called meantone that began with C major being in tune, and then
distorted tones slightly in order to make the proximal keys usable. Choosing a
key in meantone implies a real difference in what the relative distance among
notes was. When you go out beyond three sharps, it becomes very distorted.
Five sharps is essentially unusable in meantone systems.

Bach's well tempering was a replacement for meantone where all the keys were
usable. We don't know exactly what it was, though there have been some
interesting attempts at reconstructing it. I remember being in the orchestra
for the Bach four harpsichord concerto as a demonstration of one such attempt,
which was _wild_.

As for using technology to create in-tune musical instruments, the original
one, the voice, already has that. For keyboard instruments, there have been
all kinds of crazy ones built over the centuries that have many more notes to
an octave to allow much more precise intonation. But that's not the core
restriction. I mentioned elsewhere in this thread that the pitch a given note
maps to changes during a piece of music if you don't have tempered instruments
involved, and those changes are always compromises.

So I wouldn't suggest reading that discussion, as it's apparently full of
inaccurate material.

