 |
Цитата: |
 |
|
|
|
|
|
|
Если им не получается выдрать полностью файлы, то хотя бы узнаю их оффсеты и через самодельный скрипт разрезаю контейнер по этим оффсетам на куски
|
|
 |
|
 |
|
Я обычно для подобных процедур использую
VGMToolbox для поиска и извлечения,
MFAudio для прослушивания и конвертации и потом готовые файлы могу закинуть тем же
Hex-редактором, например. Но есть другая проблема - звуки иногда извлекаются некорректно:
1 ситуация: извлеченный файл не заканчивается при прослушивании или конвертации в
MFAudio. Конвертируешь в
WAV, а он растет сотнями мегабайт, пока принудительно не вырубишь
MFAudio (я так понимаю, что проблема в отрезанном "хвосте").
2 ситуация: вставляю файл обратно, но, при прослушивании через PSound он может заканчиваться неприятным на слух "глюком", а часть последующих файлов (или одного следующего)
PSound просто не видит (поврежден заголовок?).
3 ситуация: пытаюсь захватить больше или меньше "хвоста" нового файла поверх старого (ну, то есть, чтобы он заканчивался частью старых данных), но здесь тоже лотерея: в
PSound оно может и будет нормально отрабатывать, но на консоли какой-то из звуков может закончится таким слабым "тоном" (это как когда зацикливается последний короткий участок звука перед синим экраном в
Windows).
4 ситуация: лупы. Как я понимаю, остальные параметры, кроме самого звука, очищаются вышеперечисленными программами. Плюс
VGMToolbox в том же Гарри Поттере не видит (и не режет) все на несколько звуковых файлов. С этим справляется
VGMTrans, но извлечь оригинальный файл там вроде нельзя. Можно только оффсеты узнать.
Собственно, это все проблемы при моей работе с
rawc. То, что срезаются "хвосты"... я не знаю, как работает алгоритм программы, но я так понимаю, что нулей (или чем там обычно заканчивается
rawc) между файлами в псевдоархиве может быть больше чем нужно (отсюда и некорректное извлечение).