ну что ты, чёрт побери, такое несёшь, при чём тут твич, и с чего бы частоте ЗВУКА плавать?
у частоты ИСХОДНОЙ ВОЛНЫ и частоты ДИСКРЕТИЗАЦИИ этой же волны общего - только слово "частота"
Вид для печати
ZXMAK, Воспроизводимая частота не должна дрейфовать дальше чем на 1/10 герца (или правильнее - 0.1%). Это заметно.
- - - Добавлено - - -
Lethargeek, Чтобы подогнать синхронизированный звук между прыгающими между 49/50/51 герцами развертки, тебе придется замедлять или ускорять звук (чем твич и занимается, когда у него моча в голове вдруг появляется). И этот подгон за счет ускорения и замедления - ужасен.
э, да! ЕЩЕ РАЗ: кол-во бутылок может меняться, а кол-во воды в них - нет! ну вот вылилось у нас из трубы сто литров, а потребитель говорит - хочу 105 бутылок - на тебе 100 литров в 105 бутылках; потребитель говорит - хочу 95 бутылок - на тебе те же 100 литров в 95 бутылках - и в чём проблема?
"горе от ума" :v2_dizzy_facepalm: НЕ ВЫДУМЫВАЙ ПРОБЛЕМЫ НА РОВНОМ МЕСТЕ, ничего не нужно "реконструировать", нужно сразу КОНСТРУИРОВАТЬ с другой сеткой - ведь с какой-то всё равно нужно
у всех разные "пределы", в моих - "корёжится" :p
учитывая, что частоты звуковой карты и видеокарты плывут друг относительно друга, да плюс к этому измерения их частот относительно таймера системы тоже плывут, то плавание частоты звука вполне нормальное явление при правильной реализации подстройки частоты дискретизации. Именно в том и заключается задача - сделать чтобы частоты плавали, подстраиваясь друг под друга.
:v2_dizzy_facepalm: ЕЩЕ РАЗ:
это разные "частоты", не путай их (и да, "таймер системы" тут - третий лишний)
нет, задача заключается, чтоб НЕ плавали - при достаточно небольших и стабильных флуктуациях и не будут
а при слишком нестабильных - ничего хорошего со звуком всяко не будет, даже если звуковуха главная, а не видео
вот мне и интересно - как это делается?
Пусть частота Z80 Fclk=3504000 Гц. Звуковая карта Fs=48000 Гц. Т.е. без подстройки нам нужно просто наложить ФНЧ и сделать децимацию с коэффициентом x73. Итого получаем 3504000 / 73 = 48000 Гц. Пока всё красиво.
Далее, допустим мы намеряли, что нам нужна частота дискретизации 47999.357 Гц. Но у нас есть возможность делать децимацию с коэффициентом 72, 73 или 74. Соответственно мы можем получить 48666.66(6) Гц, 48000 Гц или 47351.351 Гц. Требуемая частота в этот ряд не вписывается, т.к. разрешение координатной сетки сэмплов на частоте Z80 3.5 МГц недостаточно, нужно делать апсэмплинг до более высокой частоты дискретизации. А это уже приличная нагрузка на процессор.
ZXMAK, есть такое слово - "интерполяция" ;)