PDA

Просмотр полной версии : Упаковщик звуков для General Sound



Dimon spb
09.11.2022, 19:01
https://i.ibb.co/yg1YyNY/gsp.png

Написал небольшую прогу для упаковки сэмплов для GS.
Жмёт в 4 раза, использует алгоритм ADPCM с потерями (!) - так что не для всех звуков будет приемлемый результат.
Но для озвучки игр, особенно если будет играть фоновая музыка - вполне достаточно.
Я его и написал в рамках проекта новой игрухи.

Понимает только WAV, автоматом конвертит стерео в моно и 16 бит в 8.
Позволяет сразу послушать результат после упаковки/распаковки и сравнить с исходником.

Зачем он вообще нужен.
Хруст, даже с предварительной обработкой сэмпла в дельту жмёт максимум в 2 раза, обычно в полтора и хуже.
Таким образом, на дискету (в trd образ) влезет ну максимум мегабайт звука в исходном виде (надо же ещё место для самой игры, графики, музыки MOD и т.д.), что совсем не много при нормальной (от 22050) частоте дискретизации сэмплов.

В случае ADPCM сжатия на дискету можно запихать уже более 2 Мб звука, что гораздо интереснее )
Ну а для лучшего результата можно часть сэмплов жать Хрустом, без потерь.

В общем, надеюсь, кому-нибудь пригодится!

Огромное спасибо Xela за тестинг и багрепорт!
Отдельная благодарность Jerri за исходники и вообще ;)

https://disk.yandex.ru/d/hg8kaMMJhdIDKQ

Xela
10.11.2022, 11:12
запустил под 11 виндой:

https://i.postimg.cc/prWd8KM9/Screen-2022-11-10-09-09-34.png (https://postimages.org/)

и еще вопрос - ругается при запуске на отсутствие двух dll'ек - что ей требуется?

vcruntime140d.dll is a "debug"-версия vcruntime140.dll... хм...

Dimon spb
10.11.2022, 12:05
Блин. Я на 10-ке сижу, и у меня Касперыч стоит вместо штатного...
Но ты не первый, у кого Defender ругается. Причём буквально недавно выкладывал в Дискорде пре-релиз - всё было норм. Может, ему не нравится текст на ассемблере, для выгрузки депакера который )
Буду думать.


и еще вопрос - ругается при запуске на отсутствие двух dll'ек - что ей требуется?
Это она просит Microsoft Visual C++ Redistributable (https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) x86
Он обычно ставится вместе с игрухами и прочим софтом.

jerri
10.11.2022, 12:56
Это она просит Microsoft Visual C++ Redistributable (https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) x86
Он обычно ставится вместе с игрухами и прочим софтом.

это неправильный концепт. надо вкладывать ссылку или VCR

Dimon spb
10.11.2022, 13:12
Пофиксил, больше не будет требовать dll
Обновил ссылку к шапке.
Интересно, а теперь будет Defender ругаться?

Beaver
10.11.2022, 14:08
Интересно, а теперь будет Defender ругаться?
Не ругается.

Evgeny Muchkin
22.12.2022, 11:44
Хруст, даже с предварительной обработкой сэмпла в дельту жмёт максимум в 2 раза, обычно в полтора и хуже.
А ZX0 пробовал?

drbars
04.02.2023, 04:07
Вот интересно, на NeoGS есть декодер mp3, можно ли им распаковать mp3 в память семплов средствами самой GS ?
В старые добрые времена даже был некий формат "mo3", т.е. mod семплы которого сжаты mp3.