IPB

Добро пожаловать, гость ( Вход | Регистрация )

> PSX STR/ZXA, музыка
-=CHE@TER=-
Jul 30 2008, 10:59
Сообщение #1


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,378
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



Откопал одну старую игру - The Note / Playstation.
Там офигенная музыка, но достать её не могу.
На диске есть каталог \ZXA\ с файлами:
CODE
XA_001.STR
XA_002.STR
XA_003.STR
XA_004.STR
XA_005.STR
XA_006.STR
XA_007.STR

Однако, ни один конвертер для PSX их не берёт, потому что это чистый звук, без заголовка (файлы большие - самый мелкий - 9 Мб). Если попытаться проиграть его как RAW PCM в Audition, то через хрип и храп угадывается мелодия. Перепробовал все возможные способы открытия (stereo-mono, 8-16-32 bit, intel-motorola-?law, etc) - как был храп, так и остался.
Кто-нибудь знает, чем можно это сконвертировать в .WAV?
Что за упаковщик не знаю, но первый файл начинается вот так:
CODE
&&))&&))**))**))

второй вот так:
CODE
((**((**++**++**

Остальные - похоже.

Кто-нибудь может помочь?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
Axsis
Aug 19 2008, 20:28
Сообщение #2


Advanced Member
***

Группа: CTPAX-X
Сообщений: 121
Регистрация: 6-February 08
Пользователь №: 374
Спасибо сказали: 149 раз(а)



файлик посмотрел, но совсем забыл отписаться на форуме.

итак, вот некоторые наблюдения (смещения и размеры в hex, если не указано обратное):
файл разбит на блоки по 0х4000 байт, причём данных только на 0х3000, остальное забито нулями. зачем так сделано - непонятно, возможно блок потом в памяти разжимается "сам в себя" и становится 0х4000 байт, как бы там нибыло, файл благодаря такому ходу разработчиков сразу "распух" на треть. далее, блок можно разделить на ещё более мелкие кусочки - назовём их фреймами. размер фрейма - 0х80 байт, причём у каждого фрейма есть что-то вроде заголовка - первые 0х10 байт, они меняются от фрейма к фрейму, но в то же время выделяются на фоне остальных байт. например в файле есть так называемые "пустые фреймы" - заголовок из 0х10 байт 0х0C и 0х70 нулевых байт. вообще, сжатие похоже на разновидность adpcm, так что, возможно в этом заголовке начальные значения для данных сжатых в теле фрейма (см. доки по adpcm). ещё встречаются фреймы у которых первые 8 байт заголовка равны 0х0С а остальные 8 байт - отличаются (или наоборот). тело такого фрейма состоит из чередующихся word'ов нечётные - нулевые, четные - ненулевые (например по смещению 0x0d4800 в выложенном файле). это напоминает разделение каналов. в данном случае в левом - тишина, в правом - есть звук (ну или наоборот, в зависимости от фантазии разработчиков).

можно попробовать убрать все большие последовательности нулей (от 0х800 байт и более) и ещё раз послушать как pcm, затем можно попробовать убрать эти самые 16 байт заголовка фрейма и оставить только сжатый поток и попробовать воспроизвести его. если посторонние шумы останутся - то это скорее всего разновидность adpcm, ну очень на то похоже.
зы: да, параметры для pcm ставь стерео, 16 бит, а вот частоту подбором искать придётся.
пока это всё что выяснил по формату.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 12th July 2025 - 11:55