Melody choralization, i.e. generating a four-part chorale based on a user-given melody, has long been closely associated with J.S. Bach chorales. Previous neural network-based systems rarely focus on chorale generation conditioned on a chord progression, and none of them realised controllable melody choralization. To enable neural networks to learn the general principles of counterpoint from Bach's chorales, we first design a music representation that encoded chord symbols for chord conditioning. We then propose DeepChoir, a melody choralization system, which can generate a four-part chorale for a given melody conditioned on a chord progression. Furthermore, with the improved density sampling, a user can control the extent of harmonicity and polyphonicity for the chorale generated by DeepChoir. Experimental results reveal the effectiveness of our data representation and the controllability of DeepChoir over harmonicity and polyphonicity. The code and generated samples (chorales, folk songs and a symphony) of DeepChoir, and the dataset we use now are available at https://github.com/sander-wood/deepchoir.
翻译:以用户给定旋律为基础生成四部分合奏, 即, 产生四部分合奏, 长期以来一直与J. S. Bach chorales 密切相连。 基于前神经网络的系统很少关注以合弦进化为条件的合唱代产, 而其中没有一个系统能够实现可控调调旋旋合奏化。 要使神经网络能够学习Bach 的合奏调的对口点的一般性原则, 我们首先设计一个音乐代表, 将合奏符号编码为合奏调调调。 我们然后提议 DeepChoir, 一个旋律化系统, 它可以产生四部分合唱, 以合奏进化为条件的四部分合唱代产。 此外, 随着密度抽样的改善, 用户可以控制DeepChoir 生成的调调调和多曲的大小。 实验结果揭示了我们的数据代表的有效性, 以及深Choir对调和多调调调调调调调调调调的可控性。 代码和生成的样本( 深Chogi/ rodrops) 数据是现在可使用的深Chopsy/ shops 。