• avatar Shiru
  • 0
У меня нашёлся реальный SAA. Но только сам чип, без компьютера, куда он был бы воткнут. Но есть Arduino, логика и какие-то кварцы, могу собрать тестовое устройство и прогнать тесты. Но для этого нужны сами тесты, и вообше кто-то, заинтересованный в выяснении конкретных моментов и проведении тестов, и прочего. т.к. мне самому заниматься эмуляцией с нуля или доработкой эмуляторов SAA пока некогда и не очень интересно.
Нужно сделать хороший разнообразный тест, который можно писать с реала и сравнивать с эмуляторами. Как был в допотопные времена ACID TEST для браузеров.
На сайте Мика заявлено не меньше ста экземмпляров плат. Не для себя же он их делал столько. Ну а реально можно попросить Velesoft-a зачинщика всего. Хотелось бы увидеть и услышать, как на реальном Купе это проигрывается. Да и эмулю тоже есть вопросы))))
Добавил пару ссылок вверху. Как всегда пятидневок.
  • avatar VBI
  • 0
сенкс за чек ТС!
Кстатида, пользуясь случаем, хочу поблагодарить Shiru за цикл тестов о точности эмуляции Радио 86РК, и в частности ВГ75 и конечно за исходники этих тестов. В том числе и с помощью этих тестов отлаживалась verilog модель ВГ75. Все познаеЦЦа в сравнении. Спасибо.
Соглашусь с каждым словом. Особенно со словами о точности эмуляции внутренней логики чипа. Вот для того, чтобы эти неточности были более и явно заметны, я и изобретал чисто для себя машину времени велосипед генератор тестовых сигналов звуковой частоты :) Инструмент для проверки правильности постройки данного чипа в отдельно взятом ФПГА. Камертон. А вот то, что этот «камертон» по разномуу звучит на конкретном рояле и трех, хороших, пианинах — это проблемы инструмента?? Сойдемся на том, что это просто-напросто мини-демо, воспроизводящееся на разных машинах со своими, неповторимыми нюансами. Не более. Для моих целей эта подделка вполне подходит *взял с полки пирожок, без спроса*. А других то и нету, чтобы явно сказать «Баа!!! Да у тебя же 5 бит в envelope вообще лажает и не задействован!» Я прав или прав или прав?©
  • avatar Shiru
  • 5
Я про то, что для дискуссии о точности эмуляции желательно представлять, что мы, собственно, эмулируем. Т.е. хорошо знать устройство чипа и процесс эмуляции. И когда такое понимание есть, подобные оговорки просто не возникают, им неоткуда придти в голову.

Касательно точности эмуляции есть всего два основных момента. Первый — точность эмуляции внутренней логики чипа. Действие битов микшера, предельные моменты типа нулевого делителя. Ошибки в логике чипа ведут к неправильному звучанию музыки, в большинстве случаев это проявляется очень явно. Пока они присутствуют, дальше углубляться в точность нет смысла. Для начала чип должен просто правильно работать. Второй момент — точность параметров типа характеристик ЦАП и алгоритма генератора шума. На мой взгляд, это наименее значительная из всех проблем эмуляции, т.к. слабо заметна ухом и не так уж сильно влияет на звук (разница между AY/YM в основном не в характеристике ЦАП, а в логике огибающей, имеющей двойное разрешение).

Но самый главный фактор, что всегда выдаёт эмуляцию и вносит заметную разницу в звучание — проблема передискретизации, т.е. ресэмплинга. Она принципиально неразрешима (у чипа нет частоты дискретизации, у звуковых карт есть) и всегда даёт те или иные артефакты, хорошо заметные уху. Есть разные способы приблизить звучание к правильному — апсэмплинг, фильтры, band-limited синтез или трюки для приближения к нему (типа приклеивания кусочков транзиентов). Но всё это не имеет отношения к собственно эмуляции чипов, один и тот же ресемплер можно использовать с разными эмулируемыми чипами, и наоборот.
Нужен кто-то с реальным SAA.
Можно слушать только шумы, или чистый синус, или огибающие, или комплексно.
Все же в моей фразе ключевое слово «чистый», а не 'синус'? в смысле без примесей огибающих и шумов. Ну да, ошибся, надо было сказать — чистый меандр, или «сигнал, наиболее приближенный к прямоугольному импульсу»? Схоластика.
Сгенерировал тестовый паттерн? простенький, и прогнал через джва эмуля. Если вы считаете, что звучЯт совершенно идиентично — ну что ж, тогда я испанский летчик Сент Экзюпери и мне пора на битву экстрасенсов.
rgho.st/8gBbsDLPQ
  • avatar Shiru
  • 2
Простые чипы типа AY или SAA генерируют только меандр с заполнением 0.5, то есть квадратную волну. Это так и задумано, и на выходе должен быть именно меандр. Мысли о синусах в этом случае отношения к делу и к точности эмуляции не имеют. Синус (когда-то было) относительно сложно генерировать в цифровой технике, а универсальность его в музыкальных целях низка за отсутствием гармоник, поэтому он встречается только в более поздних, более сложных чипах, и обычно как дополнение к прочим возможностям (SID, SCC, N106, FM-чипы).
  • avatar tsl
  • 0
Из любого теста (С++/верилог) ты можешь получить выхлоп в виде файла, содержащего вейвформы и сравнивать их.
Любые другие варианты сравнения «точности эмуляции» годятся только для передачи «Битва экстрасенсов».
Под чистым синусом я имел в виду, что программим один канал например на 440 Гц или 1кГц для ровного счета, без шумов и огибающих. Выводим, на осциллограф\спектроанализатор\wav файл. А там уж смотрим что, получилось — частоту и формуу, насколько близко экстраполировалось к идеалу. До аналоговых генераторов типа Г3-36 думаю будет далеко. Но и такая точность не требуется же?? Или AY может идеальный синус генерить? кпримеру. Из меандра
  • avatar Shiru
  • 0
Как-то сложно говорить о точности эмуляции, если исходить из предположения, что SAA1099 играет чистый синус.
  • avatar tsl
  • 0
но автор(-ы?) сказал(и), что, цитируйю, «Тестировать не пойми как эмулятором — не дело»
Автор/ы сказал/и, что ключевые слова «не пойми как», а не «тестировать эмулятором». Дословно, авторы сказали: выковыряй либу, напиши несколько тестовых посылок в порт и протестируй их на либе и на этом ихнем верилоге. Авторы имели в виду — тестировать не на слух, а при помощи юнит тестов.
В сухом остатке так сказать и по итогам?
По ФПГА- реализации — безусловно корка от Sorgelig-a. Единственное, что меня там смущает — уровень громкости каналов чистых и с огибающей. С огибающей звучат заметно тише, может так и должно быть, а может надо поднять. Но для этого надо дорисовать синтетический тест с envelope и сравнить с реальным SAA1099, но у меня его нет, все мои Спектрумы без nemo-bus, а колхозить на монтажке не очень хочется. Обхожусь дев-бордами.
Вариант корки от МакЛеода вполне можно починить. У него те же проблемы с envelope, который звучит даже в выключеном состоянии. Что то видимо с миксером итоговым. Та же проблема в эмуле Xpeccy присутствует.
в тс-анриле я бы тоже сказал, что каналы с огибающей работают несколько, хмм, необычненько. Но доказать то я этого не могу, а там просят пальцем показать, где именно подправить :(
Я равняюсь или на старый Анрил, ну или для надежности на SimCoupe, там то надеюсь эти проблемы давно выкопали.
По портам тоже. Порты больше для наглядности процесса. Особенно смущают порты noise, во всех мануалах написано, что задействованы биты 0,1 и 4,5 в 16 канале, а судя по индикатору там и 6,7 биты меняются. Вариантов как минимум джва — или косячит проигрыватель, не то показывает\заносит, ну или действительно эти биты реально в музыке используются. Да, и третий вариант — косяк ETracker-a. Но к шумам у меня как то меньше претензий.
Ну а с ZXTune — елси там есть возможность отключать каналы, то вот можно и сравнивать, а так то только по общему впеЧАТленийю — насколько режет слух та или иная композиция.
А в финале-то удалось разобраться с проблемами эмуляции? Может записать тесты с эмуляторов и посравнивать форму сигнала, потому что не факт, что то, что эмулятор репортит о состоянии портов, совпадает с тем, что он реально воспроизводит.

В каком эмуляторе сейчас самый точный звук? Как с этим обстоят дела у ZXTune?
Тсссс… Еще немного и <Роскомнадзор>!
  • avatar Nuts_
  • 0
На бендикаме кнопка «купить» более заметная ;)
Я их путаю :)
  • avatar tsl
  • 1
Дай, думаю, и сюда напишу. Вот:
отдайте marinows.ADF! ))