论文部分内容阅读
算法作曲是人工智能领域中一个研究方向,而为旋律配伴奏是其中一个十分具有挑战性和现实意义的研究分支。本文把旋律配和声看作是类似机器学习的一项任务,通过对于一系列样本的训练,构建了一个钢琴伴奏音型元结构数据库。随后,建立两个HMM模型来尝试着模拟作曲家为旋律配伴奏的思维过程,最终利用Viterbi算法为新的旋律乐段配钢琴伴奏。文中,提出了“钢琴伴奏元结构”的概念,钢琴伴奏元结构由钢琴原始伴奏音型转换而来,元结构中每个音符的音高信息是一个变量,它随着应用环境的变化而不同,并且元结构中包含了能够表征一个和声状态的单拍子独立音群结构或单小节音群结构,以及涵盖1~3小节音乐片段中的模仿,模进创作技巧。所有这些,使得利用音型元结构来为旋律配伴奏,更加具有灵活性,多变性,更具有生命力。此外,本文建立了节奏对比HMM以及和声HMM来模拟作曲家为旋律配置符合当前上下文音乐环境的节奏及和声的思维活动。节奏对比HMM是以确定的旋律片段中的音符时值序列为观察值,以对应的伴奏音型的节奏序列为隐含状态。而在和声HMM中,我们以一个小节或者一个拍子的旋律片段中的骨干音序列为观察值,以特征和弦为隐含状态。本文旨在设计一个钢琴自动伴奏系统,它以一系列的带有钢琴伴奏的样本谱例为输入,通过训练阶段,系统收集钢琴原始伴奏音型并转换为音型元结构存入数据库中,同时调整2个HMM的参数,形成某种与输入样本相关的伴奏风格。在配曲阶段,系统根据旋律乐曲的基本信息,以及目前参数的伴奏风格,利用Viterbi算法,在数据库中为旋律片段选择合适的钢琴伴奏元结构,并且最终生成钢琴伴奏。