Jazz Chord Generator

Felix Wu

How should you describe a chord to a neural network? An interactive companion to Data Representations in Neural Network Based Chord Progression Generation Methods, University of Edinburgh, 2020 (PDF)

1Input Progression

Root
Chord
Start from

2Chord Representations

A network only sees numbers, so every chord has to be written as a list of them. The paper compares six ways of doing that: some only name the chord, others spell out its notes. Click one to use it.

RepresentationYour last chord, as the network sees itAccuracyGuess

3Next Chord

Most likely next chords

ChordProbability
4 Results

Accuracy is how often a network's top guess was exactly the chord that came next in songs held back from training; similarity (sim.) gives partial credit for near misses, using Word2Vec chord embeddings (0 to 1). Describing chords by their notes helped less than expected: plain one-hot encoding came out best with every network, and the two proposed representations landed in between.

Table 1: Accuracy and similarity for each representation and network, with the baselines below, from Tables 6.1 and 6.2 of the paper. * proposed in the paper.