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.
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.
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.
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.
I got this error the first time but worked fine on subsequent refreshes:
An AudioContext in a cross origin iframe must be created or resumed from a user gesture to enable audio output.
G.snd.init @ (index):98
init @ (index):464
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
"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? ;)
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.
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.
> 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.
[+] [-] vinylkey|8 years ago|reply
> 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
[+] [-] lwhalen|8 years ago|reply
This guy has also obviously never met the strange and rare creature known as a 'bass player'.
[+] [-] xkcd-sucks|8 years ago|reply
Whoa... Plus, they're identical only in equal temprament
[+] [-] jimmaswell|8 years ago|reply
What kind of weird statement even is that? What about the first few notes of Fur Elise?
[+] [-] LeonB|8 years ago|reply
Down with E exceptionalism.
[+] [-] ML_MS|8 years ago|reply
> A machine learning program is also called a "neural net".
A neural net is just one example of a machine learning model.
[+] [-] dizzystar|8 years ago|reply
It would probably blow the authors mind to know that some scales have sharps and flats, including the ones
[+] [-] xxpor|8 years ago|reply
The dude's mind is going to be blown when he learns about double sharps and flats.
[+] [-] fenomas|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] brooklyn_ashey|8 years ago|reply
[+] [-] asher|8 years ago|reply
http://wildsparx.com/rhythatom/
Coincidentally I just finished it. Source is here:
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...
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.
[+] [-] peterburkimsher|8 years ago|reply
I like that I can choose the number of beats, unlike Jake Albaugh's arpeggiator (although that has some other interesting features).
https://codepen.io/jakealbaugh/full/qNrZyw
[+] [-] fenomas|8 years ago|reply
> 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.
[+] [-] vojvod|8 years ago|reply
[+] [-] BucketSort|8 years ago|reply
[+] [-] wrs|8 years ago|reply
[+] [-] mb_72|8 years ago|reply
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.
[+] [-] ajuc|8 years ago|reply
Also - the notation in question is confusing and overcomplicated, and ignoring corner cases makes a lot of sense if you don't care about outliers.
It's not like that notation handles all kinds of music well anyway.
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] lodi|8 years ago|reply
> A chord is 3 notes played at the same time.
It's not like you have to dig too deep to discover four-note 7th chords, diminished/augmented, inversions, etc...
[+] [-] fenomas|8 years ago|reply
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|8 years ago|reply
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.
[+] [-] asher|8 years ago|reply
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|8 years ago|reply
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.
[+] [-] Floegipoky|8 years ago|reply
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|8 years ago|reply
https://en.wikipedia.org/wiki/Scale_(music)
[+] [-] peterburkimsher|8 years ago|reply
[+] [-] hellofunk|8 years ago|reply
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|8 years ago|reply
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|8 years ago|reply
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?
[+] [-] brooklyn_ashey|8 years ago|reply
[+] [-] aczerepinski|8 years ago|reply
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|8 years ago|reply
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|8 years ago|reply
Yeah, every 4-chord repeating song.
[+] [-] yellowapple|8 years ago|reply
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|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] aagd|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] bitL|8 years ago|reply
[+] [-] zodiac|8 years ago|reply
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.
[+] [-] unknown|8 years ago|reply
[deleted]