IPB

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

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


Walter Sullivan
***

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



Откопал одну старую игру - 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
Axsis
Jul 30 2008, 11:39
Сообщение #2


Advanced Member
***

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



а какими конвертерами ты уже пытался открыть? чтоб не прадлагать тебе то же самое.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 30 2008, 15:28
Сообщение #3


Walter Sullivan
***

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



movieconverter (str2avi, str2avi)
PSXMultiConverter 3.23
xa2wav (из набора утилит Power Psx Tools GUI)
PSMPlay 0.3

Никто из вышеперечисленных этот формат не знает.
Как я уже отмечал, по виду оно напоминает сжатое аудио, но без заголовка.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Axsis
Jul 30 2008, 16:02
Сообщение #4


Advanced Member
***

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



попробуй PSound, а также другие утилитки с этой странички, может какая-нибудь справится.
мы тут в соседней теме тоже извлечение ресурсов из игрухи для psx обсуждали. заглядывал? wink.gif


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 31 2008, 17:07
Сообщение #5


Walter Sullivan
***

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



QUOTE(Axsis @ Jul 30 2008, 16:02) *
попробуй PSound, а также другие утилитки с этой странички, может какая-нибудь справится.
Спасибо большое перепробовал всё что там было - увы, всё мимо. Все утилиты тупо пытаются нащупать заголовок и определить по нему формат, а его там нет! Так что постоянный облом. И я даже не представляю, какой он там должен быть.

QUOTE(Axsis @ Jul 30 2008, 16:02) *
мы тут в соседней теме тоже извлечение ресурсов из игрухи для psx обсуждали. заглядывал? wink.gif
Угу, видел. На самом деле "The Note" - это PS1 игра, там много не так как в современных консольных играх.

Кусок .STR-файла выложить для экспериментов? Хотя можно просто то что я в предыдущем посте написал (скобки & и *) записать в текстовый файл и сохранить как .STR. Если хоть какая-нибудь программа после этого проиграет первые несколько сотых секунды (без хрипа) - значит она справилась.

Ещё vgmstream попробовал - он, гад, говорит "failed opening' - тоже заголовок ищет. Блин, знать бы хоть что за сжатие...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Axsis
Aug 6 2008, 21:18
Сообщение #6


Advanced Member
***

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



ну выложи чтоли хоть один файлик для примера


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Aug 7 2008, 11:47
Сообщение #7


Walter Sullivan
***

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



QUOTE(Axsis @ Aug 6 2008, 21:18) *
ну выложи чтоли хоть один файлик для примера
На Team FTP лежит XA_004.rar.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Axsis
Aug 19 2008, 20:28
Сообщение #8


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
-=CHE@TER=-
Aug 3 2009, 19:11
Сообщение #9


Walter Sullivan
***

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



Год спустя...
До меня, наконец, дошло что же там такое, после того как ещё одну PSX-игру посмотрел. Оказывается, это .XA файлы, но без заголовка. Нашёл прогу с иходными кодами - cdxa (см. ссылку справа "Tar/GZ"). Попытался декодировать, звук перестал трещать (т.е. декодировался нормально), но почему-то стал заикаться. При увеличении дорожки видно, что между кусками звука торчит пустота. Эксперементы с длинной буфера желаемого результата не принесли. Попытки пропустить пустоту, про которую говорил товарищ Axsis, тоже ничего особо не дало.
Кто-нибудь может помочь?

После распаковки архива по ссылке выше нужно из каталога /xmms-cdxaaudio/ взять файлы xadecode.c и xadecode.h и использовать их в такой вот тестовой программке:

CODE

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include "xadecode.h"

int main(void){
FILE *fl, *fw;
SoundSector *blk;
long sz;
char *buf;
  fl = fopen("XA_004.STR", "rb");
  fw = fopen("XA_004.DAR", "wb+");
  blk = (SoundSector *)malloc(kNumOfSGs * sizeof(SoundGroup) + 0x18);
  memset(blk->sectorFiller, 0, 0x18); /* этого заголовка, увы, в файлах нет...*/
  buf = (char *)malloc(0xFFFF);
  do{
    fread(blk->SoundGroups, 1, kNumOfSGs * sizeof(SoundGroup), fl);
    sz = decodeSoundSect1(blk, buf);
    fwrite(buf, 1, sz, fw);
  }while(!feof(fl));
  free(buf);
  free(blk);
  fclose(fw);
  fclose(fl);
  return(0);
}


Заранее спасибо.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Apr 8 2012, 12:26
Сообщение #10


Walter Sullivan
***

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



Распаковал вот этим: jpsxdec.
Правда музыка во вступительном ролике, которую я хотел вытащить, увы, оказалась смикшированна вместе со словами. Печально.
Если кому-нибудь понадобится прохождение этой игры, то оно вот тут.
Ну, и до кучи Let's Play (единственный, который я нашёл на трубе) для тех, кому самому лень проходить.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

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

 



Упрощённая версия Сейчас: 14th November 2024 - 20:37