论文部分内容阅读
在人工智能领域算法作曲是一个研究方向,但在为旋律编配和弦的伴奏领域,因为缺少相关的算法,很少有人涉足,隐马尔可夫模型常常被运用在生物、语音识别等领域,而在音乐领域的运用很少,本文的创新之处在于利用隐马尔可夫模型构建了一个自动化的音乐伴奏系统,旨在将带有完整伴奏音乐的旋律看作是类似机器学习的一个任务,通过对几类典型主旋律的样本进行训练,更新隐马尔可夫模型中的概率参数,依据相关的概率参数和算法指导最优化的和弦序列的生成,最后构建出一个为输入旋律生成和弦的自动化伴奏系统。为了演示本文的研究成果,使用了Electorn框架搭建了一个自动伴奏的小程序,软件界面采用前端框架Vue实现,训练样本以及和弦库用nedb数据库存储,业务逻辑基于nodeJs平台使用JavaScript语言和通过以下步骤进行实现:1、将乐谱数字化的简谱输入,运用音程置换算法将旋律统一成同一调式,同时提取每一小节旋律的特征音符,把一小节旋律的特征音符定义为隐马尔可夫模型中的观测序列,将与每一节特征音符所匹配的最优和弦序列定义为隐马尔可夫模型中的隐含状态序列,这样就建立一个以特征音符与和弦伴奏的映射关系的音乐伴奏隐马尔可夫模型。2、依据音乐伴奏隐马尔可夫模型中的定义,采用监督学习的方式统计得到特征音符序列与最优和弦序列之间的转换概率,通过维比特算法为特征音符序列匹配一段最优和弦序列。3、通过和弦伴奏生成算法,将所匹配的最优化和弦序列生成为具体的音乐伴奏,结合两种不同的伴奏方式以及三组不同的和弦结构,以达到丰富音乐和弦伴奏的效果,最终将生成的伴奏和弦序列与主旋律进行模进处理,形成一套基于隐马尔可夫模型的自动化伴奏系统。