Просмотр полной версии : Хочу выслушать мнения специалистов...
ILoveSpeccy
13.08.2008, 14:48
На днях наконец-то закончил писать VHDL-модель чипа AY-3-8910 :)
Понимаю, что уже накопилось достаточно много готовых, но надо было сделать самому... в общем это неважно.
Смешивал так:
левый канал = 100% A + 100% C
правый канал = 100% B + 100% C
Выход звука через PWM, а точнее Delta-Sigma-DAC по аналогии Application Notes XAPP154 от Xilinx
Запись делал на Creative SoundBlaster Live! 5.1 в формат MP3 с битрейтом 256kb/s.
Вот собсно из демы Echology (http://www.speccyland.net/uploads/echology.mp3) и микс из четырёх треков AY-Megademo 2 от AAA (http://www.speccyland.net/uploads/megademo.mp3)
Мне важно Ваше мнение по-поводу звучания. Лично я остался доволен.
скачал, послушал.
на моем компе рабочем и не самой лучшей акустике трек из эколонии звучит по моему отлично.
остался доволен, хотя более детально могу тока дома оценить.
Barmaley_m
13.08.2008, 20:46
Значит, смешивание ACB получилось, потому что канал С идет и налево, и направо. Почему не ABC?
Во-вторых, почему канал С идет 100% налево и 100% направо? Если сложить левый и правый канал (сделать моно), то получится, что канал С играет в 2 раза громче, чем A и B. Это неправильно. Надо чтобы AY-каналы A, B и C давали одинаковый вклад в звук, если смешать сигналы на стереовыходе.
Добавлено через 4 минуты
И еще. Основные сложности в эмуляции AY имеются при реализации огибающей. Поэтому в качестве тестовых записей надо приводить те, где огибающая интенсивно используется, например музыку из The Lyra 2 Megademo, Part 4.
Мне важно Ваше мнение по-поводу звучания. Лично я остался доволен.
А я пока воздержусь от коментария. Надо протестить те же мелодии на реале АТМ AY 8910. Я пока не буду этого делать, т.к., неразбериха с микрофаратами на моем звуке ухудшает качество выходного сигнала, но как только отремонтирую, обязательно запишу те же мелодии и выложу в том же качестве.
balu_dark
13.08.2008, 23:32
ну несколько вопросов и предложений к автору:
1.(предложение) попробуй записать тоже самое, но с 50% и с 75% центрального канала(по логике надо 50% давать но думаю все-таки 75 получится правильнее).
2.(вопрос) а не смотрел сорсы ямахи(имею ввиду звукового чипа) на опенкорес? думаю модель не очень должна отличатся от АУ.
3.(вопрос) а почему таки шим а не внешний ЦАП ?
4(вопрос) какой чип используеш и сколько LE получился проект? ну и в догонку- это отдельно эмулятор АУ или таки часть схемы спека на ФПГА?
P.S. с чисто субьективной точки зрения (для конкретных трэков) центральный канал выбран верно! но для любителей рекомендую оставить возможность менять конфигурацию ABC или ACB
Вот собсно из демы Echology
Замыленно. В оригинале звук звонче, более прозрачный.
Выкаладывай лучше WAV.
Ну и про огибащую тебя правильно сказали, для теста возьми треки Siril'a, Mmcm, Key-Jee, С-jeff'a например.
В оригинале звук звонче, более прозрачный.
Это точно, а я думал мне только показалось. Намного ярче на реале звучит AY MD2, которая 1 -я у тя играет в мелодии megademo.
Предложение/вопрос ламера.
А если сравнить его с реальным процессором чисто экспериментально?
То есть написать какие-нибудь базовые тестовые звучки и проанализировать что на выходе, сравнить сигналы.
Вот, например, завести на осциллограф со Спектрума и звуковухи ПЦ и смотреть отличия.
Вот (http://narod.ru/disk/2003696000/ay2ksamusic.rar.html) мелодия которая звучит 1 ой в музоне megademo:
Записана в вафе, сами конвертите куда Вам надо.
Переконверчаная в mp3 256 (http://narod.ru/disk/2003735000/ay2ksamusic%20(copy%202).rar.html)
Я пока микрофарат не поменял на звуке, поэтому может кто то услышит что то не то.
Музыка записана на аудиджи 4, в формате 48000, 16 бит. Комп АТМ Турбо 2 AY 8910!
На мой слух - ярче раза в два чем выложеная в теме.
мелодия которая звучит 1 ой в музоне megademo:
Это не совсем то, что нужно.
Допустим, наложит он две осциллограммы, увидит отличия, но выводы сделать будет трудно. Нужно простые гармонические звуки, чтобы проще анализировать расхождения и причины их вызывающие.
Ну, это как по аналогии с теорией автоматического управления, когда в систему задают гармонический сигнал и смотрят как он отрабатывается, анализируют подавление по амплитуде и запаздывание по фазе...
ILoveSpeccy
14.08.2008, 01:56
Для начала большое всем спасибо !!!
Значит, смешивание ACB получилось, потому что канал С идет и налево, и направо. Почему не ABC?
В конечном варианте будет гибкая настройка каналов/громкости.
Во-вторых, почему канал С идет 100% налево и 100% направо? Если сложить левый и правый канал (сделать моно), то получится, что канал С играет в 2 раза громче, чем A и B. Это неправильно. Надо чтобы AY-каналы A, B и C давали одинаковый вклад в звук, если смешать сигналы на стереовыходе.
Спасибо, учту. Так как смешивание каналов у меня происходит в цифре, можно легко настроить.
И еще. Основные сложности в эмуляции AY имеются при реализации огибающей. Поэтому в качестве тестовых записей надо приводить те, где огибающая интенсивно используется, например музыку из The Lyra 2 Megademo, Part 4.
В общем огибающая отняла 90% времени при разработке. В итоге я "скомуниздил" кусок кода из PSG от On-chip-MSX.
1.(предложение) попробуй записать тоже самое, но с 50% и с 75% центрального канала(по логике надо 50% давать но думаю все-таки 75 получится правильнее).
Обязательно попробую!
2.(вопрос) а не смотрел сорсы ямахи(имею ввиду звукового чипа) на опенкорес? думаю модель не очень должна отличатся от АУ.
Конечно смотрел... даже пробовал все! Но хотелось самому...
3.(вопрос) а почему таки шим а не внешний ЦАП ?
Так как это часть моего проекта, в котором внешний DAC не планируется
4(вопрос) какой чип используеш и сколько LE получился проект? ну и в догонку- это отдельно эмулятор АУ или таки часть схемы спека на ФПГА?
Использую Xilinx Spartan-3AN700. Сколько места занимает даже незнаю точно. Примерно 4-5% от общего объёма FPGA (вместе с двумя DACами)
AY является частью моего хобби-проекта спектрума... даже не просто спектрума, а немного большего ;)
Но об этом пока рановато.
Замыленно. В оригинале звук звонче, более прозрачный.
Выкаладывай лучше WAV.
Ну и про огибащую тебя правильно сказали, для теста возьми треки Siril'a, Mmcm, Key-Jee, С-jeff'a например.
Запишу и выложу результаты здесь. Только просьба... Можно ссылки на файлы или названия конкретных демок и сайта AAA например????? Просто я неочень пока разбираюсь в именах :rolleyes_std:
Можно ссылки на файлы или названия конкретных демок и сайта AAA например. Просто я неочень пока разбираюсь в именах
Ссылка на сайт архива мелодий: http://zxtunes.com/ Там и найдёшь всех вышеперечисленных композиторов в разделе "Авторы".
Ссылка на сайт AAA: http://zxaaa.untergrund.net/ А здесь демки.
А вообще эти ссылки находятся в верхнем правом углу экрана.
ILoveSpeccy
14.08.2008, 02:52
Немного переделал микшер, теперь каналы смешиваются так:
LEFT: 100% A + 50% B
RIGHT: 100% C + 50% B
Вот что получилось:
из Lyra 2 (http://www.speccyland.net/uploads/lyra2.mp3)
и отрывки композиций от Siril'a (http://www.speccyland.net/uploads/siril.mp3)
Добавлено через 2 минуты
Вообще если всё сделать правильно, то думаю можно повторить оригинальный чип на 95-99%
Вся проблема, как я понимаю, именно в DAC.
Добавлено через 23 минуты
На сайте www.zxtunes.com вся музыка в файлах .pt3, .asc и т.д.
чем её можно на реале послушать???
Врятли 90-95%, эти чипы музыкальные содержат аналоговую часть, и именно она задает оттенок звучания.
Хотя если PWM гнать где нить на 200КГц мож и можно приблизиться, это если поведение аналоговой части эмулить в железке, хотя тож до 95% врятли дотянется.
На сайте www.zxtunes.com вся музыка в файлах .pt3, .asc и т.д.
чем её можно на реале послушать???
Например Best View (http://trd.speccy.cz/system/BV_219.ZIP)
Например Best View (http://trd.speccy.cz/system/BV_219.ZIP)
pro-tracker 3.7 и vortex tracker-модули в нем не проиграешь.
лучше используй pusher (http://trd.speccy.cz/system/PUSH613B.ZIP), это лучший вариант.
pro-tracker 3.7 и vortex tracker-модули в нем не проиграешь.
Названые авторы в ЭТОМ и не музачили. ;)
Названые авторы в ЭТОМ и не музачили. ;)
если ты про тех, которых сам назвал, то siril, key-jee как минимум в ЭТОМ музачили ;)
если ты про тех, которых сам назвал, то siril, key-jee как минимум в ЭТОМ музачили ;)
Ну покажи мне какой-нибудь их трек который не играет в BV.
Ну покажи мне какой-нибудь их трек который не играет в BV.
согласен, попутался. последний bv играет нормально vortex tracker и pro-tracker 3.6.
а вот весьма актуальный pro-tracker 3.7 не поддержан, и автор делать это в ближайшее время не намерен.
Немного переделал микшер, теперь каналы смешиваются так:
LEFT: 100% A + 50% B
RIGHT: 100% C + 50% B
Вот что получилось:
из Lyra 2 (http://www.speccyland.net/uploads/lyra2.mp3) ...
Мне кажется, получилось B по 100% в обоих каналах.
И ещё, уровни имеют не реальные (http://dlcorp.ucoz.ru/forum/10-229-1), а явно pdf-ные значения.
http://zxpk.untergrund.net/downloads.php?id=200 (2.2Mb)
Barmaley_m
20.08.2008, 03:24
Вот что получилось:
из Lyra 2 (http://www.speccyland.net/uploads/lyra2.mp3)
и отрывки композиций от Siril'a (http://www.speccyland.net/uploads/siril.mp3)
Вообще если всё сделать правильно, то думаю можно повторить оригинальный чип на 95-99%
Вся проблема, как я понимаю, именно в DAC.
К сожалению, именно ту 4ю часть The Lyra 2 с огибающей ты не записал. Но я послушал остальные записи - огибающая в них звучит нормально, по крайней мере на первый взгляд.
Еще один вопрос: что именно мешает тебе поставить внешний ЦАП? Какие такие соображения? Финансы? Или потребление тока? Или место на плате?
Было бы интересно ознакомиться с конкретикой того, как ты сделал Sigma-Delta DAC (Noise Shaping) - тогда смогу оценить, как специалист по DSP, правильно ли это, и если нет, то что надо сделать чтобы было правильно.
Хочу сразу предупредить: качественный ЦАП - это проект, по сложности едва ли не превосходящий весь твой AY. Поэтому я лично на твоем месте, чтобы не рассеиваться, не стал бы сам делать ЦАП, а поставил бы готовый... Разве что если это курсовик какой или диплом, на котором надо показать, что ты понимаешь конкретные DSP алгоритмы :)
ILoveSpeccy
20.08.2008, 11:48
Было бы интересно ознакомиться с конкретикой того, как ты сделал Sigma-Delta DAC (Noise Shaping) - тогда смогу оценить, как специалист по DSP, правильно ли это, и если нет, то что надо сделать чтобы было правильно.
По-поводу Delta-Sigma-DAC, я ничего не придумывал а взял готовое решение от Xilinx.
Полное описание с примером исходного кода в аттаче (xapp154).
Еще один вопрос: что именно мешает тебе поставить внешний ЦАП? Какие такие соображения? Финансы? Или потребление тока? Или место на плате?
В принципе ничего не мешает. Но думаю, наверное всётаки попробую :)
Но ЦАП мне нужен маленький и с малым количеством управляющих сигналов.
Буду смотреть в сторону SPI или I2C.
Только они заразы дорогие. Вот одни из самых дешевых у нас:
MAX549
LT C1451
LT C1453
Даташиты в аттаче.
Подойдут такие??
Barmaley_m
29.08.2008, 04:35
По-поводу Delta-Sigma-DAC, я ничего не придумывал а взял готовое решение от Xilinx.
Полное описание с примером исходного кода в аттаче (xapp154).
Почитал я пдф от Xilinx... А что, в самом деле, сделано грамотно и со вкусом. Занимает мало ресурсов кристалла. Если тактовая частота достаточно высока - то проблем быть не должно. Я бы гонял этот ЦАП по крайней мере на частоте AY (1,75МГц). Это исключило бы алиазинг при дискретизации выходов AY на более низкую частоту. А может быть и кратной частотой - 3.5 или даже 7МГц. Теоретически это может уменьшить шум квантования, но существенно ли это будет в нашей ситуации (AY), и не будет ли положительный эффект сведен на нет недостатками выходных цепей микросхемы - это надо расчетами проверять и экспериментировать.
Впрочем, у внешней микросхемы ЦАП могут быть те же проблемы - разные там переходные процессы. Которые, к тому же, не специфицированы производителем.
Чтобы получить гарантированно хорошее качество - это надо использовать не просто даже ЦАП, а аудио-кодек, включающий ЦАП, фильтры и прочие вспомогательные схемы. Там эффекты переходных процессов и тому подобного учтены производителем и загнаны в рамки.
Но аудио-кодеки принимают входной сигнал на относительно низкой частоте - вроде 48кГц. Чтобы привести к этой частоте сигнал AY без алиазинга - это надо цифровые фильтры городить... Займет кучу ресурсов кристалла, а польза - опять же - сомнительная. Ведь аналоговые цепи для Hi-Fi звука тоже надо будет вылизывать.
Так что я склоняюсь к мысли, что простая микросхема ЦАП вряд ли улучшит звук по сравнению с тем, что есть (сигма-дельта ЦАП на Xilinx), поэтому считаю, что стоит все оставить как есть. Если и есть недостатки в звуке твоей реализации AY, то они, скорее всего, обусловлены не примененной схемой ЦАП.
Постарайся только задавить ультразвук - ставь частоту среза RC-цепочки не выше 17кГц. Некоторые усилки и звуковые карточки не любят, когда им на вход ультразвук подается - и начинают искажать звуковые частоты.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot