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

User Tag List

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

Тема: Нужны звуковые эффекты из Batty побитно

Древовидный режим

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

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    А звуковом редакторе нельзя обработать звуки? и сделать их более приятными и мягкими?
    Если эмулятор неправильный (без ФНЧ) - то нельзя. При отсутствии в эмуляторе ФНЧ его выходной аудиосигнал имеет специфические нелинейные искажения, известные под названием "Aliasing". Эти искажения необратимые, их устранить в звуковом редакторе или другим способом, в общем случае, невозможно.

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

    Цитата Сообщение от rst Посмотреть сообщение
    Какое отношение имеет ЦОС к вопросу нужности ФНЧ в эмуляторе - вообще не понял...
    Самое прямое. ЦОС отвечает на вопросы, что такое фильтр, зачем он нужен, и что происходит, если его не использовать, либо его параметры неподходящие.

    Эмулятор, генерируя звук, занимается цифровой обработкой сигналов, хочешь ты этого или нет. Даже если эта обработка с виду простая, и кажется, что ее вообще нет. Если знаешь теорию - то знаешь достоинства и недостатки применяемого метода обработки, и можешь при необходимости применить другой метод, свободный от нежелательных недостатков. Ну, а если не знаешь - то и получаются эмуляторы, которым медведь на генерацию звука наступил.
    Цитата Сообщение от rst Посмотреть сообщение
    Вопрос был про ФНЧ именно в самом эмуляторе.
    Да, именно в эмуляторе. Я и Ivagor говорили об одном и том же. В эмуляторе. Нужен. Фильтр. Обязательно.
    Цитата Сообщение от rst Посмотреть сообщение
    Так как ФНЧ в звуковом тракте хозяйской системы (Win) естественно и так имеется. Зачем ещё?
    Затем, что частота дискретизации исходного сигнала (состояния порта #FE) - 3,5МГц. Это во много раз выше частоты дискретизации выходного сигнала (44100 или 48000Гц на звуковой карте).

    Что будет, если при таком уменьшении частоты дискретизации не применять ФНЧ? Варианта 2.
    1) Если в исходном сигнале были частоты выше 22050 или 24000Гц - то будет алиасинг.
    2) Если в исходном сигнале высоких частот не было - то ничего не будет.

    Есть ли в сигнале бипера частоты выше 22050 или 24000Гц? Конечно есть. Простой пример - вычисли преобразование Фурье от прямоугольного сигнала на какой-нибудь звуковой частоте типа 440Гц. Количество гармоник будет бесконечным, так что и частоты выше 22050Гц будут. В дискретном случае, с дискретизацией на 3,5МГц, гармоники будут вплоть до 1,75 МГц.

    Что нужно сделать, чтобы в сигнале таких частот не было? Правильно, ФНЧ.

    ФНЧ надо применять до того, как звук будет преобразован к частоте дискретизации операционной системы. После - уже поздно. Поэтому то, что в ОС и где-то там еще есть фильтры - это не значит, что тебе свой фильтр делать не надо.
    Цитата Сообщение от rst Посмотреть сообщение
    Пример я слышу в своём эмуляторе - качество звука (субъективно) аналогично тому, что было в железном "Вектор-06Ц". Там ФНЧ можно считать, что тоже практически нет.
    Ключевые слова - "Субъективно" и "практически". Ты наверняка не измерял уровень искажений, а на слух не научился еще, к чему надо прислушиваться. А измерения провести просто.
    1) Выполняешь команду "BEEP" в бейсике, генерируя какой-нибудь музыкальный звук. Эта команда должна генерировать чистые прямоугольные сигналы нужной частоты.
    2) Сохраняешь звуковой файл из эмулятора
    3) Открываешь его в звуковом редакторе
    4) Смотришь спектральный анализ. Видишь спектральные пики не только на базовой частоте звука и ее гармониках, а еще и кучу лишних пиков где попало. Это и есть алиасинг.

    Если сделать в эмуляторе нормальный ФНЧ и повторить эксперимент - то спектральные пики будут только на базовой частоте звука и ее гармониках. На слух звук будет при этом чистым и звонким. Но я понимаю, для неопытного уха может быть непонятно, на какие аспекты звука надо обращать внимание.

    На железном же компьютере выходной сигнал аналоговый. В нем присутствуют, в том числе, ультразвуковые частоты вплоть до нескольких мегагерц. Но ты их не слышишь. А те, что слышишь (аудиочастоты) - они чистые и не содержат посторонних спектральных линий. Если, конечно, усилитель и колонки не совсем ужасные.
    Цитата Сообщение от rst Посмотреть сообщение
    Вот про это было бы интересно узнать - реализуют ли ФВЧ в своих эмуляторах авторы? Такое ощущение, что реализуют.
    Реализуют. ФВЧ тоже нужен. Но не так критично. Он нужен для удаления из сигнала постоянной составляющей и оптимального использования динамического диапазона выходного сигнала. ФВЧ первого порядка вполне достаточно. И этот ФВЧ может работать на последнем этапе обработки сигнала, уже на частоте дискретизации звуковой карты.

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

    Цитата Сообщение от rst Посмотреть сообщение
    Децимация тут не нужна. Достаточно сделать передискретизацию (ресэмплинг) на частоту аудио-потока хозяйской ОС. Что и делает мой эмулятор.
    Децимация - это частный случай передискретизации. Я думаю, автор имел здесь в виду то, что децимация также подразумевает использование соответствующего ФНЧ. Для высококачественной передискретизации (более общий случай) ФНЧ тоже, конечно, нужен.
    Цитата Сообщение от rst Посмотреть сообщение
    Передискретизацию можно делать разными алгоритмами. Мой эмулятор использует простейшую - кусочно-линейной интерполяцией.
    Кусочно-линейная интерполяция, если ее рассмотреть с точки зрения ЦОС, неявно применяет ФНЧ. Но это плохой ФНЧ, который недостаточно подавляет высокие частоты. Как следствие - алиасигнга становится меньше, чем если совсем без фильтра. Но все же он остается, и достаточно много. Качество звука все равно плохое.
    Цитата Сообщение от rst Посмотреть сообщение
    Думаю - этого вполне достаточно для эмулятора.
    Нет, недостаточно. С хорошим фильтром можно получить значительно лучшее качество звука, и разница будет явно ощутима на слух.
    Цитата Сообщение от rst Посмотреть сообщение
    А вставка сэмплов->ФНЧ->децимация - это тупое в лоб ("классическое") решение передискретизации. Которое практически применимо только если исходная частота и целевая частота - имеют примерно похожее разложение на простые сомножители. Что на практике редко бывает.
    Передискретизация и ФНЧ бывают разные. В том числе есть решения, комбинирующие ФНЧ и более сложную, чем кусочно-линейную, интерполяцию. Таким образом можно с высоким качеством передискретизировать сигналы с произвольным (в том числе иррациональным) соотношением исходной и целевой частот дискретизации. Рекомендую почитать следующую статью: Polynomial Interpolators for High-Quality Resampling of Oversampled Audio. Без соответствующей теоретической подготовки, может, и не все поймешь, но попробуй хотя бы реализовать оттуда пару-тройку алгоритмов.

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

    При теоретическом рассмотрении, в конечном счете, любая передискретизация может быть сведена к вставке нулей, потом ФНЧ, а потом выбрасыванию ненужных сэмплов. И именно так и следует теоретически рассматривать весь процесс. Но "в лоб" это делают редко, потому что слишком высокие вычислительные затраты. Как на расчет коэффициентов фильтра, так и на последующую фильтрацию.

    Есть множество способов оптимизировать реализацию фильтра и всего процесса после того, как выполнены теоретические расчеты. Применяются неявные фильтры (как в случае кусочно-линейной или полиномиальной интерполяции), интерполяция коэффициентов фильтра (структуры фильтров Фарроу), полифазное разложение. Можно воспользоваться кусочным постоянством фильтруемого сигнала (я это впервые в эмуляторном мире реализовал в 2002г). Можно рассматривать фильтрацию в непрерывном времени (хотя расчеты ведутся, казалось бы, для дискретного времени). После оптимизации алгоритмы перестают быть внешне похожими на какую-либо фильтрацию, особенно для несведущего. Но делают они именно ее. И делают эффективно.
    Последний раз редактировалось Barmaley_m; 08.12.2024 в 03:39.

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

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

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

Похожие темы

  1. Звуковые эффекты AY в играх
    от goblinish в разделе Игры
    Ответов: 31
    Последнее: 21.07.2015, 04:43
  2. Ответов: 24
    Последнее: 18.02.2015, 08:11
  3. Куплю звуковые чипы: YM2612, SN76489
    от evgs в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 25.08.2010, 14:33
  4. Batty
    от CityAceE в разделе Игры
    Ответов: 1
    Последнее: 14.03.2005, 05:55

Ваши права

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