А вот грандиозный слив например
Сидел, лениво ковырялся в вортексе, и тут ВНЕЗАПНО осенило, как рулить громкостью YM2149 в рамках обычного 50гц тракера.
СОВЕРШЕННО РАБОЧАЯ ТЕХНОЛОГИЯ, В РАМКАХ ОБЫЧНОГО ТРАКЕРА БЕЗ ДОРАБОТОК.
Причем решение элементарное, и вытекло напрямую из предыдущего поста про сидоры и аигреки, а точнее из раздела про уплывающие громкости, и Retrig.
Напомню, что при маске TnE громкость меняется самостоятельно примерно вот так
(на самом деле волна треугольная либо пилообразная, но сейчас это не очень важно)
В предыдущем посте мы решили проблему синхростарта пилы и тона (на самом деле не совсем решили - из-за неуловимой фазы тона синхростарт получается в 2х рандомных вариантах, но это тоже не очень важно), значит теперь надо как-то "запрыгнуть" на участок волны, в котором нужная для нас громкость.
Делается это элементарно, и почему никто до этого не догадался - я не знаю
(А может и догадался 20 лет тому назад, и активно юзает, но мне про это ничего не известно.)
Итак, очевидно, что для того, чтоб сохранить постоянный уровень громкости - сперва нужно синхронизировать тон и пилу по частоте, иначе, судя по графику выше - громкость неминуемо уплывёт по своим делам.
Синхронизировать нужно с какого-то определенного места, потому что это будет наша точка отсчета, от которой мы будем прыгать по волне.
Определиться с этим местом для отсчета нам поможет фишка Retrig из предыдущего поста.
Теперь, запустив звук с ретригера, и синхронизировав пилу и тон по частоте, нужно как-то переместиться по графику.
Переместиться никак нельзя, зато можно "перемотать" волну!
Для этого делаем частотный десинк - добавляем к тону сколько-то единиц, например 5. Ждём один тик, чтоб YM схавал изменения (я делал всё прямо в вортексе, поэтому измеряю в тиках), и чтоб волна "перемоталась" и потом обратно синхронизируем пилу и тон, отняв то, что мы добавили, в нашем случае - 5 единиц.
А теперь... Вжух! Громкость изменилась! И Никуда не плывёт, стоит как вкопаная на одном уровне!
Для следущей смены громкости снова "проматываем" волну с помощью десинка с последующим синком.
Используя этот трюк, неизбежно придётся преодолеть следующий момент:
Для каждой ноты (а при смене таблиц - ещё раз) придётся вычислить (скорее всего на слух, по крайней мере я делал это на слух) значения сдвига тона для синка, а так же значения всех сдвигов для всех нот для попадания в нужную громкость. Так же для классификации сами громкости придётся измерить осцилом или какой-то програмкой.
Может это можно как-то вычислить - я не знаю.
Кто-то подумает, что это первоапрельская шутка
тут можно увидеть осцилограмму, и услышать звук (записано из самого обычного .pt3 файла)
а сам .pt3 файл не дам, хехе
upd: На реальном железе не проверял - там может и не сработать