Конвертер FLAC в WAV; FLAC в WAV; MP3 в WAV для [8088]/[286]

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

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

Конвертер FLAC в WAV; FLAC в WAV; MP3 в WAV для [8088]/[286]

Сообщение Tronix » 04.10.2022,14:42

Во флейме, потому что.
Пересобрал libFLAC под 16-бит с помощью какой-то матери и OpenWatcom 16 bit compiler. Прикрутил к этой библиотеке простенький конвертер, который умеет только 16-битные FLAC и каналов желательно только 2. Работает на XT, есть так же версия и для 286.
Сколько же суток занимает конвертирование пятиминутного FLAC в WAV на XT 4,77MHz ?

UPD: А так же и кодер WAV2FLAC, правда уже для 286 тут: viewtopic.php?p=695707#p695707

UPD2: А так же декодер MP3 в WAV тут: viewtopic.php?p=696272#p696272
Вложения
FLAC2WAV.zip
(173.21 КБ) 60 скачиваний
Последний раз редактировалось Tronix 13.10.2022,16:05, всего редактировалось 3 раза.

Аватара пользователя
visualer
Advanced Member
Сообщения: 1910
Зарегистрирован: 26.09.2019,17:50
Откуда: ..
Контактная информация:

Конвертер FLAC в WAV для [8088]/[286]

Сообщение visualer » 04.10.2022,15:49

Tronix забыл отметить, что софт критичен к наличию сопроцессора, и ваша конвертация пройдёт быстрее, если сопр в наличии))))))
Ретровизор - мой канал в Telegram
Взгляд назад. Персональная техно-археология. Ретро-компы. Downgrade 💾
t.me/retrovis Подпишись :redface:

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

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

Конвертер FLAC в WAV для [8088]/[286]

Сообщение Tronix » 04.10.2022,16:33

Tronix не забыл. Как оказалось, в процессе раскодирования потока мало где используется арифметика с плавающей запятой, в основном там целочисленная дробилка, поэтому наличие сопроцессора мало или даже совсем не влияет на скорость

Ekb
Advanced Member
Сообщения: 2603
Зарегистрирован: 15.06.2014,11:31

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

Конвертер FLAC в WAV для [8088]/[286]

Сообщение Ekb » 04.10.2022,16:39

А какая была потребность на 8088 декодировать Flac в WAV? :)

Учитывая, что HDD и флэшки CF-диски маленькие...

Аватара пользователя
zOrg
Почётный пользователь
Сообщения: 13862
Зарегистрирован: 09.01.2009,22:22
Откуда: Ленинградская область, пгт. Сиверский

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

Конвертер FLAC в WAV для [8088]/[286]

Сообщение zOrg » 04.10.2022,16:59

Ekb писал(а): 04.10.2022,16:39 А какая была потребность на 8088 декодировать Flac в WAV?
Раздвигать границы возможного. Поймёте, когда переиграете во все игрушки на XT и будете сидеть в раздумьях, зачем она нужна. А ещё возможно, что столь длительная конвертация добавит ламповости звучанию. :) Ну а вдруг! Я бы сравнил спектр полученого файла со спектром того же, но конвертированного на современном компе.
Flynn Lives / Кай жив / Tarus жив

Аватара пользователя
visualer
Advanced Member
Сообщения: 1910
Зарегистрирован: 26.09.2019,17:50
Откуда: ..
Контактная информация:

Конвертер FLAC в WAV для [8088]/[286]

Сообщение visualer » 04.10.2022,21:08

Ekb писал(а): 04.10.2022,16:39 А какая была потребность на 8088 декодировать Flac в WAV?
Никакой. Софт для поржать "смари чо могу". Один трек занимает целый жесткий диск )
Ретровизор - мой канал в Telegram
Взгляд назад. Персональная техно-археология. Ретро-компы. Downgrade 💾
t.me/retrovis Подпишись :redface:

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

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

Конвертер FLAC в WAV для [8088]/[286]

Сообщение Tronix » 09.10.2022,13:50

А теперь собрался и из WAV в FLAC перекодировщик. Для этого пришлось вкурить и перелопатить всю libFLAC, кое-где даже грязными хаками всякими, но в конце концов заработало.

Единственное, что на различные нужды (структуры, внутренние буферы и тд) энкодера необходимо порядка 800Кб памяти, плюс сам код занимает в районе 250Кб, поэтому в реальном режиме памяти на запуск не хватает. Городить свой EMS или XMS менеджер памяти я вломился, поэтому просто прикрутил дос - расширитель Phar Lap 286, тем самым конечно исключив сборку для XT, но зато пускается на 286.

И вот тут уже 287 сопроцессор будет весьма кстати, от его скорости зависит непосредственно скорость кодирования, так как вся математика поиска подходящих коэффициентов корреляции, квантинизации и другой прочий адов матан усиленно использует плавающую точку (см. файл LPC.C в исходниках libFLAC на официальном гитхабе).

Собрал конечно вариант и без 287 сопроцессора (с эмуляцией) - но это очень тормозной вариант, даже на топовой 286 25Мгц. Лучше все-таки воткнуть в 286 какой-нибудь сопроцессор.
UPD: А так же версия только с целочисленной математикой (define FLAC__INTEGER_ONLY_LIBRARY в libFLAC).

Запускать WAV2FLAC <имяфайла.WAV> <имяфайла.FLA> [N] , где N можно указать степень сжатия от 0 до 8. По умолчанию степень сжатия равна 5.
Ах, да, и памяти должно быть 2Mb RAM минимально.
Вложения
WAV2FLAC.ZIP
(738.13 КБ) 49 скачиваний
Последний раз редактировалось Tronix 09.10.2022,17:39, всего редактировалось 1 раз.

Ekb
Advanced Member
Сообщения: 2603
Зарегистрирован: 15.06.2014,11:31

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

Конвертер FLAC в WAV для [8088]/[286]

Сообщение Ekb » 09.10.2022,15:28

:thumbup:

возможно ли прикрутить бенчмарк в этой программе (realtime и итоговую)?... тем самым максимально популяризует в среде иностранщины (vogons, vcfd итд)
И данный проект разлетится во всех сборках в том числе и philscomplab....

Совсем недавно утверждал, что 286 компу не нужен 4мб, достаточно 1мб. Теперь 2022год - появилась потребность в 4мб на 286 :biggrin:

Осталось сделать воспроизведение музыки Flac, но хватит ли производительности 286, используя нещадно сопроцессор ?
И будет полная комплектная сборка с увековечиванием памяти Tronix ;) (не шутка)
Последний раз редактировалось Ekb 09.10.2022,15:38, всего редактировалось 3 раза.

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

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

Конвертер FLAC в WAV для [8088]/[286]

Сообщение Tronix » 09.10.2022,15:34

Ekb писал(а): 09.10.2022,15:28 возможно ли прикрутить бенчмарк в этой программе
В некотором роде он уже есть - там отображается затраченное время (Elapsed time: ), итоговая.

Аватара пользователя
Takedasun
Advanced Member
Сообщения: 3640
Зарегистрирован: 16.10.2013,18:07
Откуда: Керчь

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

Конвертер FLAC в WAV для [8088]/[286]

Сообщение Takedasun » 09.10.2022,17:30

Ekb писал(а): 09.10.2022,15:28 Осталось сделать воспроизведение музыки Flac, но хватит ли производительности 286, используя нещадно сопроцессор ?
Не хватит, для этого нужен топовый 486 процессор.

Tronix писал(а): 04.10.2022,14:42 Сколько же суток занимает конвертирование пятиминутного FLAC в WAV на XT 4,77MHz ?
Неужели ни у кого нет возможности проверить? Интересно же.

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

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

Конвертер FLAC в WAV; FLAC в WAV; MP3 в WAV для [8088]/[286]

Сообщение Tronix » 13.10.2022,16:04

Ну и теперь конечно еще и MP3 в WAV для XT.
Использовал helix mp3 decoder fот RealNetworks, перевел все типы int на uin32_t для сборки Watcom Compiler 2.0 16 bit. Переписал начисто некоторые функции на ассемблере 8088 (в файле assembly.h MULSHIFT32(), MADD64(), SAR64() ). Кто желает пооптимизировать код, то вот он: https://github.com/Tronix286/HELIXMP3

Собранный декодер последней версии можно взять здесь: https://github.com/Tronix286/HELIXMP3/b ... al/mp3.exe
MP3 <имяфайла.MP3> <имяфайла.WAV>
Последний раз редактировалось Tronix 14.10.2022,15:06, всего редактировалось 1 раз.

Ответить