Music Generation.

在计算机出现之前,人类历史上第一个通过算法生成音乐的例子是莫扎特的Dice Music,首先像掷骰子一样随机选择一些预定的音乐片段,然后根据一定的风格连接片段构成音乐作品。

基于深度学习的音乐生成技术对音乐相关的专业知识没有过高的要求,而是利用数据驱动的方法,从音乐语料库中自动学习音乐的结构和风格,然后从学习到的分布中生成音乐样本。

本文目录:

  1. 基础乐理
  2. 音乐的表示
  3. 音乐生成模型

1. 基础乐理

2. 音乐的表示

音乐的表示形式有音频(Audio)符号(Symbolic)两种,分别对应于连续变量和离散变量。

(1)Audio

基于Audio的音乐表示主要有信号波(Signal Waveform)频谱(Spectrum),这种音乐表示形式保留了完整的原始声音信息,但是对计算资源的消耗比较大,处理起来比较费时。

(2)Symbolic

基于Symbolic的音乐表示主要有MIDIPiano Roll文本表示(Text)

3. 音乐生成模型

按照模型使用的基本结构不同,可将音乐生成模型划分为以RecurrentConvolutionalTransformerVAEGAN为基础的模型。

(1)Recurrent模型

⚪A Recurrent Neural Network Music Generation Tutorial

⚪Song From PI: A Musically Plausible Network for Pop Music Generation

⚪DeepBach: a Steerable Model for Bach Chorales Generation

(2)Convolutional模型

⚪Counterpoint by Convolution

(3)Transformer模型

⚪Music Transformer: Generating Music with Long-Term Structure

⚪MuseNet

(4)VAE模型

⚪A Hierarchical Latent Vector Model for Learning Long-Term Structure in Music

⚪MidiMe: Personalizing a MusicVAE model with user data

(5)GAN模型

⚪C-RNN-GAN: Continuous recurrent neural networks with adversarial training

⚪MidiNet: A Convolutional Generative Adversarial Network for Symbolic-domain Music Generation