Просто идея, которая у меня была на днях: делать ритмы по марковской цепочке предопределенных звуков.
Я помню, кто-то делал битбокс с Google Translate и немецким языком (перейдите по ссылке и нажмите «слушать»).
Итак, задача состоит в том, чтобы создать текстовый ввод в Google Translate из заданной цепочки. Или вы можете использовать музыкальные ноты и играть сами :).
Вы можете составить программу, считывающую строку с числом ударов, другую с их именами и матричное представление вероятностей (вы можете выбрать представление).
Вы также можете создать функцию с этими тремя аргументами.
Например
[Вход]
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) и генерировать музыку! Вот несколько бесплатных примеров.
Я могу опубликовать справочную реализацию, если это необходимо.