使用Magenta生成音乐
最近开始入门计算机自动作曲领域(算法作曲(algorithmic composition)
或称自动作曲(automated composition)
)。计算机自动生成音乐的目标有节奏和旋律、和声/和弦、伴奏(acompaniment)、复调(counterpoint)、改编(arrangement)等。它的实现一般都是基于概率理论的(或者说其数学本质就是一个概率问题):假设旋律(一段包含音高的时间序列)服从某种概率分布,求解这个分布的近似解(或者加上和声,求解它们的联合概率分布模型)。
Magenta 是Google Brain团队使用深度学习研究自动作曲的开源项目,本文将简单描述使用Magenta生成MIDI音乐的过程。
安装和配置支持Python3的Magenta环境
1 | # 安装[Miniconda for python3](https://conda.io/miniconda.html) |
使用Melody RNN模型生成旋律
1 | # 如果没有设置永久环境变量(.bashrc/.bash_profile),需要激活conda环境 |
播放和评估MIDI效果
安装FluidSynthMIDI合成器:
1 | $ brew install fluidsynth |
并下载SoundFont,为MIDI合成器提供乐器录音和音效。
1 | $ fluidsynth /path/to/soundfont.sf2 /path/to/MIDI.mid |
或者其实可以直接使用musescore来播放,好处是有GUI可以直接可视化乐谱!