Demo Page
This is the accompanying web page for the following paper:
Interactive Arrangement of Chords and Melodies Based
on a Tree-Structured Generative Model
-Submitted to ISMIR 2018
Abstract
We describe an interactive music composition system
that assists a user in refining chords and melodies
by generating chords for melodies
(harmonization) and vice versa (melodization).
Since these two tasks have been dealt with independently,
it is difficult to jointly estimate chords and melodies
that are optimal in both tasks.
Another problem is developing an interactive GUI that enables a user
to partially update chords and melodies
by considering the latent tree structure of music.
To solve these problems,
we propose a hierarchical generative model consisting of
(1) a probabilistic context-free grammar (PCFG) for chord symbols,
(2) a metrical Markov model for chord boundaries,
(3) a Markov model for melody pitches,
and (4) a metrical Markov model for melody onsets.
The harmonic functions (syntactic roles)
and repetitive structure of chords are learned by the PCFG.
Any variables specified by a user can be optimized or sampled in a principled manner
according to a unified posterior distribution.
For improved melodization,
a long short-term memory (LSTM) network can also be used.
The subjective experimental result
showed the effectiveness of the proposed system.
Generated Example
The figure shows
how the proposed method
generates chord sequences and melodies.
The score (melodies and chords) at the top shows an initial state
in which the chord symbols were optimized for the melody in the input file
(the chord onsets were located at the bar lines).
The second score shows the state
in which the two regions of the melody under the 3rd and 6th chords
were updated in order.
The third chord sequence shows the state
in which the 4th chord, Bb major, was split into F major and Bb major.
The fourth chord sequence shows the state
in which the 7th chord, A minor, and the 8th chord, D minor,
were merged into A minor.
This indicates that the proposed method
can successfully help a user create a melody
with a varying number of musical notes
while keeping the consistency of the whole melody
and that it can generate a chord sequence
by considering the latent tree structure behind the chord sequence.
Web Application
The proposed system working on HTML5-based web application is available
HERE.