Using machine learning to aid composition and improvisation.
The project uses a recurrent neural network trained on thousands of jazz standards to suggest consonant chord progressions for the asipring improvisor or composer.
By allowing the user to generate new chord progressions at will and then play them back with a variety of configurations and instruments, ChordGen speeds up the process of learning to improvise over foreign chords in a jazz piece, or provides a motif to inspie a composer's next work.
A dataset of jazz standards was preprocessed using the PyChord library to reduce each chord in each song to a length 12 binary array (with notes present in the chord represented as 1 and notes not present represented as 0). From there the processed dataset was fed into the network to generate a model. This model is loaded into the website with TensorFlowJS and some frontend logic handles configuration and playback.
Head over to chordgen.com to see it in action and learn more about the actual usage, or reach out to me here with questions.