Управление громкостью огибающей YM2149

Управление громкостью огибающей YM2149

karbofos

СОВЕРШЕННО РАБОЧАЯ ТЕХНОЛОГИЯ, В РАМКАХ ОБЫЧНОГО ТРАКЕРА БЕЗ ДОРАБОТОК

Причем решение элементарное, и вытекло напрямую из предыдущего поста про сидоры и аигреки, а точнее из раздела про уплывающие громкости, и Retrig.

  

Напомню, что при маске TnE громкость меняется самостоятельно примерно вот так:


(на самом деле волна треугольная либо пилообразная, но сейчас это не очень важно)

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

Делается это элементарно, и почему никто до этого не догадался - я не знаю.

(А может и догадался 20 лет тому назад, и активно юзает, но мне про это ничего не известно.)

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

Синхронизировать нужно с какого-то определенного места, потому что это будет наша точка отсчета, от которой мы будем прыгать по волне.

Определиться с этим местом для отсчета нам поможет фишка Retrig из предыдущего поста.

Теперь, запустив звук с ретригера, и синхронизировав пилу и тон по частоте, нужно как-то переместиться по графику.

Переместиться никак нельзя, зато можно "перемотать" волну!

Для этого делаем частотный десинк - добавляем к тону сколько-то единиц, например 5. Ждём один тик, чтоб YM схавал изменения (я делал всё прямо в вортексе, поэтому измеряю в тиках), и чтоб волна "перемоталась" и потом обратно синхронизируем пилу и тон, отняв то, что мы добавили, в нашем случае - 5 единиц.

А теперь... Вжух! Громкость изменилась! И Никуда не плывёт, стоит как вкопанная на одном уровне!

Для следующей смены громкости снова "проматываем" волну с помощью десинка с последующим синком.  

Используя этот трюк, неизбежно придётся преодолеть следующий момент:

Для каждой ноты (а при смене таблиц, ещё раз) придётся вычислить (скорее всего на слух, по крайней мере я делал это на слух) значения сдвига тона для синка, а так же значения всех сдвигов для всех нот для попадания в нужную громкость. Так же для классификации сами громкости придётся измерить осцилом или какой-то программкой.  

Может это можно как-то вычислить, я не знаю.

Тут можно увидеть осциллограмму, и услышать звук (записано из самого обычного .pt3 файла)

https://www.youtube.com/embed/5bANpEZ83UA


#### Links

[dlcorp forum]

[test2.pt3]

[VOLUMEOGI.pt3]

Report Page