PDA

Просмотр полной версии : Методика или теория вывода 4 битного звука напримере AY



Mick
25.12.2010, 19:13
Собственно, для AY уже кучу раз описывали разные алгоритмы вывода, но меня интересует сам физический процесс. Как оно там выводится.
Конечно понятно что основной процесс там дает амплитудные регистры(громкость по нашему). А еще что при этом участвует?

fan
25.12.2010, 21:48
Ничего . Тот же ковокс , только в профиль :D

newart
25.12.2010, 22:23
Угу. До использования шума и огибающей в оцифровках так и не додумались. Хотя казалось бы 21-й век... на пц можно было уже давно все возможные частоты перепросчитать...

Mick
25.12.2010, 22:55
Ничего . Тот же ковокс , только в профиль :D

Это что же в AY ЦАП может работать сам по себе, т.е тупо шлем выборки, без всяких там огибающих и прочих генераторов?

fan
25.12.2010, 23:08
Угу .

KALDYH
26.12.2010, 17:25
Единственная тонкость, о которой я знаю - ЦАП нелинейный, логарифмический, и конвертация из 8 бит в 4 выполнять лучше не отбрасывая младшие биты, а по таблице, с учетом этой нелинейности.

null_device
26.12.2010, 17:41
конвертация из 8 бит в 4 выполнять лучше не отбрасывая младшие биты, а по таблице

В ESE 1.4 даже приведены три таблицы, в виде файлов, для конверсии 8ми биного звука в 4х битный.

Mick
26.12.2010, 22:17
В ESE 1.4 даже приведены три таблицы, в виде файлов, для конверсии 8ми биного звука в 4х битный.

А что это за программа?

newart
26.12.2010, 23:12
Excess Sound Editor

---------- Post added at 23:12 ---------- Previous post was at 23:12 ----------

для ZX разумеется.

null_device
27.12.2010, 02:52
Excess Sound Editor

Не совсем, но близко. Excess Sample Editor v1.4 by Excess for GS,SD,Covox,AY,Beeper.
Можно скачат по ссылке (http://vtrdos.ru/system/ESE_14.ZIP), либо зайдя на сайт Virtual TR-DOS.

newart
27.12.2010, 08:14
:)

Mick
27.12.2010, 19:08
Прогу посмотрел, спасибо. Теперь вопрос такой. Я вот хочу допустим выводить звук с частотой дискретизации 11025Гц, тогда 3,5МГЦ делим на 11025 получаем 317. Тоесть между выборками должно проходить 317 тактов или я ошибаюсь?

Titus
27.12.2010, 19:20
Прогу посмотрел, спасибо. Теперь вопрос такой. Я вот хочу допустим выводить звук с частотой дискретизации 11025Гц, тогда 3,5МГЦ делим на 11025 получаем 317. Тоесть между выборками должно проходить 317 тактов или я ошибаюсь?
Все правильно.

Mick
27.12.2010, 19:32
Все правильно.

С этим разобрался. Теперь немного посложнее. Вот есть wav файл, он 8 битный моно. Звук там естественно изменяется -128 до +128, т.е. по логике применять таблицу преобразования для 255 значений нельзя или можно? Тогда как этот wav преобразовать.
Если тупо брать сопоставление по таблице(которые были в проге ESE), тогда звук пердит, а по другому я еще не додумался :)

Titus
27.12.2010, 19:35
С этим разобрался. Теперь немного посложнее. Вот есть wav файл, он 8 битный моно. Звук там естественно изменяется -128 до +128, т.е. по логике применять таблицу преобразования для 255 значений нельзя или можно? Тогда как этот wav преобразовать.
Если тупо брать сопоставление по таблице(которые были в проге ESE), тогда звук пердит, а по другому я еще не додумался :)
Если звук кодируется 7 битами со знаком (-128..127), то просто надо прибавить к этому значению 128, и получится 0..255.

Mick
27.12.2010, 19:37
Если звук кодируется 7 битами со знаком (-128..127), то просто надо прибавить к этому значению 128, и получится 0..255.

Вот блин как оно просто оказывается - я все мучаюсь, что же пердеж идет. Спасибо, надо попробовать.

null_device
27.12.2010, 20:08
В восьмом номере zx format описан пример работы с выводом цифрового звука.

---------- Post added at 00:08 ---------- Previous post was at 00:06 ----------


надо прибавить к этому значению 128

Не добавить а "поксорить"..

Mick
27.12.2010, 20:23
Не добавить а "поксорить"..

Помоему тут без разницы

что 7Fh + 80h = FFh и 7Fh XOR 80h = FFh или
80h + 80h = 00h и 80h XOR 80h = 00h

Titus
27.12.2010, 20:29
Помоему тут без разницы

что 7Fh + 80h = FFh и 7Fh XOR 80h = FFh или
80h + 80h = 00h и 80h XOR 80h = 00h

Да, совершенно без разницы.
Но с математической точки зрения, чтобы наглядней - это +128, т.е. смещения всего диапазона в положительную область.

null_device
27.12.2010, 20:38
Ну.. без разницы, так без разницы!

Mick
12.01.2011, 20:09
Чтобы не плодить темы. Вопрос такой а возможно ли оцифровку пустить через FM часть YM2203? Там вроде амплитуда 7 бит (127 значений).

Titus
12.01.2011, 20:45
Чтобы не плодить темы. Вопрос такой а возможно ли оцифровку пустить через FM часть YM2203? Там вроде амплитуда 7 бит (127 значений).
LPT Covox вроде явление гораздо более частое, чем YM2203, и разрядность там 8 бит.