Hi-Fi кувалдой
Oct. 19th, 2017 01:32 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
На 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
Да еще и с более высоким разрешением, чем для PC XT.
Можно попробовать запилить и дельта-сигму, и ШИМ. Думаю, что дельта-сигма на 5Mhz будет круче, чем, скажем, ШИМ на 1 Mhz. А может, на слух разницы и просто не будет.
Вот чего нельзя - это понять, что из них было бы эффективней с точки зрения качества в тех старых условиях компьютеров с процессорами на 4-10 Mhz, когда можно было то ли побитово дёргать динамик дельта-сигмой, а то ли программировать один импульс нужной ширины через таймер, и при этом всём еще бороться буквально за каждый такт процессорного времени.
Чего еще было бы интересней - это снять АЧХ подобной системы, да и сгенерить скорректированный битовый поток, чтоб он на встроенном PC динамике проигрывался вообще идеально. Но я понятия не имею, как это сделать. Насколько я понимаю, эта задача, решаемая в идеальном виде, напоминает задачу о том, как напечатать полутоновую картинку на лазерном принтере, где ширина одной точки сильно превышает расстояние между пикселями. Небезынтересная задачка, кстати, если не халтурно решать.
Пока же, если кому-то интересно, вот музыкальный трек c CD, запиленный в однобитную сигма-дельту на 96KHz. Формат .wav (если ничего не напортил), на обычном MS Media Player проигрывается.
Abba - Waterloo: https://ufile.io/c2b4k