![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() |
-=CHE@TER=- |
![]()
Сообщение
#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 ((**((**++**++** Остальные - похоже. Кто-нибудь может помочь? |
![]() ![]() |
Axsis |
![]()
Сообщение
#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 бит, а вот частоту подбором искать придётся. пока это всё что выяснил по формату. Спасибо сказали:
|
![]() ![]() |
Упрощённая версия | Сейчас: 12th July 2025 - 11:55 |