Важная информация

User Tag List

Страница 219 из 278 ПерваяПервая ... 215216217218219220221222223 ... ПоследняяПоследняя
Показано с 2,181 по 2,190 из 2779

Тема: Xpeccy

  1. #2181

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Потому что это и есть wave rendering данных AY.
    Это рендеринг данных с любого звукового устройства, а не только с AY. Как минимум, у тебя есть ещё бипер и звуки с мофона. На NES и GB нет AY, а звук как-то рендерится. Чудесато, да?
    Цитата Сообщение от Dexus Посмотреть сообщение
    Как я это попробую? Сколько не пытался - не собирается
    Какие сложности возникают?
    Все любят гипножабу

  2. #2182

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,091
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    152
    Поблагодарили
    100 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    На NES и GB нет AY, а звук как-то рендерится.
    Да, конечно, и TurboFM тоже имеется, но писать свой рендерер ты вряд ли осилишь, а взять уже имеющийся - можно. Только вот генерировать FM с выходом на 3.5Мгц - нафиг оно кому нужно? FM в таком "дигитальном" режиме никогда не используется, и тратить на это ресурсы нет надобности. Как и с AY. Рендерить AY с частотой в 3.5Мгц, а потом прогонять через фильтры необходимость бывает только если это дигитал какой-нибудь. В том же AY_Emul есть два вида рендеринга звука, аккуратный и нет. Аккуратный - как раз с последующей КИХ-фильтрацией, и жрет больше CPU чем "быстрый". В большинстве случаев разница не особо слышна (потому что частота переключения данных регистров AY - 50Гц).

    Вот "правильная" таблица фильтров https://github.com/darvin/unreal-spe...sound.cpp#L178
    Нужно что-то подобное. А не простое математическое усреднение как у тебя https://github.com/samstyle/Xpeccy/b.../sound.cpp#L47.

    Можно было бы заюзать https://github.com/avaneev/r8brain-free-src
    Последний раз редактировалось Dexus; 31.08.2020 в 18:11.

  3. #2183

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Вот "правильная" таблица фильтров
    И чё мне делать с этой таблицей? Развивай мысль, мне лень что-то гуглить.

    PS: Делаю всё на энтузиазме (читать как: хочу - делаю, не хочу - не делаю), без какой-то отдачи со стороны юзеров. Поэтому когда появляется визгливые истерички, пытающиеся от меня требовать, не предлагая ничего взамен, я шлю их нахер.
    Последний раз редактировалось SAM style; 31.08.2020 в 18:25.
    Все любят гипножабу

  4. #2184

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,091
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    152
    Поблагодарили
    100 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    И чё мне делать с этой таблицей?
    Читать контекст (код). Читать что такое КИХ-фильтры. Читать статью про ayumi из первого сообщения issue. Просвещаться. Исправлять стыдный звук.

    Цитата Сообщение от SAM style Посмотреть сообщение
    Поэтому когда появляется визгливые истерички,
    Вот поэтому (из-за такого отношения и обращения) и забил.
    Лучше не трогать то что воняет, прокрастинируй дальше.
    Спасибо за труды.
    Последний раз редактировалось Dexus; 31.08.2020 в 19:33.

  5. #2185

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Лучше не трогать то что воняет, прокрастинируй дальше.
    Спасибо за визит, приходите ещё.
    (лень гуглить)
    Все любят гипножабу

  6. #2186

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    и тратить на это ресурсы нет надобности. Как и с AY. Рендерить AY с частотой в 3.5Мгц,
    а потом как в ZEsarUX-ах
    не AY а сплошной алиасинг

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

    Цитата Сообщение от SAM style Посмотреть сообщение
    (лень гуглить)
    по fir фильтрам
    попробую обьяснить как понимаю мну


    вот наглядная картинко


    на x вход
    на y выход

    а суть такова

    что мы движемся по буферу окном (для примера 3 входа)

    вот так
    Код:
    220000222200 <- буфер
    ===        <-окно
    умножаем входное значения для каждого входа окна на свое значение

    например так
    *0.2 *0.6 *0.2

    тут как раз видим таблицу
    https://github.com/darvin/unreal-spe...sound.cpp#L178
    думаю что сюда можно подставить теже оконные функции что и для fft
    от размера окна и функции будет зависеть частота среза


    ну и сумируем результаты
    и кидаем на выход

    Код:
    220000222200
    ===
    
    0.4 1.2 0
    = 1.6

    ну и перемещаем окно на один шаг и все повторяем

    Код:
    220000222200
    ===                  0.4+1.2+0
    
    1.6
    
    
    220000222200
     ===                 0.4+0+0
    
    1.6 0.4
    
    
    220000222200
      ===                0+0+0
    
    1.6 0.4 0
    
    
    220000222200
       ===               0+0+0
    
    1.6 0.4 0 0
    
    
    220000222200
        ===              0+0+0.4
    
    1.6 0.4 0 0 0.4
    Последний раз редактировалось NEO SPECTRUMAN; 31.08.2020 в 20:38.

  7. #2187

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,091
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    152
    Поблагодарили
    100 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а потом как в ZEsarUX-ах
    Раньше не приходилось запускать этот эмулятор кроме как на малинке. Запустил.
    Извиняюсь, но равняться на него как-то даже ничего не поднимается. Отвратительный эмулятор этот ZEsarUX. Уж лучше Спектакулятор. Ни нормального отладчика, ни даже меню (а рисовать в графике самого спека - концепция может эстетичная, но совершенно непрактичная), не говоря уж о качестве эмуляции звука (который похоже на 11025 рендерит). О честном выводе анимации (бегущих строк) в 50Гц тоже никакой речи нет. Очень некачественное изделие.
    Последний раз редактировалось Dexus; 31.08.2020 в 20:35.

  8. #2188

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Отвратительный эмулятор.
    так я это и имел ввиду
    что на фоне такого гофна тут все отлично

    да и я щитаю что тупое сумирование всех значения вполне допустимо

    вот только тупо сумировать тоже желательно пошагово окном
    (в случае если просто фильтр а не ресамплинг)

    хотя при большом количестве входящих данных (ресамплинг)
    вполне можно сразу
    первые n (0...4095) значения в выходное значение 1
    вторые n (4096...8191) значение в выходное значение 2
    и чем больше данных сразу усредняется
    тем меньше будет алиасинг...

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

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    ну и перемещаем окно на один шаг и все повторяем
    не знаю как фильтруется у тя

    но можно попробовать вообще фильтровать целочисленно квадратным окном

    вот таким образом
    Код:
    1-й шаг (можно пропустить но тогда фильтр "заведется" на 5 семплов позже : )
    вощем тупо заполняем b1...b4  нулями :)
    
    sum = b1+b2+b3+b4+b5     ;b1....bn значения буфера
    out = sum/5
    
    последующие шаги
    
    sum = sum - b1 + b6
    out = sum/5
    
    
    sum = sum - b2 + b7
    out = sum/5
    дешево и сердито
    но будут искажения
    Последний раз редактировалось NEO SPECTRUMAN; 31.08.2020 в 20:53.

  9. #2189

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    умножаем входное значения для каждого входа окна на свое значение
    например так
    *0.2 *0.6 *0.2
    Ну, т.е суть такова - не просто засуммировать и усреднить, а засуммировать с коэффициентами (по форме такая волна к центру зоны), сумма которых будет 1. В таблице из анрила их 128, но мне так кажется, что у моего эмуля рожа треснет с такой дискретизацией.
    Все любят гипножабу

  10. #2190

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SAM style Посмотреть сообщение
    Ну, т.е суть такова - не просто засуммировать и усреднить, а засуммировать с коэффициентами (по форме такая волна к центру зоны), сумма которых будет 1
    сумма пофиг какая будет
    главное чтоб в результате сумирования небыло переполнений и сильной потери точности

    можно и из однобитногго потока делать 16 бит...

    я бы делал вообще целочисленное умножение на 0...255
    с последующим сдвиговым делением суммы значений
    а то сильно жирные там расчеты


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

    Цитата Сообщение от SAM style Посмотреть сообщение
    что у моего эмуля рожа треснет с такой дискретизацией.
    мне кажотсо что Dexus предлагает фильтровать не все 3,5МГц семплов
    а прореживать самым примитивным алгоритмом в n раз
    а потом фильтровать результат такой фигней...
    по крайней мере я так понел
    или хрен его
    пушо с таким же успехом после такого фильтра
    можно и прореживать более примитвным алгоритмом
    тк таких высоких частоты уже не будет
    которые всплывут при алиасингке


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

    хотя аффтар сам такое морозит что просто...
    Цитата Сообщение от Dexus Посмотреть сообщение
    Аккуратный - как раз с последующей КИХ-фильтрацией, и жрет больше CPU чем "быстрый". В большинстве случаев разница не особо слышна (потому что частота переключения данных регистров AY - 50Гц).
    Последний раз редактировалось NEO SPECTRUMAN; 31.08.2020 в 21:27.

Страница 219 из 278 ПерваяПервая ... 215216217218219220221222223 ... ПоследняяПоследняя

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

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

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

Ваши права

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