Позорная эмуляция звуковых синтезаторов

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

Romanich
Banned
Posts: 608
Joined: 12 Oct 2006 16:44

Позорная эмуляция звуковых синтезаторов

Post by Romanich »

Приветствую всех!

Желая послушать старую Adlib'овскую музыку на своём новом компе,
не имеющим FM-синтезатора (звучка AC'97) я качнул плагин к Винампу (in-Adlib.dll v1.7).
Этот плагин позволял прослушивать много Adlib'овских файлов (d00,a2m,rad,sdb и пр.)

Каково моё было удивление, что большинство музыки вообще звучало не так как надо!
Это что-то невыносимое! Часть файлов вообще не открывалось :(

Далее скачал KBMedia Player и Adlib-plugin к нему. Там такая же фигня!

После этого включил свой старый комп с карточкой
ESS Solo 1969, в DOS'е запустил Adlib Tracker2 -
там всё сразу заработало как надо!

Вопрос ко всем - ДО КАКИХ ПОР ЭМУЛЯЦИЯ FM-СИНТЕЗАТОРОВ БУДЕТ ТАКОЙ ГОВЁННОЙ???
ТАК НЕ ЛУЧШЕ ЛИ ИСПОЛЬЗОВАТЬ РЕАЛЬНЫЕ МИКРОСХЕМЫ СИНТЕЗАТОРОВ,
РАЗ МАТЕМАТИЧЕСКАЯ МОДЕЛЬ FM-СИНТЕЗАТОРА ТРУДНОЭМУЛИРУЕМА НА ВСЯКИХ ЦАП'ах?

Что скажут люди, которым довелось прослушивать Адлиб через плагины,
при этом ни разу не слушав звучание НАСТОЯЩЕЙ Адлибовской карточки?

Я уже молчу об эмуляции SSG (YM2149) на ZX Spectrum Sound Emulator'е
от Сергея Бульба. Он конечно - молодец, но до реалистичности ему ещё работать и работать!

Тоже касается SEG'овских GYM-ов и всем с ним связанное...
User avatar
Ball Bess
Maniac
Posts: 211
Joined: 14 Mar 2006 00:20
Location: Иркутск

Re: Позорная эмуляция звуковых синтезаторов

Post by Ball Bess »

Romanich wrote: Вопрос ко всем - ДО КАКИХ ПОР ЭМУЛЯЦИЯ FM-СИНТЕЗАТОРОВ БУДЕТ ТАКОЙ ГОВЁННОЙ???
ТАК НЕ ЛУЧШЕ ЛИ ИСПОЛЬЗОВАТЬ РЕАЛЬНЫЕ МИКРОСХЕМЫ СИНТЕЗАТОРОВ,
РАЗ МАТЕМАТИЧЕСКАЯ МОДЕЛЬ FM-СИНТЕЗАТОРА ТРУДНОЭМУЛИРУЕМА НА ВСЯКИХ ЦАП'ах?
Х.З.
А сам-то как думаешь? :D
Кто мешает тебе выдумать порох непромокаемый?
Romanich
Banned
Posts: 608
Joined: 12 Oct 2006 16:44

Re: Позорная эмуляция звуковых синтезаторов

Post by Romanich »

Ball Bess wrote:
Romanich wrote: Вопрос ко всем - ДО КАКИХ ПОР ЭМУЛЯЦИЯ FM-СИНТЕЗАТОРОВ БУДЕТ ТАКОЙ ГОВЁННОЙ???
ТАК НЕ ЛУЧШЕ ЛИ ИСПОЛЬЗОВАТЬ РЕАЛЬНЫЕ МИКРОСХЕМЫ СИНТЕЗАТОРОВ,
РАЗ МАТЕМАТИЧЕСКАЯ МОДЕЛЬ FM-СИНТЕЗАТОРА ТРУДНОЭМУЛИРУЕМА НА ВСЯКИХ ЦАП'ах?
Х.З.
А сам-то как думаешь? :D
Когда у цапов разрядность будет равна бесконечности :)
Тоже касается и частоты дискретизации
И наконец, самое главное - когда Ямаха даст эквивалентные схемы ВСЕХ своих звуковых чипов!
Romanich
Banned
Posts: 608
Joined: 12 Oct 2006 16:44

Re: Позорная эмуляция звуковых синтезаторов

Post by Romanich »

Romanich wrote: И наконец, самое главное - когда Ямаха даст эквивалентные схемы ВСЕХ своих звуковых чипов!
Тогда можно будет на ПЛИС'ах (ПАИС'ах) сделать :D
Shiru Otaku
Retired
Posts: 490
Joined: 16 Mar 2002 17:00

Post by Shiru Otaku »

Не надо бредить:) И FM-синтезаторы, и PSG/SSG - это чисто цифровые устройства, и никаких нерешаемых проблем в их программной эмуляции нет. Тем более, нет проблем с разрядностью DAC'ов на PC, т.к. у этих чипов она гораздо ниже (на порядки!).

Есть ряд других проблем.

Относительно FM-чипов - это отсутствие внятной документации. Людям, пишущим эмуляторы, приходится выяснять тонкости устройства этих чипов экспериментальным путём, а там всё довольно нетривиально.

Главной-же проблемой эмуляции звука подобных чипов является передискретизация (ресемплинг). Тот-же AY может генерировать частоту до Ftact/8, в случае с 1.77мГц это будет ~220кГц. При этом частоты выше порога слышимости могут использоваться для модуляции слышимых частот, изменяя громкость и тембр, при простых алгоритмах передискретизации возникают искажения (полностью их избежать нельзя). Когда появятся звуковые карты, поддерживающие частоту дискретизации выше 192кГц, часть проблем снимется сама собой.

Эмуляция YM2149 у Бульбы практически идеальна (учитывая указанную выше проблему, для минимизации которой он реализовал специальный фильтр). Его эмулятор иногда звучит _лучше_ реального чипа.

Эмуляция популярных FM-чипов также близка к очень приличной - это касается YM2203/YM2612 и прочих из этой серии. С OPL2/3 вроде ещё есть проблемы.

Однако, надо учитывать, что эмуляция чипа - это один вопрос, а реализация плееров различных форматов - другой. Многие проблемы у AdPlug'а - именно в реализации плееров. У GYM'а проблема всем хорошо известна (и я тебе, Romanich, её объяснял!) - он не sample-accuracy формат; + сами эмуляторы приставки могут работать не очень корректно, соответственно в лог могут идти просто неверные данные (или не с нужными таймингами).

Также, практически все плееры на PC (кроме тех, что эмулируют часть системы + чип, т.е. форматы типа NSF, GBS) не учитывают пауз между засылками в регистры эмулируемого чипа (которые всегда есть в реальной системе), что тоже может влиять на звук. Исключение - только sample-accuracy форматы звуковых логов (например, VGM), но опять-же - они создаются не реальной системой, а её эмулятором, который может иметь свои неточности.

Вобщем, разобрался-бы для начала в проблеме, а потом переходил к крикам;)
Romanich
Banned
Posts: 608
Joined: 12 Oct 2006 16:44

Post by Romanich »

Shiru Otaku wrote: Не надо бредить:)
Я и не брежу! Просто констатирую факт...
Shiru Otaku wrote: Эмуляция YM2149 у Бульбы практически идеальна...
Его эмулятор иногда звучит _лучше_ реального чипа...
Не сказал бы... В его эмуляторе слышутся лишние бузения, скрежеч - чего нет на реальном YM2149
Shiru Otaku wrote: Вобщем, разобрался-бы для начала в проблеме, а потом переходил к крикам;)
А чего разбираца-то? Это надо эмуляторщикам :wink:
Я уже давно проблему решил - юзать надо настоящие микрухи и воспроизводить "нормальные" форматы файлов, а не "сграбленные"