Ну да, 'if we look', 'also notice the hard edges'. Интересно, а что произойдёт со СПЕКТРОМ сигнала, когда ты его линейно или ещё как проинтерполируешь? Кстати второй пример там некорректен, там явно есть частоты с F>8кгц.Сообщение от Shiru
Ну да, 'if we look', 'also notice the hard edges'. Интересно, а что произойдёт со СПЕКТРОМ сигнала, когда ты его линейно или ещё как проинтерполируешь? Кстати второй пример там некорректен, там явно есть частоты с F>8кгц.Сообщение от Shiru
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Нет, для действительно качественной передискретизации не нужна никакая интерполяция, ни с мегаточностью, ни с гигаточностью. Нужна просто правильная цифровая передискретизация и фильтрация. Какая - я уже писал. Всё остальное - один большой фейк, от неспособности ставить произвольную частоту семплирования =)Сообщение от Mike
И ещё в догонку - как интерполировать 37500/1.5=25000 Гц семпл в 37500 гц?
ну вы, товарищи, даёёёте :/ спорите о том, чего даже не видели, не то что слышали...
я ГС программил, и могу вам на 100% сказать, что:
1. Интерполяция там есть линейная (и не надо тут заливать по поводу послушать эмуль и сравнить басс.длл! если хотите - возтмите рифф трекер и послушайте семплы на низких нотах... да че там, на реальных ГС даже слышно, что она есть);
2. Не следует понимать "как успеется" в том смысле, что не хватит быстродействия. по-моему, это всего лишь означает, что она может проводиться через раз от семпла к семплу (по обьективным причинам, так как при "передискретизации", например, с 25000 на 37500, средний отсчет будет вставляться не всегда, ибо это невозможно, и это правильно);
3. Int в ГС приходит с частотой 37500Гц (гадаете тут че-то, даже не почитав написанные уже давно статьи в популярных журналах). Значения в ЦАПы выкидываются чтением из определенной области памяти. это удобно! там создается буфер готовых данных, т.е. именно тех, которые нужно выкидывать в ЦАПы с частотой 37500. и 320 тактов, для того, чтобы прочитать память... этого хватает;
4. А мод ГС интерпретирует тоже нормально. ему не надо укладываться в 320 тактов, у него времени вагоон! ему, главное, подготовить новый буфер до того, как проиграется старый (при коротких циклах в сэмплах он не успевает, а потому тормозит, и это тоже было задокументировани очень давно!).
что касается линейной интерполяции. по смыслу - это лажа! это неправильно! да, звук перестаёт звинеть, но это неправильно. ГС успевает её считать запросто, ниче сложного в линейной нет, по таблицам всё делается быстро (у меня в R.A.P.е в реальном времени тоже считается, всё путём). и всякие сплайновые интерполяции - это тоже лажа для звука!
а какая должна быть правильная интерполяция? читайте SE#2, статью про музыку. такое чувство, что многие из пишуших здесь ничего и не читали, а было столько полезного написано :/
Каков размер буфера подготовленных для вывода в ЦАПы данных? Я как не прикидывал, не получается у меня в рамках GS успеть интерпретировать модуль и подготовить буфер (да ещё чтоб с линейной интерполяцией)!Сообщение от psb
Автор эмуляторов Nescube, PocketZX.
а слабо полностью проэмулировать эмулятор, то есть играть mod/xm/s3m/it в режиме "высокоуровневой эмуляции"Сообщение от Shiru
![]()
![]()
unreal тоже самое делает, и ничего, особенно на процессор не жалуетсяСообщение от lvd
Скорости не хватит.Сообщение от SMT
А слабо YM2203 проэмулировать?Сообщение от SMT
![]()
![]()
![]()
SMT это сделать не слабо. Исходники эмуляторов почти всей линейки YM-чипов открыты (см. исходники MAME). Только смысл?Сообщение от lvd
А вообще, исходники US также открыты - так что бери и прикручивай, если действительно надо![]()
с ходу не могу сказать, но, думаю, удобно было бы делать буфер на 256 байт на каждый канал. т.е. один создаем, другой играем.Сообщение от Dr.Lion/RSM
интерполяция делается быстро, если по таблицам.
а что долгого в интерпретации модуля?
и это... исходники же открыты! прошивка тоже есть, посидеть часик-два - будут все ответы на твои вопросы...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)