I would like to play a bassline and melody on a MIDI controller and have the computer dynamically fill in chords as I'm playing. I assume that there are several choices for each chord that the algorithm may choose from, but perhaps it could do so by giving it some parameters, such as genre, before playing. Is this a feasible idea, and if so, what are some steps necessary to realizing the idea? Thanks!

  • I know you asked this a long time ago, but can you clarify what you mean by 'fill in the chords'? Feb 24 '19 at 8:32

Here's one possibility, MySong by Dan Morris and others. The technical paper there is worth a read, and its introduction has further references which will probably be worth hunting down.

This system doesn't actually play along - it requires a vocal/lead line to be input first, runs an analysis to determine key and fits chords etc. then plays back. Though this approach could be used if the tune is a continuously repeated chord progression.

It seems to be determining the basic key by building a histogram of pitches, and the chord generation uses a Markov chain to go from one chord to the next. There is a training step based on a database of real songs to build up a statistical model; this might be proprietary, though some simpler substitute may be possible.


Not really. I mean, you could make that, but it's unlikely to sound good without some pretty sophisticated AI. At it's simplest, you could be using any diatonic chord for which the bass note is either the 1st, 5th, or 3rd. But if you step outside really simple pop music, then the bass note could be all kinds of things as many chords are voiced with a bass note that is not an obvious relationship to the upper notes (slash chords, sus chords, altered chords voiced by putting upper structure triads over the bass, etc).

  • Thanks Iain. Are there any sophisticated AI implementations you'd recommend that I take a look to help realize this?
    – JavaFXpert
    Jun 29 '15 at 21:26
  • No idea, I'm sure there are people working on that sort of thing, but as far as practical application goes, it's going to be a better use of your time to just learn your chords. Once you know them well (like really well) that sort of exploring is instant, and it's a skill that will serve you for life musically! Jul 6 '15 at 22:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.