11 ms·
Show HN: Chord Progressions
- vinylkey 9y agoMostly 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
- deleted 9y ago[deleted]
- jimmaswell 9y ago> Musicians never play notes one at a time. They always use chords. What kind of weird statement even is that? What about the first few notes of Fur Elise?
- colordrops 9y agoOr wind instruments for that matter.
- mtpn 9y agoThere are several statements you could pick out like that in this article. Like > There is a chord called "C major", but it's totally different to the note called "C". ... the E and G of the C major chord are prominent overtones of the note.
- jcelerier 9y ago> ... the E and G of the C major chord are prominent overtones of the note. depends on the instrument. A pure sine wave at the frequency of C does not have any overtone.
- mtpn 9y agoThat’s a fair point. But still, the relationship between the root, 5th, and major third are very much connected to the fact that they are specific multiples of that root frequency, and are the loudest overtones typically audible when the note is played. The root is not totally different from chords built on it. I meant to add more to my top comment. I think the author does fairly well at their mission despite potential nit picks like that. It is really cool to see somebody learning and being excited about putting all the pieces together. The beautiful thing about music is you can go deeper and deeper as much as you want, and there are various competing ideas about what it is and how to talk about. Programming has a similar kind of depth to it.
- brooklyn_ashey 9y agoplus one to this!
- perfecot0r 9y agothere are no pure sine waves without resonance, though
- lwhalen 9y ago> 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'.
- baddox 9y agoOr nearly all wind instruments....
- SAI_Peregrinus 9y agoOr any instrument that isn't tuned to 12-tone equal temperament. In just intonation there are no enharmonic notes, for just one example. C# isn't always the same thing as Db! And that's without mentioning oddities like most varieties of bagpipes or the hurdy-gurdy, where a constant drone is present. It doesn't exactly form chords with the other notes, but it's still more than one note being played at a time!
- baddox 9y agoWell, instruments in just intonation or other tuning systems can surely still play one note at a time!
- SAI_Peregrinus 9y agoBagpipes and Hurdy Gurdy physically can't, the drone is always there.
- thomasfortes 9y agoAlso know as the guy with the long guitar. Source: I am a bass player
- barkingcat 9y agoAlso 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?
- ML_MS 9y agoYeah. Some of the stuff said in this is stated very poorly. > A machine learning program is also called a "neural net". A neural net is just one example of a machine learning model.
- xkcd-sucks 9y ago> There is also no E#. It just doesn't exist. Get used to it. Those are the 12 notes. Whoa... Plus, they're identical only in equal temprament
- fenomas 9y agoThere are plenty of not-quite-correct things in this article, but I think both lines you quoted were meant to be more or less tongue-in-cheek.
- peterburkimsher 9y agoThank you. That's exactly right. Indeed, those lines are dramatically oversimplifying, but it makes the comments section more exciting and the article shorter. Perhaps it'll scare off people who were planning to do machine learning audio analysis. But at least they'll get an idea of how complicated it can be.
- dizzystar 9y agoIt goes along with this line... "For some reason I don't totally understand, some have 2 names (e.g. C#=Db, D#=Eb, F#=Gb, A#=Bb)." It would probably blow the authors mind to know that some scales have sharps and flats, including the ones
- rainbowmverse 9y agoI get the feeling this mistake was out of ignorance...not accidental. sorry
- peterburkimsher 9y agoYes, the mistake was out of ignorance. It was not an "accidental" https://en.wikipedia.org/wiki/Accidental_(music) https://en.wikipedia.org/wiki/Accidental_(music)
- xxpor 9y agoAnd he didn't mention the obvious corollary... B# (aka C). (and Cb, Fb) The dude's mind is going to be blown when he learns about double sharps and flats.
- peterburkimsher 9y agoI got really confused by that at first, because I saw Abb in a note table. When I looked it up, I saw that it's just another name for G. https://www.basicmusictheory.com/a-double-flat-note https://www.basicmusictheory.com/a-double-flat-note The fact that the same thing has 2 names, but then the same name (e.g. C) can mean 3 different things (note, chord, key) really confuses me. I'm a beginner (can't play any instrument), so this is just about trying to cover the basics and generate a machine learning dataset. If I weren't so confused already, I might try to learn an instrument. It seems to be really time-consuming to practice though, and I'd need a teacher to listen and correct my mistakes. I wouldn't notice when I get it wrong if I try to teach myself.
- toddkazakov 9y agoJust try playing any instrument - you'll soon realize that we're quite good at figuring out what sounds good and what not.
- SAI_Peregrinus 9y agoI'd suggest starting with the tin whistle. They're very cheap, very easy (you can learn the basics in a day or two, a week at most to get your first tune down), and any Irish session will either have someone willing to teach or someone who knows where you can get a teacher. The Session[1] is an excellent resource for it. As for which whistle to buy, get one in the key of D. A Walton's little black should be about $6, one of their slightly better brass whistles around $11, and a Generation nickel D is about $12. If you really want to splurge Susato makes a very nice high D for $50 (their Kildare S series), but it's quite loud and more for if you are playing before an audience. The most expensive whistles around are probably Burke's, at $230 for a high D. So even if you end up collecting Burke whistles obsessively and getting one in every key he makes you'll still be out less money than buying some high-end guitars! The one disadvantage is that they're diatonic instruments. That means you can play in one key, and only one key, without cross-fingering the whistle. For tuning, I recommend either an electronic tuner or the program Flutini[2], assuming you get a tunable whistle (the cheap ones aren't and it probably won't matter much). [1] https://thesession.org/ https://thesession.org/ [2] http://www.novasession.org/Flutini/ http://www.novasession.org/Flutini/
- LeonB 9y agoAnd if you're going to say there's no E# you'd want to also pretend there's no B#. Otherwise it sounds like E is totally exceptional. Down with E exceptionalism.
- jwfxpr 9y agoManifest destin-E.
- brooklyn_ashey 9y agoactually, there is an E#. It's called E#! There is also a Cflat! F is the enharmonic spelling of E# and B is the enharmonic spelling of Cflat.
- deleted 9y ago[deleted]
- fenomas 9y agoThis 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 9y agoThe 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 9y agoIf you want me to port the code to a more popular programming language, please tell me which one. Rust? JavaScript? C#? ;-)
- dogprez 9y agoRemember 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 9y agoEverything can be brought back to MIDI though, right?
- SAI_Peregrinus 9y agoYes, 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.html http://publish.uwo.ca/~emacphe3/pipes/acoustics/pipescale.ht... Getting that to sound right in MIDI requires the use of pitch bends, since MIDI only understands 12 tone equal temperament.
- wrs 9y agoA 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.
- lodi 9y agoYeah, my thoughts exactly. > 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...
- peterburkimsher 9y agoIn the article: "There's also 7th chords, Augmented chords (+), and Diminished (º) chords. As far as we're concerned, there's a lookup table that lets us turn these chords into notes."
- mb_72 9y agoNuances? 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 9y agoThe 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.
- asher 9y agoIf 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/ChordProgressionsAll.txt 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.
- BucketSort 9y agoSweet! I like that it only plays if the tab is active.
- fenomas 9y agoNice 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 9y agoGood catch. Will fix the accidentals.
- peterburkimsher 9y agoRhytmatom is really cool! If I knew about it a month ago, I'd probably have used your source code instead of rewriting everything myself. 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 https://codepen.io/jakealbaugh/full/qNrZyw
- deleted 9y ago[deleted]
- asher 9y agoIn 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 9y agoI 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 9y agoTalking 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.
- bitL 9y agoWhen 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 9y ago> 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 9y agoWith 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?
- 9y ago
- aczerepinski 9y ago“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 9y agoAre 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).
- multi_tude 9y agoI think the 30 keys comes from the rollout piano from his couch surfing bud.
- Floegipoky 9y agoAnother 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.
- leafario 9y ago> That means every song in the world sounds like one of those 81 codes! Yeah, every 4-chord repeating song.
- yellowapple 9y ago"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.
- slyrus 9y agoPutting 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 9y agoYou'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 9y agoI 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.
- multi_tude 9y agoHarmony 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.
- deleted 9y ago[deleted]
- aagd 9y agoAnyone 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
- brooklyn_ashey 9y agoWow, 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.
- hellofunk 9y agoI 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.