-
使用matlab编写谐波代码以实现HarmonicAccompaniment:实时音乐分析与和声伴奏生成
资源介绍
用matlab生成谐波代码实时谐波伴奏
此处的书面代码将用户演奏的旋律作为输入,并输出和弦伴奏以实时适应旋律。
即,当用户在MIDI键盘上演奏旋律时,会自动生成谐波伴奏以适应旋律。
尽管用户在可用状态数方面仍然受到限制,但随着用户继续玩游戏,该算法得到了改进。
尽管该项目易于扩展以适应其他国家,但仅考虑标准的I至VII和弦。
训练
生成了MATLAB代码以创建200个旋律:每个旋律包含200-400个音符之间的任意位置。
这些旋律遵循一些简单的规则,因此可以预期稍后会获得一些结果,但是,如果将训练数据改为抓取MIDI文件,则可以改善结果。
MATLAB中使用的库有助于将MIDI转换为矩阵数组格式。
之后,使用JAHMM库将数据读入Java代码。
这将生成训练有素的隐马尔可夫模型。
一代
然后,“隐马尔可夫模型”使我们能够在一定精度的基础上,根据之前的和弦以及当前正在播放的旋律中的音符来预测连续的和弦。
通过浏览可用状态,然后与状态转换变量进行匹配,就可以确定这种转换。