Sound Blaster на FPGA

Описания, советы, ремонт, эксплуатация старых IBM PC-совместимых ПК
Ответить
justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

Sound Blaster на FPGA

Сообщение justontime » 23.02.2018,12:16

Что-то меня в сторону звука тянет, но до последнего момента останавливала кажущаяся сложность разных там Signal Processing и т.п. вещей. Однако при более внимательном рассмотрении Sound Blaster'а (до версии SB 16 включительно) оказалось, что именно DSP'шная часть примитивна до невозможности, и реализовать ее можно кучей разных способов - от воссоздания оригинального железа, но со своей прошивкой, до вариации "на тему" на базе FPGA. В качестве разминки, для начала, решил разобраться в чужом проекте и адаптировать его для своей платы. Адаптация прошла довольно просто (попутно научился программировать SB в самых разнообразных режимах для написания тестовых программ).

Еще раз подчеркиваю - пока говорю исключительно о работе с оцифрованным звуком, FM синтез пока не затрагиваю (там как раз уже нужно развлекаться с математикой).

В качестве примера запись знаменитой мелодии Bad Apple:

Через настоящий Sound Blaster

Через мою плату

Разница немного есть, в первую очередь, из-за крайне простого DAC'а на моей плате - резистор и конденсатор. Думаю, если бы не поленился и добавил еще один резистор с конденсатором в качестве фильтра нижних частот, было бы еще лучше.

justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

Сообщение justontime » 23.02.2018,17:51

Кстати, посмотрел внимательнее - такое впечатление, что DAC у Sound Blaster'а вообще никакой, мой вроде даже получше будет. Вот синус, период которого состоит из 16 ступенек:

Оригинальный Sound Blaster:
Изображение

Моя плата:
Изображение

easyjohn
Advanced Member
Сообщения: 3583
Зарегистрирован: 07.04.2008,16:45
Откуда: SPb
Контактная информация:

Вклад в сообщество

Сообщение easyjohn » 24.02.2018,09:55

"теплый, ламповый"!
Amiga 4000-ppc/4000-040/1200-ppc/1200/600 | PC XT/286/386/486/586/P2/P3/P4 http://amiwiki.spb.ru - Вики про Амигу http://www.phantom.sannata.ru/forum/index.php?t=18145

justontime
Full Member
Сообщения: 264
Зарегистрирован: 10.09.2016,00:06
Откуда: СПб

Вклад в сообщество

Сообщение justontime » 24.02.2018,14:28

Решил посмотреть в сторону FM-синтеза, начал с написания тестовой программы, которую попробовал прогнать на настоящем SB. Долго бился, но не работало вообще ничего, причем как-то странно. Только на третий день Штирлиц догадался, что на плате отсутствует микросхема OPL2, только пустая панелька из-под нее :)

Как только вставил, так все заработало...

Ответить