Немного странные вопросы.
Счётчик периода (фазы) огибающей меняется после изменения содержимого регистра 13 (форма огибающей). Сию наносекунду. При изменении регистров 11-12 период огибающей меняется мгновенно, фаза не меняется вообще, иначе бы скользящие огибающие были невозможны).
При изменении любого регистров 0-5 период счетчиков тона соответствующего канала меняется также сию наносекунду. Фаза сохраняется. Если длинный период меняется на короткий - дожидаться окончания этого периода НЕ ДОЛЖНА. Иначе бы делитель 4095 мог меняться очень редко. То есть если новый период КОРОЧЕ текущей фазы, то фаза сбрасывается. Идут счётчики от 0 до PERIOD-1, и каждый такт звукового проца их значения сравниваются с соответствующими PERIOD, если вдруг превышает - сброс на 0 (это как раз случай уменьшения длины периода в момент когда текущий период (фаза) уже достаточно долог).
То что период меняется при внесении и LSB и MSB, кстати, создаёт звуковые артифакты, когда из Бейсика пытаешься менять частоту, по отдельности впихивая LSB/MSB, и на мгновение получая левые тона, воспринимаемые как щелчки.
Ни изменение периода огибающей, ни сброс фазы огибающей никоим образом не влияет на генерацию тона под этой огибающей - они совершенно независимы.




Ответить с цитированием