Насколько я понял, ты говоришь о микшировании с учетом психоакустики? Смешивание сигналов в разных пропорциях, подстраиваемых динамически в зависимости от того, что в этих сигналах содержится?
Я заметил, что современная музыка, в отличие от музыки 80х годов, делается такими методами. Простым смешиванием (в постоянных пропорциях) звука инструментов и ударников нельзя добиться того, чтобы басы или ударники звучали так выразительно. Это да.
Но только все это надстройки над простым смешиванием с помощью сложения. Сигналы складываются по следующей формуле:
y(i) = a*x1(i) + b*x2(i)
В обычном (простом) случае коэффициенты a и b постоянны во времени, а в случае "более совершенных алгоритмов" они меняются, но все равно они меняются медленно по сравнению с самими сигналами x1(i) и x2(i). Поэтому, в случае спектрума, если так уж хочется сделать "профессиональное" микширование - то алгоритм, вычисляющий новые значения a и b, может выполняться по прерываниям, а между ними смешивание звука все равно будет происходить путем сложения с постоянными пропорциями.
Теперь что касается ШИМ и других методов синтеза звука на бипере. Выбор, в общем-то, таков: или ШИМ, или сигма-дельта модуляция (Noise Shaping 1го порядка), или Noise Shaping 2го порядка.
С точки зрения теории, последний метод является самым лучшим (хотя требует бережного обращения). С минимальной частотой дискретизации на выходе он позволяет реализовать наилучшее качество звука. Но сигнал на выходе получается сложным, рассчитать его на спеке в реальном времени невозможно, поэтому приходится его рассчитывать предварительно и хранить в памяти. И памяти нужно много.
Я недавно делал на PIC простенький генератор звука с использованием этого метода. У меня было 64кБ ПЗУ (512кБит), и проигрывал я эти биты на частоте 44100Гц. Получилось 11 секунд звука. Но качество звука получилось весьма отстойным (особенно без хорошего фильтра на выходе). Чтобы получить хорошее качество звука этим методом, нужно в несколько раз повысить частоту дискретизации - и тогда всей памяти Спектрума, даже если Z80 справится с такой скоростью, хватит на пару секунд звука. Нонсенс.
Делал я недавно и другую штуку на основе PIC. Неплохое качество звука (на уровне телефонного) удалось получить с помощью ШИМ на несущей частоте 32кГц. Правда, при этом ширина импульсов у меня могла принимать 256 различных значений, а это соответствует частоте дискретизации на выходе порядка 8Мгц... Noise Shaping 2го порядка на этой частоте справился бы куда лучше.
Так что все зависит от возможностей реализации. На Спектруме я бы наверно пробовал делать нечто, совмещающее Noise Shaping и ШИМ... То есть ШИМ с вариацией ширины импульса в небольших пределах, что соответствовало бы 2-4 битному ЦАП... А данные для этого ШИМ подготавливать с помощью Noise Shaping, возможно, более высокого порядка, чем 2.
ШИМ действительно имеет принципиально неустранимые искажения. Но в контексте Спектрума эти искажения, скорее всего, незначительны по сравнению с прочими искажениями, шумом квантования и т.д.
Центрованный ШИМ дает меньше искажений, чем нецентрованный, но я не проверял на практике, насколько это ощутимо на слух и стоит ли оно затраченных усилий.

