yigal_s: (Default)
[personal profile] yigal_s
На Windows-компе в 3.6GHz можно сделать порядка 5 млн. обращений в ядро за секунду. Таким образом, совершенно нет никакой проблемы управлять мембраной встроенного в PC динамика даже сегодня из пользовательского режима.
Да еще и с более высоким разрешением, чем для PC XT.

Можно попробовать запилить и дельта-сигму, и ШИМ. Думаю, что дельта-сигма на 5Mhz будет круче, чем, скажем, ШИМ на 1 Mhz. А может, на слух разницы и просто не будет.

Вот чего нельзя - это понять, что из них было бы эффективней с точки зрения качества в тех старых условиях компьютеров с процессорами на 4-10 Mhz, когда можно было то ли побитово дёргать динамик дельта-сигмой, а то ли программировать один импульс нужной ширины через таймер, и при этом всём еще бороться буквально за каждый такт процессорного времени.

Чего еще было бы интересней - это снять АЧХ подобной системы, да и сгенерить скорректированный битовый поток, чтоб он на встроенном PC динамике проигрывался вообще идеально. Но я понятия не имею, как это сделать. Насколько я понимаю, эта задача, решаемая в идеальном виде, напоминает задачу о том, как напечатать полутоновую картинку на лазерном принтере, где ширина одной точки сильно превышает расстояние между пикселями. Небезынтересная задачка, кстати, если не халтурно решать.

Пока же, если кому-то интересно, вот музыкальный трек c CD, запиленный в однобитную сигма-дельту на 96KHz. Формат .wav (если ничего не напортил), на обычном MS Media Player проигрывается.

Abba - Waterloo: https://ufile.io/c2b4k