Алгоритм fake RR neighbor (1 онлайн

V_ad_im

Well-Known Member
1 Ноя 2006
2.699
2.276
113
48
Други, я тут что-то после нескольких попыток подзастрял - хочется понять структуру алгоритма искусственного RR (чтобы иметь возможность его реализовать в разных видах, не только в виде скрипта контакта, поэтому речь скорее об алгоритме, а не о конкретных строках скрипта).

Исходные условия: каждая следующая нажимаемая нота звучит на новом миди-канале. (чтобы питчбэнд одной ноты не мешал другой). Предположим, что это уже сделано и работает нормально.

Как я понимаю, алгоритм RR должен уметь следующее:
Отслеживать одинаковые ноты, даже если они следуют не подряд, а перемежаясь с другими нотами (например, в пассаже "до ми до фа до соль" нота до каждый раз должна быть разная, например, первый раз обычная, второй раз это должен быть ре-бемоль, опущенный на полтона, а в третий - си, поднятая на полтона.)


кстати, пример правильной работы RR (правда, не фейкового, а обычного) это Fluid Shorts от Performance samples. Там ноты помнят, что им надо меняться, даже если их играть вперемешку с другими.


На практике всё усложняется, как только всё начинает играться разными миди-каналами.. получается, что патч долен отслеживать одинаковость как глобально, так и для каждой ноты отдельно.

Может тут нужен просто двумерный массив "note, pitch", в котором pitch - это три перечисленных варианта исполнения ноты? чтобы перед воспроизведением любой ноты сверяться с этим массивом, какой из вариантов звучал ранее и использовать другой?

Вдруг есть уже где-то готовые рецепты, чтобы не изобретать с нуля этот странный велосипед?

(и, возможно, правильнее разместить эту тему в каком-то другом разделе, не оркестровом? хотя, есть ощущение, что потребность в RR чаще всего именно в этом разделе востребована)
 
Последнее редактирование:

Сейчас онлайн (Пользователей: 0, Гостей: 1)