PSX Planet: SONY PlayStation Community

PSX Planet: SONY PlayStation Community (https://psxplanet.ru/forum/index.php)
-   SONY PlayStation - TechSupport (https://psxplanet.ru/forum/forumdisplay.php?f=20)
-   -   Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP) (https://psxplanet.ru/forum/showthread.php?t=6606)

Bambuch0 22.08.2021 22:20

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
Цитата:

Сообщение от SlavaVlasov (Сообщение 279081)
1 ситуация:

Скорее всего, MFAudio не видит конца и бесконечно лепит пустоту. Мне больше нравится утилита от все того же VGMToolBox, - test.exe. За ней такого замечено не было, плюс, чтобы наверняка, ставлю еще ключ -i который принудительно ставит количество лупов на 1 и файл просто считывается 1 раз от начала и до конца.
vgmstream
d:\TEMP\!BUILDS\!Utils>test -h
vgmstream CLI decoder r1050-3600-g2c6edf58 Feb 17 2021
Usage: test [-o <outfile.wav>] [options] <infile>
Options:
-o <outfile.wav>: name of output .wav file, default <infile>.wav
<outfile> wildcards can be ?s=subsong, ?n=stream name, ?f=infile
-l loop count: loop count, default 2.0
-f fade time: fade time in seconds after N loops, default 10.0
-d fade delay: fade delay in seconds, default 0.0
-F: don't fade after N loops and play the rest of the stream
-i: ignore looping information and play the whole stream once
-e: force end-to-end looping
-E: force end-to-end looping even if file has real loop points
-s N: select subsong N, if the format supports multiple subsongs
-m: print metadata only, don't decode
-L: append a smpl chunk and create a looping wav
-2 N: only output the Nth (first is 0) set of stereo channels
-p: output to stdout (for piping into another program)
-P: output to stdout even if stdout is a terminal
-c: loop forever (continuously) to stdout
-x: decode and print adxencd command line to encode as ADX
-g: decode and print oggenc command line to encode as OGG
-b: decode and print batch variable commands
-h: print extra commands (for testing)
-V: print version info and supported extensions as JSON
-I: print requested file info as JSON
-v: validate extensions (for extension testing)
-r: output a second file after resetting (for reset testing)
-k N: seeks to N samples before decoding (for seek testing)
-K N: seeks again to N samples before decoding (for seek testing)
-t file: print tags found in file (for tag testing)
-T: print title (for title testing)
-D <max channels>: downmix to <max channels> (for plugin downmix testing)
-O: decode but don't write to file (for performance testing)

Цитата:

Сообщение от SlavaVlasov (Сообщение 279081)
4 ситуация: лупы.

Тут опять поможет test.exe и ключ -i
Цитата:

Сообщение от SlavaVlasov (Сообщение 279081)
в том же Гарри Поттере... но извлечь оригинальный файл там вроде нельзя. Можно только оффсеты узнать.

Если узнаешь все оффсеты и если выдаст еще и размеры, могу попробовать набросать тебе батник, который порежет архив на части. Ну или если только оффсеты, то тогда при условии, что файлы идут сразу друг за другом, чтобы можно было размер вычислить.
Цитата:

Сообщение от SlavaVlasov (Сообщение 279081)
2 ситуация:

Цитата:

Сообщение от SlavaVlasov (Сообщение 279081)
3 ситуация:

Тут да, самые хреновые случаи, когда разрабы убирают оконцовку звуков или лепят свою, кастомную. В таких случаях я беру от оригинального файла шапку и оконцовку (обычно 16 байт) и леплю вместо своих.

SlavaVlasov 23.08.2021 01:39

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
Цитата:

Сообщение от Bambuch0 (Сообщение 279085)
В таких случаях я беру от оригинального файла шапку и оконцовку (обычно 16 байт) и леплю вместо своих.

А, то есть и шапку надо брать? Надо будет попробовать. Потому что у меня был момент, когда в Bugs Bunny - Lost in Time пытался вставить интерактивную озвучку с PC в босс-уровне с Yosemite Sam, так вот там, где он кричит "Fire!" (или первый, или второй дубль) там была настоящая засада: файл заканчивается натуральной абракадаброй (подобно той, что в середине звука). Приходилось водить туда-сюда, чтобы захватить оригинальный "хвост". Хотя окончание там несколько байт, как и в других звуках, но вот конкретно в этом уровне появился какой-то глюк, что на приставке шипение пошло. Другими словами, есть некий набор байт, которыми файл начинался и/или заканчивался (уже не помню), но просто вставить новый с подходящим размером и теми же байтами было нельзя.

Когда делал нынче приостановленный порт перевода этой игры с PC, я походу "пьесы" протоколировал все свои действия. Вот что я тогда написал:
Нажмите
  • файл лучше проверить через PSound. Прослушайте внимательно каждый вставленный звук: “Щелк” в конце - ЭТО ПЛОХО. Вдвойне плохо, если при повторном сканировании PSound стал обнаруживать в модифицированном файле МЕНЬШЕ звуков, чем в исходном. Это может привести к последующим звуковым глюкам в геймплее (шум, хрип, тональные сигналы, перегруз громкости и другие проблемы), что затронет в конечном итоге даже музыку, хоть она и из другого файла. Чтобы убрать этот “щелк”, нужно скопировать из оригинального файла звука (не архива, а отдельного файла-фразы) последние две строчки байт в новый и снова запаковать. Если “щелк” не пропадает, то можно скопировать три и более строчек. Даже если “щелк” все же пропал в PSound, в игре, после многократного воспроизведения файла-фразы, могут появляться лишние тональные звуки. Особенно внимательно стоит отнестись к босс-уровню с Yosemite Sam’ом (LEVEL3\L03ACOM.BZZ): может получиться так, что, после воспроизведения фразы (например “Fire!” во время одиночного выстрела), может остаться еле заметный тон-сигнал на протяжении всего уровня. При многократном повторении этой фразы он может усилиться, но не сильно, поэтому, чтобы его расслышать, нужно выключить музыку в опциях. Если на эмуляторе не заглушается музыка, воспользуйтесь функцией “Вынуть CD”. Данный глюк подтвердился и на живой приставке. Нужно экспериментировать с копированием “хвоста” файла так, чтобы и щелчка не было, и тон-сигнала в игре. Если заменяемый файл - последний в архиве, необходимо сверить окончание оригинального и измененного архивов (особенно в районе “wwwwwwww”). Если оно будет отличаться, скопировать из его из исходного файла в измененный и сохранить.
Спасибо за подсказку, буду пробовать test.exe =)

DruchaPucha 23.08.2021 10:52

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
VGMToolbox криво выдирает (через встроенный Sony ADPCM Extractor), если конечно не сделать отдельный скрипт

DruchaPucha 23.08.2021 13:18

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
Цитата:

Сообщение от Bambuch0 (Сообщение 279074)
DruchaPucha, Не благодари. =) Это уже существует, скрипт для BMS, настраиваемый. Импорт назад работает.
Если им не получается выдрать полностью файлы, то хотя бы узнаю их оффсеты и через самодельный скрипт разрезаю контейнер по этим оффсетам на куски. Из логов с оффсетами также легко сделать лог для SkyTools. У меня он даже где-то был, но затерялся... Но, в случае чего, могу заново набросать.

*** скрытый текст ***

А можно подсказку, что и где вписывать, а то я так и не понял что и как=)

Bambuch0 23.08.2021 13:35

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
DruchaPucha, сверху задаешь с какого адреса искать, сколько байт скипать, задаешь расширение, которое будет присвоено файлам. Еще можно указать оффсеты, где указаны размеры файлов и их имена, если есть конечно. Если нет - то не указываешь.

А что именно искать - это в разделе, после слов - goto SEARCH, там где почти все комментировано решеткой. То, что раскомментировано, то и ищет. Можешь свою любую последовательность туда вписать.


Например, если раскомментирована строка:
FindLoc SIZE string "VAGp" 0 ""
То будет искать файлы, начинающиеся на VAGp
Если FindLoc SIZE string \x7\x0\x77\x77\x77\x77\x77\x77\x77\x77\x77\x77\x77\x77\x77\x77 0 "" # VAG stop marker 1
То ищет стандартный стопмаркер VAG.

DruchaPucha 23.08.2021 14:23

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
А можно пример сделать, а то я в этом quickbms не бум-бум.
Внутри файла 8 аудио:
https://www38.zippyshare.com/v/AO2zel2c/file.html

Bambuch0 23.08.2021 15:27

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
DruchaPucha, Вот для этого случая настроенный комплект. Тут батник распаковки, батник запаковки и сам настроенный BMS скрипт. В нем вначале я указал:
NEGBIAS 0xe - скрипт ищет в конце файла стоп-маркер, тут это 07, а так как далее идут нули, а не четырнадцать 77, то добавил еще смещение на 15, т.е. на - Е.
EXT ".vag" - тут понятно, файлы будут иметь расширение VAG.
SIZEBIAS "" - тут были данные, я их занулил, в нашем случае размер не указан ни под каким оффсетом.
Ну и самое главное, что ищем... Т.к. это RAWC, то искал я блок из 16 нулей.
FindLoc SIZE string \x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0 0 "" # 0x10 zero block

Проверил, извлекает корректно, назад тоже импортирует.
Этот текст скрыт Вы должны зарегистрироваться чтобы увидеть скрытый текст. После регистрации и активации аккаунта нажмите кнопку 'Спасибо', чтобы увидеть скрытый текст содержащейся здесь. Регистрация возможна через e-mail и OpenID. Если Вы испытываете проблемы с регистрацией, пожалуйста свяжитесь с Администратором volgame@gmail.com

botik 23.08.2021 15:45

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
флаг начала 00000000000000000000000000000000
флаг конца 00070000000000000000000000000000

Трек1 0x00010 - 0x1E5A0
Трек2 0x1E5С0 - 0x3ED40
Трек3 0x3ED60 - 0x740F0
Трек4 0x74110 - 0x83510
Трек5 0x83530 - 0x8F0B0
Трек6 0x8F0D0 - 0xA2A60
Трек7 0xA2A80 - 0xAEF30
Трек8 0xAEF50 - 0xD2450

Bambuch0 23.08.2021 16:32

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
botik, Почти правильно, только начало с 0х0, а не с 0х10, и конец на 0х10 дальше.


00000000 124336 VOCICE_1.vag
0001e5b0 133024 VOCICE_2.vag
0003ed50 218032 VOCICE_3.vag
00074100 62496 VOCICE_4.vag
00083520 48032 VOCICE_5.vag
0008f0c0 80304 VOCICE_6.vag
000a2a70 50384 VOCICE_7.vag
000aef40 144672 VOCICE_8.vag

DruchaPucha 23.08.2021 19:27

Ответ: Перенос русской озвучки/текста из РС игр (PS1/PS2/PS3/PSP)
 
Спасибо, разобрался. А как пересчитывать, если вместо 07 идёт 03, но не с нулями, а данными?
https://i.ibb.co/rdkcd9j/HEXquick.jpg


Часовой пояс GMT +3, время: 06:31.

Перевод: zCarot
Права | Copyright ©
© PSX Planet Community 2003-2024