前几天我只是有个主意:按照预定义的声音的马尔可夫链拍拍。
我记得有人用Google Translate和德语做了一个节拍盒(点击链接并按监听)。
因此,挑战在于如何从给定的链中为Google翻译构建文本输入。或者,您可以使用音符并自己演奏:)。
您可以使程序读取一条带有拍数的行,另一条读取其名称和几率的矩阵表示形式(可以选择表示形式)。
您也可以使用这三个参数来创建函数。
例如
[输入]
20
pv zk bschk kkkk
[[.1, .4, .5, 0.],
[.3, .2, .3, .2],
[0., .3, .2, .5],
[.1, .8, .1, 0.]]
[输出]类似:
pv zk bschk zk pv bschk zk pv zk bschk kkkk pv bschk zk bschk bschk bschk zk kkkk bschk
每个节拍的起始概率是相同的。
这不是代码挑战,因为我希望看到一些不错的解决方案(富有创造力)。
如果您发明新的节拍和/或选择在大多数情况下给出良好节拍的概率表,则可以加分。
如果需要,您可以使用真实的节拍(在许多语言中,很容易打开.wav
文件,例如wave
Python中的模块)并生成音乐!这里有一些免费的样品节拍。
如果需要,我可以发布参考实现。