User Tag List

Показано с 1 по 10 из 727

Тема: EmuStudio-ZX

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,970
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    316
    Поблагодарили
    239 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Легко. Генерирую дробное, например, 1920.0001, а отправляю целое 1920, а 0.0001 перенесется на следующую посылку. Так за 10 тысяч итераций набежит еще один байт.
    так в том кадре, на котором набежал уже целый сэмпл (почему "байт", кстати? у тебя что, звук восьмибитный?) будут те же самые "доли процента", как у меня

    - - - Добавлено - - -

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Если использовать аналогию с конвейером, то у нас две линии – для муки и сахара. На входе строго синхронно, каждую секунду, подаётся ровно по 1 литру муки и 1 литру сахара. Но на выходе муку забирают ложкой объёмом 1.1 литра в секунду, а сахар - 0.9 литра в секунду.
    да не так, блин мы дискретизируем волну, непрерывную
    то есть разливаем по дискретным бутылкам непрерывный поток воды, вытекающий из трубы
    за одно и то же время разлить можем или в 100 бутылок, или в 101, или в 99
    в любом случае объём останется тем же, как и минеральный состав

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Если-же отбрасывать сэмплы или вставлять копии - это приведет к искажению звука или видео. В этом собственно и вопрос - как это решать?
    никто ничего не отбрасывает и тем более не вставляет копий, не фантазируй
    сэмплы - это равномерно расставленные точки на графике исходной волны
    на том же графике при другом кол-ве сэмплов их координаты будут другими
    расстояние между соседними - будет другим (это как объём воды в бутылке как раз)
    Прихожу без разрешения, сею смерть и разрушение...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    в любом случае объём останется тем же, как и минеральный состав
    э нет, для звуковой карты время течет иначе чем для видеокарты, поэтому условно говоря за время 100 кадров видеокарты, на часах звуковой карты может набежать 100 ± 5 кадров (цифры взяты от балды для примера). И скорость течения времени постоянно меняется, как у звуковой карты, так и у видеокарты, поэтому в какой-то момент часы видеокарты могут идти быстрее, в другой момент времени наоборот.

    Это для эмулятора время звука и видео всегда одинаково, т.к. у спектрума они синхронизированы от одного клока. А для звуковой карты и видеокарты время течет по разному, поэтому 1 секунда эмулятора (50 кадров) на видеокарте и на звуковой карте будут воспроизводиться разное время.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    на том же графике при другом кол-ве сэмплов их координаты будут другими
    расстояние между соседними - будет другим (это как объём воды в бутылке как раз)
    для того чтобы координаты сэмплов стали другими, сигнал нужно реконструировать в непрерывный и передискретизировать заново в новой координатной сетке. Грубо говоря сделать апсемплинг и затем даунсемплинг к другой частоте дискретизации. Операция довольно тяжелая и проблематичная, особенно учитывая дробные коэффициенты преобразования. Без искажений сигнала и нагрузки на процессор тут не обойтись.
    Последний раз редактировалось ZXMAK; 10.03.2025 в 11:27.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #3

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,970
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    316
    Поблагодарили
    239 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    э нет, для звуковой карты время течет иначе чем для видеокарты, поэтому условно говоря за время 100 кадров видеокарты, на часах звуковой карты может набежать 100 ± 5 кадров (цифры взяты от балды для примера). И скорость течения времени постоянно меняется, как у звуковой карты, так и у видеокарты, поэтому в какой-то момент часы видеокарты могут идти быстрее, в другой момент времени наоборот.
    э, да! ЕЩЕ РАЗ: кол-во бутылок может меняться, а кол-во воды в них - нет! ну вот вылилось у нас из трубы сто литров, а потребитель говорит - хочу 105 бутылок - на тебе 100 литров в 105 бутылках; потребитель говорит - хочу 95 бутылок - на тебе те же 100 литров в 95 бутылках - и в чём проблема?

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    для того чтобы координаты сэмплов стали другими, сигнал нужно реконструировать в непрерывный и передискретизировать заново в новой координатной сетке. Грубо говоря сделать апсемплинг и затем даунсемплинг к другой частоте дискретизации. Операция довольно тяжелая и проблематичная, особенно учитывая дробные коэффициенты преобразования. Без искажений сигнала и нагрузки на процессор тут не обойтись.
    "горе от ума" НЕ ВЫДУМЫВАЙ ПРОБЛЕМЫ НА РОВНОМ МЕСТЕ, ничего не нужно "реконструировать", нужно сразу КОНСТРУИРОВАТЬ с другой сеткой - ведь с какой-то всё равно нужно

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    корежит при условии, что на входе дискретизатора присутствуют частоты выше Fs/2 (ну или ниже, с учетом фазы).
    Если полоса сигнала на входе дискретизатора скажем 1/10 от полосы дискретизатора, то ничего не корежится (в пределах разумного).
    у всех разные "пределы", в моих - "корёжится"
    Прихожу без разрешения, сею смерть и разрушение...

  5. #4

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    "горе от ума" НЕ ВЫДУМЫВАЙ ПРОБЛЕМЫ НА РОВНОМ МЕСТЕ, ничего не нужно "реконструировать", нужно сразу КОНСТРУИРОВАТЬ с другой сеткой - ведь с какой-то всё равно нужно
    вот мне и интересно - как это делается?

    Пусть частота Z80 Fclk=3504000 Гц. Звуковая карта Fs=48000 Гц. Т.е. без подстройки нам нужно просто наложить ФНЧ и сделать децимацию с коэффициентом x73. Итого получаем 3504000 / 73 = 48000 Гц. Пока всё красиво.

    Далее, допустим мы намеряли, что нам нужна частота дискретизации 47999.357 Гц. Но у нас есть возможность делать децимацию с коэффициентом 72, 73 или 74. Соответственно мы можем получить 48666.66(6) Гц, 48000 Гц или 47351.351 Гц. Требуемая частота в этот ряд не вписывается, т.к. разрешение координатной сетки сэмплов на частоте Z80 3.5 МГц недостаточно, нужно делать апсэмплинг до более высокой частоты дискретизации. А это уже приличная нагрузка на процессор.
    Последний раз редактировалось ZXMAK; 10.03.2025 в 12:08.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #5

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,970
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    316
    Поблагодарили
    239 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMAK, есть такое слово - "интерполяция"
    Прихожу без разрешения, сею смерть и разрушение...

  7. #6

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    есть такое слово - "интерполяция"
    Да. Но беда в том, что скорости самых топовых процессоров не хватит делать её для сигнала с частотой дискретизации 3.5 МГц.

    Цитата Сообщение от Titus Посмотреть сообщение
    Не надо так воспринимать задачи 'в лоб'. У всего есть адекватные по времени методы.
    так это-ж самое интересное и есть - какие именно методы?
    Последний раз редактировалось ZXMAK; 10.03.2025 в 12:48.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  8. #7

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    так это-ж самое интересное и есть - какие именно методы?
    Я понимаю, что тебя в твоем эмуляторе сейчас интересует именно эта тема, но меня нет. И я даже заморачиваться пока не хочу над этим) Придет время писать фильтр, тогда и посмотрю, как сделать лучше)

    - - - Добавлено - - -

    Кстати, если мне будет не хватать для чего-то вычислительной мощности процессора (что вряд ли), можно перенести вычисления на вычислительные шейдеры графического процессора.
    Как раз фильтры хорошо на нем делаются.
    Вернее, дать пользователю выбор в настройках, на чем вычислять, на CPU или на GPU.
    Например, сканлайны у меня сейчас считаются на шейдерах, что разгрузило процессор.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор УКНЦ - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 1198
    Последнее: 07.05.2025, 13:34
  2. Эмулятор МС-0515 - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 143
    Последнее: 09.02.2023, 10:44

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •