Chord-Conditioned Melody Harmonization with Controllable Harmonicity

Shangda Wu1, Xiaobing Li1, Maosong Sun1,2

1Department of Music AI and Information Technology, Central Conservatory of Music

2Department of Computer Science and Technology, Tsinghua University

View the Project on GitHub sander-wood/deepchoir


This symphony is generated by DeepChoir based on Ave Maria, whose melody is composed by Charles Gounod, and the piano accompaniment is from Prelude No. 1 in C major, BWV 846. This music is a soulful homage to classical music, filled with Baroque elements, which is conceived as a genuine collaboration between humans and machines spanning centuries.

This music is created as follows. We first chordify the piano accompaniment part which is composed by J.S. Bach to get its chord progression. DeepChoir then generates a four-part SATB choir based on the extracted chord progression and the melody composed by Gounod. Finally, we rearrange the generated choir into a symphony and name it AI Maria.

AI Maria is accepted for inclusion in the ICMA Music Showcase 2022 Asia.

Ave Maria (Original)

AI Maria (Co-composed)

Pop Song

Here is the generated chorale based on Hey Jude, a song by the English rock band the Beatles. Despite melodies and chords being taken from completely different styles compared to the training data, the generated chorale is still musically convincing. The expressive use of non-chord tones, especially in the bass, is quite impressive. With conditioned chords, these chorales not only match their original styles, but harmonically fit into existing accompaniments.

Melody and Chords of Hey Jude (Input)

DeepChoir-harmonized Hey Jude (h=0.8) with manually added drum track

Folk Music

With chord conditioning and controllable harmonicity, DeepChoir is capable of generating music that is different from the typical Bach style. The melody and chord progression below are taken from the Sí Bheag, Sí Mhór, a traditional Irish Celtic music.

Melody and Chords of Sí Bheag, Sí Mhór (Input)

DeepChoir-harmonized Sí Bheag, Sí Mhór (h=0.7)

Bach Chorale

Like most melody harmonization systems trained on JSB Chorales, DeepChoir can reproduce the style of Bach. This is an example of a reharmonization of BWV 62.6, where the alto, tenor and bass are generated by DeepChoir in various harmonicity settings.

Melody and Chords of BWV 62.6 (Input)

BWV 62.6 (Ground Truth)

DeepChoir-reharmonized BWV 62.6 (h=0.5)

DeepChoir-reharmonized BWV 62.6 (h=0.6)

DeepChoir-reharmonized BWV 62.6 (h=0.7)

DeepChoir-reharmonized BWV 62.6 (h=0.8)

DeepChoir-reharmonized BWV 62.6 (h=0.9)

DeepChoir-reharmonized BWV 62.6 (h=1.0)