ссылка
Вид для печати
Все зависит от того, что тебе интересно на Спектруме.
Мне, например, очень важны демки, и их плавность. Интрушки.
Да и игр покадровых немало.
Отставание звука на 2 кадра (40мс) это уже ощутимо.
Когда играешь в игры, ориентируешься не только на изображение, но и на звук. Если он отстает, это может снизить эффективную реакцию в игре.
- - - Добавлено - - -
Конечно звук не должен плавать)
- - - Добавлено - - -
Образцово-показательные замеры )
- - - Добавлено - - -
Не совсем так.
Таймер высокого разрешения очень стабильная и точная вещь.
Он должен быть опорой для любых измерений.
Относительно него я измеряю частоту кадров, и относительно него же частоту семплов.
Именно опираясь на стабильность таймера получается измерять частоту кадров и семплов с высокой точностью.
Если же пытаться измерить частоту семплов опираясь на не очень стабильный источник - частоту кадров, то может получиться значительно хуже.
Сами по себе частоты кадров и семплов тоже высокостабильные, но информацию о них нельзя получить вовремя, она может гулять.
не поверю - просто ты не замечал этого :p если уплывал кварц - то и остальное всё вместе с ним
- - - Добавлено - - -
сам себе ответь на вопрос - для ЧЕГО конкретно ТАКАЯ точность?
а может и не получиться - если чётко представлять себе, что мы замеряем и для чего
да и пусть себе гуляет, на то существует буферизация и допустимый коридор на эти гуляния
кол-во сэмплов нужно подкорректировать, только если норовит из коридора выползти в одну сторону
возвращаем среднее в коридор, и соотношение высокостабильных частот железа устаканится без всяких точных замеров
Чтобы ничего не плавало и работало, как часы)
- - - Добавлено - - -
Без точных замеров гуляние будет сильнее, иначе оно не будет догонять убегание одного от другого.
А у меня из-за очень точных замеров, гуляние 0.1Гц (это 0.0001% при 96000Гц). А может быть и еще ниже.
так оно и с меньшей тоже не плавает (ну, если винда не сильно протормозила, но замеры в таком случае не помогут)
да хоть до фемтосекунды обзамеряйся, всё равно разница между двумя соседними кадрами ну никак не может оказаться меньше одного сэмпла :D
то есть никакие не 0.0001% а на 2-3 порядка больше (для 48Кгц ~0.1% для 192Кгц ~0.025%)
Lethargeek, если уплывал кварц - он уплывал ненамного и уплывал медленно, и однонаправленно. А то что тут как «подгонка» предлагается - чревато не просто уплыванием, а чем-то похуже, что каждые несколько фреймов частота будет меняться туда-сюда. Это без слышимых последствий не обойдется.
Вообще в эмуляции AY главное - чтобы тон не плавал и ресэмплинг был без артефактов, а конкретная опорная частота - без разницы. Кадровая частота (частота прерываний, по которым музыка и играет) может плавать на фрейм туда-сюда, это вообще никто не заметит.
Поставил себе виртуальные аудиодрайвера (Virtual Audio Cable), которые позволяют записать сразу в цифре то, что выдается на аудиовыход.
Оцифровал, посмотрел в спектре в Adobe Audition - все идеально стабильно.
Заодно интересно стало, почему у 'raphaelgoulart - surprisingly NOT four twenty (2014) (Multimatograf X, 2).z80' такой хороший звук. Занимательно было сравнить с обычными многоголосными плеерами.
Кроме того, решил проблему, заключающуюся в том, что у меня эмулятор не понимал моно-выходы (ну негде было протестировать). А с виртуальным драйвером сделал моно-выход и тоже протестировал, тоже заработало.
стабильность, точность и выское разрешение - это разные вещи. Стабильность нужно проверять сравнивая с тем-же цезиевым или рубидиевым осциллятором, точность- сравнивая с поверенным рубидиевым осциллятором. Системный таймер от обычного кварца тактируется, поэтому о высокой точности и стабильности для него нельзя говорить, у него такое-же гуляние частоты, как и у обычных кварцев. А вот высокое разрешение - это да, он позволяет видеть временные интервалы с очень высоким разрешением.
В данном случае абсолютная точность не имеет значения. А вот стабильность и разрешение важны.
- - - Добавлено - - -
При таком подходе выпадание одного видео-кадра (скажем из-за нагрузки на систему) приведет к довольно сильному изменению частот, которое можно будет заметить на слух. Тоже самое и с выпаданием аудио-кадра.
Системный таймер в данном случае лучше тем, что он не останавливается если система по какой-то причине лагает, если процессор не успел чтото обработать и т.п. Он продолжает непрерывный отсчет, поэтому на него удобно ориентироваться для оценки реальной скорости.