Markov-ization
北京大学《音乐与数学》大作业之中所写的马尔科夫转移概率矩阵自动生成器
如题,支持生成1阶与2阶的转移概率矩阵。
使用方法:
将乐音体系数字化后的谱子用空格分隔写在input.txt之中(备注:每个音用三位数表示,百位表示时值,剩下的两位数对应乐音体系中的1-97(当然,恁要是想用0-96也无所谓,毫无影响)的数字,特别地,休止符用98表示)
运行Markov-ize.cpp。
在output.txt中查看结果。
此外,还更新了Random-Note-Generator.cpp,可以基于生成的转移概率矩阵生成随机音乐的数字化。
为了方便测试,我在此提供了样例input.txt(即音乐与数学课中的《鸿雁》节选)。
原理
以一阶的为例:
首先读入乐谱的第一、二个数字化音符,记作音符对(note_pre, note_suf),将该音符对出现的次数记录,并将以note_
2023-03-08 22:57:25
82KB
C++
1