
Musical Chord Progression Arpeggiator - sergiotapia
http://codepen.io/jakealbaugh/full/qNrZyw/
======
djaychela
Like it - I will be using this with some of the classes I teach.

I have a couple of requests (I know it says fork it at the top, but I've taken
a look and would be way, way out of my depth!):

1 - modes of the other scales given (melodic and harmonic minor)

2 - a less daunting way of selecting arpeggios - possibly by selecting what
would be the first note then removing that from the available options? I love
the diagrams, but the massive table is somewhat daunting.

3 - the ability to export a MIDI file of a single run of the chord
progression.

Nice work though, lots of interest and fun to be had in exploring the
possibilities locked up inside the scales/chords.

~~~
timrichard
Hi,

I've begun using Cthulhu as a plugin, which works nicely as a MIDI input
device :

[https://www.xferrecords.com/products/cthulhu](https://www.xferrecords.com/products/cthulhu)

There's an option to 'lock' certain notes when you try out harmonic
progression options.

------
radiowave
The Chord Progression section feels a bit odd to me, like it's upside-down,
with chord I at the top and chord VII at the bottom. For example, a transition
from chord IV to chord V is represented on screen as moving _down_ (towards
the bottom of the screen), whereas I think most people would tend to think of
it as moving _up_ (i.e. towards the right on a piano keyboard).

~~~
purple-dragon
That's funny, down feels more natural to me coming from a (amateur)
guitarist's perspective.

~~~
baddox
I play guitar but I know how to read sheet music, so I still feel like "up" is
higher in pitch. Granted, I also learned piano first as a kid.

------
bcheung
Nice work!

One suggestion to add. Be able to choose chord progressions from HookPad's
database of songs / chord progression probabilities would be really cool with
this.

[https://www.hooktheory.com/api/trends/docs](https://www.hooktheory.com/api/trends/docs)

~~~
jesuslop
Didn't knew that HookPad thing, thanks!

------
abetusk
Could someone explain what the basics are of this? I'm not familiar with a lot
of music theory. The arpeggio is something like:

    
    
        for base_note in range(B,B+5*2,2):
          for arpeggio_note in range(base_note,2*base_note,2):
            yield arpeggio_note
    

and the "chords" are single notes in some progression? Something like (R, R+1,
R+3, R+5, R+6, R+8, R+10), where R is the root note?

What do the different modes do?

~~~
sujayakar
The modes are the sequence of seven notes you're choosing from. If we're
counting in half-steps (where 12 half-steps is an octave and gets you back to
the same note), the different modes would look like...

    
    
                        1    2    3    4    5    6    7
      Lydian:          (R,   R+2, R+4, R+6, R+7, R+9, R+11)
      Ionian (Major):  (R,   R+2, R+4, R+5, R+7, R+9, R+11)
      Mixolydian:      (R,   R+2, R+4, R+5, R+7, R+9, R+10)
      Dorian:          (R,   R+2, R+3, R+5, R+7, R+9, R+10)
      Aeolian (Minor): (R,   R+2, R+3, R+5, R+7, R+8, R+10)
      Phrygian:        (R,   R+1, R+3, R+5, R+7, R+8, R+10)
      Locrian:         (R,   R+1, R+3, R+5, R+6, R+8, R+10)
      
      Melodic:         (R,   R+2, R+3, R+5, R+7, R+9, R+11)
      Harmonic:        (R,   R+2, R+3, R+5, R+7, R+8, R+11)    
    

Then, once you have your mode, you form chords by picking a starting note
(from one to seven) and then stacking every other note from there. We're only
building triads, so stop after stacking three notes. So, if we're in Ionian,
the chords would be...

    
    
      I:   (R, R+4, R+7)
      ii:  (R+2, R+5, R+9)
      iii: (R+4, R+7, R+11)
      IV:  (R+5, R+9, R)
      V:   (R+7, R+11, R+2)
      vi:  (R+9, R, R+4)
      vii: (R+11, R+2, R+5)
    

Instead of playing the three notes simultaneously, the arpeggiator here is
playing them one at a time in different orders and octaves.

Hope that helped!

~~~
_asummers
This is really succinct, I like your explanation.

------
rntz
I like it! but I really wish this would allow you to borrow chords from other
keys or modes. Even a song as simple as "The House of the Rising Sun" (which
The Animals famously arpeggiated) borrows chords - it's in A minor but uses a
D major chord, which you can think of as borrowed from the parallel major.

~~~
armandososa
Is that case not covered by switching the scale modes?

~~~
rntz
No, not unless you can fortuitously find a mode that has exactly the chords
you need. But for some progressions there is no such mode. I believe "House of
the Rising Sun" has such a progression, but I haven't exhaustively checked.

------
sago
Playing around with this, toggling the BPM and looped arp, I can almost get it
feeling like

[https://www.youtube.com/watch?v=r4WlNj1TTqA&t=59m44s](https://www.youtube.com/watch?v=r4WlNj1TTqA&t=59m44s)

A very cool page, thanks. I agree that the chords should be the other way up,
for my mental model of pitches. But I guess it's like how we visualise time:
everyone is slightly different.

~~~
nnd
Same here, this makes sense because of a similar organ timbre and a very
repetitive nature of minimalistic genre.

------
laretluval
This is a lot of fun!

Is there a way to share an arpeggio with someone else?

------
rebuilder
Nice! Would it be possible to add sheet music export to this? Or maybe output
midi file? I've had "generative tool for sight reading practice sheets" on my
todo list for a while now, and it seems all that's missing here is the output!

------
golergka
Nice.

Would use it in my work right now if it could export a MIDI file.

~~~
grimmdude
You could integrate
[https://github.com/grimmdude/MidiWriterJS](https://github.com/grimmdude/MidiWriterJS)
for MIDI export

------
stuart78
I love it, and wish I could keep myself from making a lame Philip Glass
emulator joke. Does this count?

------
acjohnson55
This is a cool tool!

It would be cool to be able to do other things besides purely diatonic triad
progressions:

\- 7th chords

\- Tonicization/borrowing

\- Inversions

\- Slash chords

\- Alterations

------
jvandonsel
One suggestion. I don't see a way to reset the current chord to the first
chord of the sequence when paused. It looks like you need to wait until the
sequence wraps around again.

------
ScottWhigham
This is so great - my 12yo son, a gaming fan, loved it. It inspired him to
say, "That's so cool! Can we play Obduction now?" Kids today...

------
pawy
Any way to export into midi pattern usable by today's DAW ? (Ableton etc...) ;
bonus for live record ?

Anyway really inspiring :)

------
mrcactu5
the locrian mode is a bit haunting. these are exactly the textures one might
here in a Chopin or Schumann or beyond.

~~~
acjohnson55
Locrian is super rare, because the tonic itself is unstable. But an
arpeggiator like this actually does a decent job of making it sound ok!

~~~
kaoD
I can't help but hear the iii as i, making the progression seem more like "viº
|| i v ii III | i IV VII" to my ears, i.e. Dorian.

Which is a very nice progression by the way :)

EDIT: Now that I think of it, it might actually be "ivº || vi iii vii I | vi
II V" Lydian, which sounds very natural due to "vi-iii-vii-I" being
essentially "I-I-vii-I" (vi and iii can be heard as inversions of I) and "vi-
II-V-ivº" being actually "I-II-V" (classic jazz progression, II being the V of
V) which then goes back to vi (i.e. to I) via "V-ivº || vi(I)" (5-4-1 being
the classic blues progression). This movement by V is a much more common way
of progressing through a song. I played it in my guitar extending to diatonic
7th chords and it sounds much better than the Dorian interpretation where the
ii-III movement sounds awful for some reason.

This ivº-I movement sounds a bit like a plagal cadence[0] which keeps the
movement going, which I think works very well with Lydian's uplifting sound to
give that never-ending tension-building feel. Resolving to vi instead of I is
similar to how a deceptive cadence[1] works which adds to the "suspended"
feel.

Somehow my ears still latch onto Locrian's iii as the tonic (i.e. Dorian's i).
"viº || i v ii III | i IV VII" could be seen as "viº || i v IV i | i IV VII".
"i v IV i" makes a lot of sense (again, blues), but I can't quite understand
"i IV VII viº". Maybe I'm right in both cases and the first bar is Dorian and
the second modulates to the relative Lydian? Or viceversa?

It's very ambiguous. Modes are kind of confusing (at least for me) but their
ambiguity is part of what makes them awesome. One of my teachers insisted
there's no canonical way of analyzing sufficiently-complex progressions. In
any case I am unable to hear it as Locrian.

(Sorry if I said something stupid. I've never been formally trained in music
theory. Can an actual musician step in? :P The more music theory I learn, the
more ambiguities I see in music analysis...)

[0]
[https://en.wikipedia.org/wiki/Cadence_(music)#Plagal_cadence](https://en.wikipedia.org/wiki/Cadence_\(music\)#Plagal_cadence)

[1]
[https://en.wikipedia.org/wiki/Cadence_(music)#Interrupted_.2...](https://en.wikipedia.org/wiki/Cadence_\(music\)#Interrupted_.28deceptive.29_cadence)

~~~
acjohnson55
You really went to town on that!

After studying a basic amount of music theory, I have come to the conclusion
that there is no such thing as canonical analysis. Analysis, in most theories,
is a way of rationalizing what's become common practice in a given style.

One thing I learned when trying to research the origins of our music system is
that our chord progressions appear to be underpinned by rules for multi-voice
counterpoint. But in pop music, voicing isn't particularly important, it's
just background for the bass and melody lines. So pure chord progressions tend
to harken back to harmonic motion that's familiar from the more formal genres.
A book I often recommend called A Geometry of Music [1] goes way down the
rabbit hole, if you want to obsess over this to the extent that I did.

So, modal chord progressions (especially Locrian) really only tend make sense
to the extent that they analogize major and minor chord progressions, from a
functional tonality perspective. I don't think this is precise, but the way I
think of it is that you sell the listener on alterations of major or minor
scales, and they buy it after a few repetitions, and other signals of what the
cadences are :)

[1] [https://www.amazon.com/Geometry-Music-Counterpoint-
Extended-...](https://www.amazon.com/Geometry-Music-Counterpoint-Extended-
Practice/dp/0195336674)

------
BenoitEssiambre
Pick 5 step looped arpeggio at 120 BMM and then select random arpeggio styles.
Voila you're Vivaldi!

------
spurgu
Clever, I like it! I'm playing around with it to find some cool patterns to
play on the guitar.

------
rotten
I'd like to see the sheet music for these instead of a bunch of piano keys.

~~~
oever
Seconded!

This is a great way to make daily $instrument exercises. Mine's a bass clef.

------
sergiotapia
Any of the progressions types sounds pleasing, is it just the nature of
arpeggios?

~~~
StevePerkins
[https://youtu.be/NdbP6cSFJXs?t=40](https://youtu.be/NdbP6cSFJXs?t=40)

------
amelius
It would be nice if you could set it to play in "chord" mode as well.

------
tomcam
Fantastic and fun! Licensing?

~~~
tomcam
The Google machine says MIT for all public pens:
[https://blog.codepen.io/legal/licensing/](https://blog.codepen.io/legal/licensing/)

------
piracyde25
Playing this + some techno beats on Spotify = feels good man

------
sebleon
Pretty awesome, well done!!

------
jeffehobbs
Very cool!

