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

User Tag List

Страница 220 из 278 ПерваяПервая ... 216217218219220221222223224 ... ПоследняяПоследняя
Показано с 2,191 по 2,200 из 2779

Тема: Xpeccy

  1. #2191

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

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    да и я щитаю что тупое сумирование всех значения вполне допустимо
    Вообще-то нет. Downsampling при эмуляции звуковых чипов существовал очень давно. Без этого beeper'ный звук нормально не будет звучать. И в Unreal фактически с зарождения, и в Ay_emul, да даже в Z80Stealth такое уже было.
    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    тем меньше будет алиасинг...
    Альясинг тут вообще не столько важен, сколько достоверность передискретезированной звуковой волны. Важно чтобы АЧХ сохранялась (а она сейчас поломана), и важно чтобы отражения гармоник не создавались (а оно было до изменений). И то и другое - плохо. Без корректного фильтра децимации для оверсамплиного сигнала получится ***** с разными оттенками. В Unreal идёт оверсамплинг в 64 выборки, и КИХ фильтр на 128 значений. В Ay_emul то же самое (кто у кого заимствовал - ХЗ). Но алгоритм хитрый, он не просто все 128 значений фильтра обрабатывает. Он учитывает что исходный сигнал - достаточно статичный. Т.е. либо есть напряжение, либо нет, без промежуточных значений. И имеет таблицу с заранее вычесленными значениями для разного положения "перехода" в окне оверсэмпла (точнее, там псевдо-оверсэмплинг).
    Сам Sinc filter такой:
    Код:
         -^-
        /   \
       /     \
    _-`_______`-_
    А filter_diff для вычисления итога такой:
    Код:
               __
            .-`
           /
          /
         /
        /
       .
    _-`__________
    При множественных переходах через 0/1 внутри одного окна (т.е. при "децимации" значений), соответствующие значения из таблицы то прибавляются то вычитаются.
    Хотя лично мне того что в Unreal и ay_emul более чем хватает, это - далеко не идеальный вариант. Ayumi всё-таки звучит намного "чище".



    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    первые n (0...4095) значения в выходное значение 1
    вторые n (4096...8191) значение в выходное значение 2
    Извини, но ты какую-то фигню придумал.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    хотя аффтар сам такое морозит что просто...
    Для тех кто в танке - это описание разницы при переключении опции ay_emul (Avarager/FIR filter).
    Последний раз редактировалось Dexus; 31.08.2020 в 21:39.

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

  3. #2192

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

    По умолчанию

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

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

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

    кстате до всей упомнутой тут фигни
    мну дошел и сам фиг знает когда
    а только потом уже узнал что оно уже изобрели и используют...
    наверно пушо эти гандоны не могут нормально по людски описиать
    надо же элементароные вещи обфусцировать в такую ничитаемую формулу
    чтоб никто кроме математиков не выловил из нее никогда сути


    правда вместо блекманхарисоновских оконных функций
    я юзать 1 период синусоиды + 1
    Последний раз редактировалось NEO SPECTRUMAN; 31.08.2020 в 21:51.

  4. #2193

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

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    сам говоришь что он не важин
    Я видимо не понимаю про какой алиасинг со значениями 0-4095 и 4096-8191 ты говоришь.

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    это ты предлагаешь килотонны расчетов на fpu
    Я никакие килотонны не предлагаю. Ayumi прекрасно работает на джаваскрипте с минимальным сжиранием CPU. Аюми был бы идеальным вариантом. Пока (вроде) нет ни одного эмулятора у которого бы фильтрация была бы настолько качественной. И сабж мог бы им стать. Но видимо тут большинству (как и автору) медведи непрерывно польку танцевали на ушах, и разницы в качестве вообще никакой не слышат. Sadly.
    Так даже вариант от Unreal, который свёртку итерационно не делает, а использует предвычисленные значения из LUT, и огромного количества вычислений не требует.

    Про Ay-emul я немного насвистел. Не помню откуда у меня в голове инфа что они с Unreal используют схожую схему (видимо где-то прочитал)... Сейчас посмотрел - схожа она только в режиме Avarager от ay-emul, а в FIR там какая-то лютая арифметика с асмовскими вставками идёт (при этом результат хуже чем у ayumi получается).
    В Unreal вся эта кухня происходит в eDeviceSound::flush() https://github.com/darvin/unreal-spe...sound.cpp#L104 , который "размазывает" "текущие" значения из mix_l/mix_r по аудиобуфферу с учетом оверсамплинга (в каждом из 44100 значений выходного буфера имеются 64 _виртуальных_ tick-а). Я это с такой уверенностью говорю, потому что сам ковырял Unreal, приделывая к нему TFM 15 лет назад, и не сразу вообще впёр в то как он рендерит звук.

    ===добавлено===
    Немного поизучал и обнаружил что тот факт, что Ayumi заточен на воспроизведение AY данных с восьмикратным оверсэмплингом, и это делает его способным на воспроизведение только обычных AY-треков. Т.е. тот же Atarin он не способен нормально воспроизвести (это надо с ним прилично шаманить, чтобы он такое смог). Алгоритм из Unreal чем-то похож на Avarager из ay-emul, только в последнем идет линейная интерполяция, а в Unreal с некоей фильтрацией, т.е. более качественный итог, который прекрасно и бипер фильтрует.
    Последний раз редактировалось Dexus; 31.08.2020 в 22:52.

  5. #2194

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

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Извини, но ты какую-то фигню придумал.
    ну например вот сделал такой 48х ресамплинг


    оригинал 384КГц
    меандр почти без алиасинга
    частотой 100...10000Гц



    а вот оно же в 8КГц (могли уплыть частоты тк *****код)
    тупым суммирование по 48 семплов

    конечно алиасинг есть
    и его прекрасно слышно

    ну и чем выше частота тем меньше от нее следов


    ну это явно на много лучше чем выборка только отдельных семплов

    такое чувство что в ZEsarUX-е именно так

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

    ну и так для сравнения


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



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

    ну и сам алиасинг
    на "низких" он то есть


    а на "высоких" он уже неплохо срезан (например на биперах)


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

    а вот фильтрация квадратным окном по такому алгоритму
    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    sum = sum - b1 + b6
    out = sum/5

    sum = sum - b2 + b7
    out = sum/5
    до


    после


    начисто не режет
    но зато быстро без 32К умножений на 1 семпл


    интересно выглядит "отфильтрованный" меандр
    Последний раз редактировалось NEO SPECTRUMAN; 31.08.2020 в 23:28.

  6. #2195

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

    По умолчанию

    NEO SPECTRUMAN,
    И на втором твоем скрине прекрасно _видно_, что помимо отражения гармоник от частоты найквиста происходит гашение верхов (интенсивность полосы заметно падает при движении вверх, чего нет на первом, с убер-оверсамплингом). На нижнем рисунке, кстати, тот же. Вместо резких границ меандра — сглаженные треугольники. Верха обрезаются. Так нельзя.

    Это то, что в сабже сейчас и есть — линейный «фильтр», который отчасти устраняет отражения гармоник (артефакты от отбрасывания выборок), но в то же время убивает высокие частоты. А должен быть фильтр такой, чтобы и отражения убирал, и высокие частоты не давил.

    В статье про аюми про эту децимацию и пишут (резкий НЧ фильтр оверсампленного сигнала). Т.е. все отраженные частоты, гармоники выше основной частоты, просто красиво отсекаются.
    Последний раз редактировалось Dexus; 01.09.2020 в 00:48.

  7. #2196

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

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Верха обрезаются. Так нельзя.
    РУКА ЛИЦО

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

    на моих примерах ресамплинга
    там вообще частота тона 100-10000 заходит за частоту найквиста
    частота после ресамплинга 8000Гц
    КАКИМ ХРЕНОМ ОНА ДОЛЖНА ОСТАТЬСЯ
    если максимально ФИЗИЧЕСКИ возможная частота 4000Гц?

    и хороший ресамплер эти частоты должен срезать
    а не отражать

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

    кстате вот пофильтровал жестко песочный бипер
    тем квадратным FIR фильтром с частотой среза 8К
    мож послушать что получается и разнитсо

    https://dropmefiles.com.ua/ru/EZXPTVeK

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

    Цитата Сообщение от Dexus Посмотреть сообщение
    В статье про аюми про эту децимацию и пишут (резкий НЧ фильтр оверсампленного сигнала). Т.е. все отраженные частоты, гармоники выше основной частоты, просто красиво отсекаются.


    а это чо за провал на верху по твоему?


    без потерь высоких никак
    тк в любом случае вылезет алиасинг...

    тк ну не могут нормально быть ровными 20КГц+ синусоиды
    при частоте дискретизации 48КГц
    физически ну некак
    они уже там в виде треугольника...

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

    Цитата Сообщение от Dexus Посмотреть сообщение
    Это то, что в сабже сейчас и есть — линейный «фильтр», который отчасти устраняет отражения гармоник (артефакты от отбрасывания выборок), но в то же время убивает высокие частоты. А должен быть фильтр такой, чтобы и отражения убирал, и высокие частоты не давил.
    кстате с таким же успехом в реале на выходе динамик (который сам не плохо срезает)
    перед котороым вообще стоит фильтр (который вообще может жестко срезать нахрен все)
    и это все отбрасывает высокие на порядок больше
    (слушаем записи бипереов с реалов и сравниваем со своими скрепучими эмуляторами
    и смотрим где высоких больше)

    а если высокие оставить как есть
    долго этот песок не послушаешь
    ибо на свистит в уши так что...
    Последний раз редактировалось NEO SPECTRUMAN; 01.09.2020 в 01:55.

  8. #2197

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

    По умолчанию

    NEO SPECTRUMAN,
    >верха срезаются при ресамплинге в любом случае
    Уже с 200Гц судя по второму скрину идет падающий градиент.

    >а это чо за провал на верху по твоему?
    Где провал? Ты часом ниспадающую амплитуду гармоник за «провал» не посчитал?
    При изменении частоты у тебя идет изменение амплитуды (а гармоники всегда тише).

    >и это все отбрасывает высокие на порядок больше
    Вздор. Ничего там не отбрасывается.

    С кем я разговариваю?
    Очевидно, с тем, кто считает что линейная свёртка - это "ок". Думаю, на этом можно закончить, отправив читать про звук, акустику и фильтры.
    Последний раз редактировалось Dexus; 01.09.2020 в 06:05.

  9. #2198

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

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    С кем я разговариваю?
    Цитата Сообщение от Dexus Посмотреть сообщение
    Где провал?


    ЧОТА В УПОР НЕ ВИЖУ SIN/1+SIN/3+SIN/5+SIN/7... ПО АМПЛИТУДЕ ГАРМОНИК

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

    Цитата Сообщение от Dexus Посмотреть сообщение
    что линейная свёртка - это "ок".
    Для многих задач до

    конечно есть еще конченные аудиофилы
    которые слышат то в что они верят

    хотя КОНЕЧНО с тем что нормальный фильтр звучат лучшо я соглашусь


    кстате а где пример как это мерзкое аюми
    переносит частоты больше частоты найквиста

    реквестирую проаюмленную вавку со всеми частотами AY-ка
    от 1 до 4095
    только не говорите что ее таки нет...

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

    Цитата Сообщение от Dexus Посмотреть сообщение
    Уже с 200Гц судя по второму скрину идет падающий градиент.
    1. уточняй где именно второй скрин
    2. ну дык я и не отрицаю что добротность у такого фильтра никакая
    но с таким же успехом я не вижу смысла сохранять все до 24КГц не тронутым
    это как раз не тот случай когда эти частоты так нужны
    Последний раз редактировалось NEO SPECTRUMAN; 01.09.2020 в 06:22.

  10. #2199

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

    По умолчанию

    NEO SPECTRUMAN,
    > где именно второй скрин
    С предыдущего большого поста с кучей картинок. С №2195.
    > сохранять все до 24КГц не тронутым
    Хотя бы до 10кгц оставлять нетронутыми. Если бы падение было только как на процитированных скринах (там выше 17кгц идет вниз, причем на первом и на втором разные диапазоны - влоб их сравнивать нельзя) — былобы прекрасно, и вопросов бы не возникло. А тут падение от 250Гц идет. Меандра вообще нет, он весь сглажен до треугольников.
    Последний раз редактировалось Dexus; 01.09.2020 в 06:49.

  11. #2200

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

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    С предыдущего большого поста с кучей картинок. С №2195.
    > сохранять все до 24КГц не тронутым
    Хотя бы до 10кгц оставлять нетронутыми. Если бы падение было только как на процитированных скринах (там выше 17кгц идет вниз) — былобы прекрасно, и вопросов бы не возникло. А тут падение от 250Гц идет. Меандра вообще нет, он весь сглажен до треугольников.
    угу
    так то вообще примитивнейший алгоритм
    на который ты сказал
    Цитата Сообщение от Dexus Посмотреть сообщение
    Извини, но ты какую-то фигню придумал.



    сам же fir фильтр c квадратным окном (который "делает меандр треугольным")
    при частоте среза в 6КГц (по крайней мере я на это надеюсь : )
    дает куда лучший результат

    смотри заметный спад только в районе 3,5 КГц

    надо будет еще посмотреть на АЧХ всей этой фигни
    но это потом

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

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

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

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

Ваши права

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