nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 29 Apr 2024 13:47



Reply to topic  [ 121 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Воспроизведение озвученной анимации с ROM-Дисков 
Author Message
Fanat

Joined: 10 Apr 2024 05:15
Posts: 50
Reply with quote
Alikberov wrote:
Но здесь имеется нюанс: Звук всё равно получается "бинарным" - как модем.


Имеет смысл попробовать заряжать конденсатор через резистор, сразу звук станет не бинарным. На ардуино у меня получился резистор 1к, конденсатор 0.01-0.1 мкФ. Тогда записывать звук надо в виде продолжительности сигнала INTE. Чем выше амплитуда, тем дольше продолжительность. Выбрать, например, 4 дискретных значения для продолжительности - два бита. В этом случае звук можно будет хорошо сжимать или удобно упаковывать. Даже без конденсатора должно получиться, если подстроиться под запаздывание диффузора.


13 Apr 2024 05:34
Profile
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 324
Location: Tashkent
Reply with quote
Пробовал с написанием кода только под воспроизведение аудио. :roll:

Тупо все биты байты выдаются в порт магнитофона, соблюдая строгий временной интервал искусственным замедлением (CMP/SHLD).


Attachments:
BadApple-audio.zip [420.59 KiB]
Downloaded 10 times
13 Apr 2024 05:55
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 324
Location: Tashkent
Reply with quote
Если не ошибаюсь, чуточку лучше звучать стало?
(Решил проверить на другой композиции.)


Attachments:
File comment: Вариант более шустрый
DonnsSummer-audio@2.rkr.zip [268 Bytes]
Downloaded 9 times
File comment: Donna Summer
DonnaSummer-audio.zip [669.38 KiB]
Downloaded 9 times
13 Apr 2024 08:14
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Давай лучше плеер выкатывай без F1 и F3 - и там посмотрим :roll:

Вот "мусорный" мультик с попроавленным под экспериментальный формат плеером в нулевой странице:
Code:
R,1FF
G
Трансляцию делал по озвученном ранее алгоритму - результат плохой:

Attachment:
BadApple128x50-9_92_FPS_TAPE300P_BIT0.zip [836.83 KiB]
Downloaded 8 times


Поэтому возвращаемся к изначальной идее звук в старшем бите один раз на каждые 4 символа...

_________________
:dj: https://mastodon.social/@Shaos


13 Apr 2024 10:31
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 324
Location: Tashkent
Reply with quote
Итак, на сегодня тему проигрывателя музыки по технологии DSD можно закрыть. :roll:
Дальше оптимизировать уже некуда: Практически предельная производительность! :no:
Shaos wrote:
Давай лучше плеер выкатывай без F1 и F3 - и там посмотрим :roll:
Уже не сегодня. :roll:
На аудиоплеер много усилий потратил.
Shaos wrote:
Вот "мусорный" мультик с попроавленным под экспериментальный формат плеером в нулевой странице:
"Мусорный мультик"... :lol:
Shaos wrote:
Поэтому возвращаемся к изначальной идее звук в старшем бите один раз на каждые 4 символа...
Переписывать весь код нужно, как уже понял и сказал выше.
Так как он по сути - сам генератор кода, лучше довести его до ума и сделать гибким.

P.S.: Пока выкладываю архивы с плеером и двумя мелодиями для оценки.
(Судя по длительности, темп слегка ускорен: На "музыкальных ROM-Дисках" это нужно учитывать.)
Теперь я точно убедился, что лучшего качества звука уже не добиться (по крайнер мере, с моим уровнем).


Attachments:
File comment: Direct Stream Player
Play-DSD.rkr.zip [259 Bytes]
Downloaded 8 times
File comment: Bad Apple
BadApple-DSD.rom.zip [600.13 KiB]
Downloaded 7 times
File comment: Donna Summer
DonnaSummer-DSD.rom.zip [669.14 KiB]
Downloaded 8 times
13 Apr 2024 11:37
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Просто звук можно сжимать: http://www.nedopc.org/forum/viewtopic.php?f=93&t=10634
Там всё началось с 2-битного звука (INTE+TAPEOUT) 22050 Гц, но потом я выдал форматы сжатия для 1-битного и 3-битного...

_________________
:dj: https://mastodon.social/@Shaos


13 Apr 2024 11:40
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Shaos wrote:
Поэтому возвращаемся к изначальной идее звук в старшем бите один раз на каждые 4 символа...

Вот вариант с сэмплом звука на каждые 4 символа - получилось 9.05 FPS (плеер встроен пока тот же с F1 и F3):
Code:
R,1FF
G


Attachments:
BadApple128x50-9_05_FPS_TAPE300P.zip [784.12 KiB]
Downloaded 9 times

_________________
:dj: https://mastodon.social/@Shaos
13 Apr 2024 13:06
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Пытаюсь превратить текущий плеер в бездырочный (без F1 и F3) - пока выходит 7.43 FPS при звуке в старшем бите каждого четвёртого символа и звук стал заметно лучше 8)

Сейчас осталось заполнение экрана правильно поправить - уже весь мозг сломал :lol:

Attachment:
Screenshot from 2024-04-13 14-28-05.png
Screenshot from 2024-04-13 14-28-05.png [ 63.21 KiB | Viewed 453 times ]

P.S. Каждый четвёртый символ это 16 отсчётов звука на строку - может не мудрствовать лукаво, а просто тупо в 2 байта их упаковать и записывать в начало каждой строки побитно двигая в порт по ходу отрисовки символов этой строки?

P.P.S. Тогда уже и адрес строки можно туда же присовокупить до кучи (адрес с конца для LXI SP) - будет 68 байт на строку или 9.6 полных кадров на страницу (коих может быть больше, если от кадра к кадру будет много повторяющихся строк)

P.P.P.S. В этом случае даже прогрессбар можно сделать опциональным (и со звуком), правда оно не будет кратно 256 и придётся либо химичить, либо укорачивать видимую область строки до 60 символов...

_________________
:dj: https://mastodon.social/@Shaos


13 Apr 2024 14:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Shaos wrote:
Пытаюсь превратить текущий плеер в бездырочный (без F1 и F3) - пока выходит 7.43 FPS при звуке в старшем бите каждого четвёртого символа и звук стал заметно лучше 8)

Сейчас осталось заполнение экрана правильно поправить - уже весь мозг сломал :lol:
Уже стало лучше :lol:

Attachment:
Screenshot from 2024-04-13 14-50-16.png
Screenshot from 2024-04-13 14-50-16.png [ 51.99 KiB | Viewed 451 times ]

Осталось понять как начальное смещение правильно установить...

_________________
:dj: https://mastodon.social/@Shaos


13 Apr 2024 15:03
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Всё - хакнул как надо :lol:

Attachment:
Screenshot from 2024-04-13 18-20-48.png
Screenshot from 2024-04-13 18-20-48.png [ 60.57 KiB | Viewed 424 times ]
Даже немного выровнял по сравнению с оригиналом, чтобы ровно по середине окна Emu80 с урезанными краями было :dj:

Получилось 7.46 FPS с "плавным" звуком (в том числе в титуле и статусе), а также номером страницы в правом-верхнем углу:
Code:
R,1FF
G
Тут правда такой момент получился - чтобы звук по длине совпал с видеорядом, пришлось считать, что в кадре не 800 звуковых отсчётов (и не 803, как можно было бы предположить при двух дополнительных озвученных строки на каждые 10 кадов), а 818.46 :o

Значит ли это, что титул и статус играются не раз в 10 кадров, а в каждом кадре? Наверное их лучше таки убрать (либо перейти на 100% гибкую систему, когда у каждой строки будет адрес откуда мы её "пляшем" и тогда титул и статус можно добавлять, а можно не добавлять - по желанию автора видео)...


P.S. Понял! Это мой косяк! Сейчас пережму...

...пережал - теперь тут плеер в каждой странице и ровно 803.2 звуковых отсчёта на кадр или 5992 Гц при частоте кадров 7.46 :mrgreen:


Attachments:
BadApple128x50-7_46_FPS_TAPE300P2.7z [595.87 KiB]
Downloaded 8 times

_________________
:dj: https://mastodon.social/@Shaos
13 Apr 2024 18:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Апдейтнул первое сообщение топика с последней версией ромдиска и новым видео, где всё реально :roll:


https://youtu.be/mdYtTRTb7Hw

Также написал в первое сообщение описание текущего формата (округлив FPS до 7.5):

Ромдиск Апогея по схеме vinxru делится на страницы по 32 килобайт каждая - в одну такую страницу влезает 10 кадров 64x50 (3200) один за другим, со двигом к концу, чтобы освободить первые 768 байт страницы под плеер (0x0000...0x027F) и 2 спец.строки - статус (0x0280...0x02BF) и титул (0x02C0...0x02FF). Строки располагаются последовательно друг за другом, но каждая строка записана задом-наперёд т.к. копирование в экранную область происходит через указатель стека с помощью команды PUSH. Каждый четвёртый символ своим старшим битом задаёт значение сэмпла звука, который будет послан в магнитофонный выход. В пределах кадра получается 800 сэмплов звука или 8000 сэмплов на страницу плюс ещё 32 сэмпла записаны в строках титула и статуса - т.е. всего 8032 в странице или в среднем 803.2 сэмпла на кадр. Текущая версия плеера выдаёт порядка 7.5 FPS видео (и 6 кГц 1-битного звука), что позволяет записать в 8 мегабайтный ромдиск до 341 секунды (5 мин 41 сек).

Только что обнаружил, что в плеере есть перемотка!!! :o

P.S. А кто такие ALSTROEMERIA RECORDS? ;)

Attachment:
Screenshot from 2024-04-13 20-24-44.png
Screenshot from 2024-04-13 20-24-44.png [ 33.7 KiB | Viewed 403 times ]

P.P.S. Это типа официальные владельцы музончика? :)

Attachment:
Screenshot from 2024-04-13 20-51-27.png
Screenshot from 2024-04-13 20-51-27.png [ 80.46 KiB | Viewed 402 times ]


P.P.P.S. Я думаю эту версию плеера рождённую за 1 неделю общих усилий официально можно считать публичным релизом v1.0 :mrgreen:

P.P.P.P.S. Позже добавил в архив PUBLIC DOMAIN исходник конвертера vhs5t-maker.c (но следует учесть, что самая новая версия этого архива всегда будет прицеплена к первому сообщению этой темы)


Attachments:
File comment: Конвертеры и плеер - бинарник и сырец - сорри за сырцы в таком виде - сначала дизассемблировал через 86rk.ru, а потом уже правил :)
vhs5t.zip [11.43 KiB]
Downloaded 9 times

_________________
:dj: https://mastodon.social/@Shaos
13 Apr 2024 20:28
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Shaos wrote:
P.S. Каждый четвёртый символ это 16 отсчётов звука на строку - может не мудрствовать лукаво, а просто тупо в 2 байта их упаковать и записывать в начало каждой строки побитно двигая в порт по ходу отрисовки символов этой строки?

P.P.S. Тогда уже и адрес строки можно туда же присовокупить до кучи (адрес с конца для LXI SP) - будет 68 байт на строку или 9.6 полных кадров на страницу (коих может быть больше, если от кадра к кадру будет много повторяющихся строк)

P.P.P.S. В этом случае даже прогрессбар можно сделать опциональным (и со звуком), правда оно не будет кратно 256 и придётся либо химичить, либо укорачивать видимую область строки до 60 символов...

Я тут прикинул - теперешний плеер декодирует около 377 строк в секунду, т.е. если строки будут иметь адреса (предположим, что в скорости оно не сильно потеряет), то для пущей эстетики можно делать видео не в полный рост, а скажем letterbox (16:9 с чёрными полосками сверху и снизу) - это будет примерно 37 строк, что должно дать 10 FPS...

_________________
:dj: https://mastodon.social/@Shaos


14 Apr 2024 00:02
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Добавил конвертер vhs5t-maker.c в архив vhs5t.zip выше, а также выложил в репу на гитлаб:

https://gitlab.com/shaos/super-86rk/-/tree/main/tools

Теперь займусь конверсией следующего видеоклипа ;)

_________________
:dj: https://mastodon.social/@Shaos


14 Apr 2024 01:35
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 324
Location: Tashkent
Reply with quote
Я попытался переделать код и удалить короткие строки (F1 оставляем для формата в 74 байта на строку, так как важна не сама длина пакета ПДП, а её стабильность), а вставка STA по заданной маске. Но код - умирает! :o
(Собственный код в исходном виде поправить не могу! :oops: )

Да Вы проделали внушительную работу по взлому моего кода! :lol:

После стабилизации варианта я выложу исходник в свой репозиторий, как и Победит.

Сейчас он выглядит как-то так.


Attachments:
Снимок экрана_2024-04-14_03-49-58.png
Снимок экрана_2024-04-14_03-49-58.png [ 54.5 KiB | Viewed 350 times ]
14 Apr 2024 02:07
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22627
Location: Silicon Valley
Reply with quote
Да, интересно посмотреть если 74 символа в строке с F1 будет не хуже по стабильности, чем 78

> Да Вы проделали внушительную работу по взлому моего кода! :lol:

Дело было вечером, делать было нечего :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


14 Apr 2024 02:14
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 121 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next

Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.