Уфф...
Очень сложная ситуация с автоматическим и в тоже время правильным выбором струн ! Поиск решений подходит к концу !
Если у кого нибудь есть предложения или идеи, с радостью приму !
Для одноголосной партии все работает великолепно ! Позиции меняются как бы (скорее всего) сыграл гитарист. Т.е. как логичнее, если хотите иначе - пожалуйста, изменить можно все в реальном времени .
С аккордами все гораздо сложнее. Никакая программа не может знать действия человека вперед.
Когда мы берем аккорд всегда есть некоторое время между нотами (даже не если это не strum)
Промежуток между первой и последней нотой назовем - time frame. Именно это время и нужно программе для того, чтобы проанализировать аккорд. Но программа должна знать это время заранее, или знать количество сыгранных нот (во втором случае есть вероятность того, что вы "зацепите" соседнюю и программа ошибётся). Так вот именно поэтому при игре аккордами мы получим небольшую задержку (оптимально 20-25 ms)/ это неприятно, но вариантов нет ! Хотя есть - включить режим дурака и играть на пианино без понимания на каких струнах !
Второй вариант аккорда, когда вы играется аккорд очень быстро но немного апреджировано. Условие - аккорд должен быть сыгран последовательно от нижней струны к верхней или наоборот. Иначе ошибка и позиции будут найдены неверно. Если у вас получилось сыграть последовательно - все будет работать прекрасно и каждая следующая нота будет находится на следующей свободной струне.
Также море вариантов, когда интервал можно сыграть на разных струнах или эти же две ноты на одной струне последовательно. Как программа может понять, что вы хотите ? Никак ! Опять только временной отрезок между нотами. Если он больше чем заданное число - звучат две ноты на одной струне последовательно.
И что же в итоге получается и как эти режимы будут переключатся ?
View hidden content is available for registered users!