Перейти к содержимому
Zone of Games Forum
xoixa

GTA Vice City Definitive Edition (утилиты для озвучки)

Рекомендованные сообщения

игра на Unreal Engine 4.16+

ресурсы запакованы в pakchunk0-WindowsNoEditor.pak(сжатие Oodle, без шифрования):

русский текст в Gameface/Content/Localization/GTAVC/Game/ru/Game.locres

английская озвучка в Gameface/Content/ViceCity/Audio/ в uexp’ax или ubulk’ax

в ogg контейнере со сжатием vorbis (ПК)

в wav контейнере со сжатием MS? ADPCM (switch)

 

1. Извлечь папку Gameface/Content/ViceCity/Audio/ из pakchunk0-WindowsNoEditor.pak
с сохранением путей файлов (например в C:/ViceCity_VO/)
2. Извлечь содержимое архива (например в C:/ViceCity_VO/)
3. Запустить export_ogg.bat > в папке ogg появятся аудио файлы с озвучкой
4. Озвучить файлы
5. Копировать содержимое папки ogg в папку, где находится папка Gameface из pakchunk0-WindowsNoEditor.pak
и согласиться на слияние папок.(например в C:/ViceCity_VO/) Не озвученные ogg файлы лучше удалить перед упаковкой
6. Запустить import_ogg.bat > в папке появится файл pakchunk0-WindowsNoEditor_VO.pak с озвучкой
7. Полученный pakchunk0-WindowsNoEditor_VO.pak закинуть в папку с игрой по пути Gameface/Content/Paks/

В ru_Game.locres.txt и en_Game.locres.txt, соответственно, есть русский и английский текст

Должно работать и с другими частями Definitive Edition (не проверял)

Скрытый текст
Скрытый текст


#GTA Vice City DE sound export
#Quickbms script

get Name fullbasename
string Name & "Gameface" // name with path start from "Gameface"
string Name + ".ogg"

findloc Offset binary "OggS"
math Offset - 4
goto Offset

get OggSize long
savepos Offset

if OggSize = 0 // no ubulk
	xmath Fix "Offset - 12"
	goto Fix
	get OggSize long
	log Name Offset OggSize
else //has ubulk
	open FDDE ubulk 1
	open 1
	get OggSize asize
	log Name 0 OggSize
endif 

 

Скрытый текст


for /R %%1 in (*.uexp) do quickbms export_ogg.bms %%1 ogg
@pause

 

Скрытый текст


#GTA Vice City DE ogg import
#QuickBMS script
#uexp as input file

get Name fullbasename
string Name & "Gameface" // name with path start from "Gameface"

get OlduexpSize asize

//check type
findloc Offset binary "OggS"
math Offset - 4
goto Offset
get OggSize long
if OggSize = 0
	set Type "NoBulk"
	set uexpSizeOff long -96 //(96 from end) offset in uasset of uexp size value
	print "Type:%Type%"
else
	set Type "WithBulk"
	print "Type:%Type%"
endif

goto 0
if Type = "NoBulk" //no ubulk
	findloc Offset binary "\xFC\xFF\xFF\xFF"
	xmath SampleRateOff "Offset - 29"
	xmath ChannelsOff "SampleRateOff - 29"
	findloc Offset binary "OggS"
	math Offset - 12
	goto Offset
	savepos OggSizeOff
	get OggSize long
	math Offset + 12
	goto Offset
	getDString OldOgg OggSize
	getDString Footer 20 //16(CompressedDataGuid) + 4(footer)
	log MEMORY_FILE 0 Offset //uexp without ogg	 
	
	//get new ogg
	open FDDE ogg 1 //ogg file
	open 1
	//read sound info
	findloc infoOffset binary "vorbis"
	math infoOffset + 10
	goto infoOffset
	get Channels byte
	get SampleRate short
	get OggSize asize
	goto 0
	getDString NewOgg OggSize
		
	//write info in uexp	
	PutVarChr MEMORY_FILE ChannelsOff Channels long
	PutVarChr MEMORY_FILE SampleRateOff SampleRate long
	PutVarChr MEMORY_FILE OggSizeOff OggSize long //ElementCount
	math OggSizeOff - 4
	PutVarChr MEMORY_FILE OggSizeOff OggSize long //SizeOnDisk
	
	//append ogg chunk and footer
	append
	putDString NewOgg OggSize MEMORY_FILE
	putDString Footer 20 MEMORY_FILE
	append
	
	//write uexp
	get uexpSize asize MEMORY_FILE
	string Name + ".uexp"
	log Name 0 uexpSize MEMORY_FILE
	
	//fix uexp size in uasset
	math uexpSize - 4
	open FDDE uasset 2 //uasset file
	open 2
	get uassetSize asize
	log MEMORY_FILE 0 uassetSize
	PutVarChr MEMORY_FILE uexpSizeOff uexpSize long //write new uexp size
	string Name - 5 //remove ".uexp"
	string Name + ".uasset"
	log Name 0 uassetSize MEMORY_FILE
	
elif Type = "WithBulk"  //with ubulk
	findloc Offset binary "\xFC\xFF\xFF\xFF"
	xmath SampleRateOff "Offset - 29"
	xmath ChannelsOff "SampleRateOff - 29"
	xmath GuidOff "Offset + 78"
	goto GuidOff
	getDString CompressedDataGuid 16
	get NumChunks long

	//ubulk chunks data
	get Format longlong //0x12 - ogg 0x03 - ADPCM
	for i = 0 < NumChunks
		get Bulk long //0x01
		get BulkDataFlags long //0x010501
		get ElementCount long
		get SizeOnDisk long
		get OffsetInFile longlong
		get DataSize long
		get AudioDataSize long
	next i
	
	//uexp without ogg
	findloc Offset binary "OggS"
	math Offset - 4
	goto Offset

	get OggSize long
	savepos Offset
	log MEMORY_FILE 0 Offset 
	
	//get new ogg chunk
	math OggChunkSize = OggSize
	getDString OldOggChunk OggChunkSize
	getDString Footer 4
	
	open FDDE ogg 1 //ogg file
	open 1
	getDString NewOggChunk OggChunkSize
	goto 0
	
	//read sound info
	findloc infoOffset binary "vorbis"
	math infoOffset + 10
	goto infoOffset
	get Channels byte
	get SampleRate short
	get OggSize asize
	
	//write ubulk
	string Name + ".ubulk"
	xmath FullSize "DataSize * NumChunks - 1" // - 1 for putvarchr
	log MEMORY_FILE2 0 OggSize
	putvarchr MEMORY_FILE2 FullSize 0 //padding
	math FullSize + 1
	log Name 0 FullSize MEMORY_FILE2
	
	//write info in uexp
	PutVarChr MEMORY_FILE ChannelsOff Channels long
	PutVarChr MEMORY_FILE SampleRateOff SampleRate long
	
	//append ogg chunk and footer
	append
	putDString NewOggChunk OggChunkSize MEMORY_FILE
	putDString Footer 4 MEMORY_FILE
	append
	
	//write uexp
	get uexpSize asize MEMORY_FILE //same as OlduexpSize
	string Name - 6 // -".ubulk"
	string Name + ".uexp"
	log Name 0 uexpSize MEMORY_FILE
endif

 

Скрытый текст


@echo off
:optimisation
echo optimisation
for /R %%1 in (*.uexp) do if not exist "%%~dpn1.ogg" ren "%%1" %%~n1.skip
echo optimisation Done

:import
echo Do ogg import
if not exist pak_me mkdir pak_me
for /R %%1 in (*.uexp) do quickbms -o import_ogg.bms "%%1" pak_me
echo ogg import Done

:Revert optimisation
echo Revert optimisation
for /R %%1 in (*.skip) do ren "%%1" %%~n1.uexp
echo Revert optimisation Done

:Pack to "pakchunk0-WindowsNoEditor_VO.pak"
echo Ready to pack files from pak_me folder
@pause
echo Packing to "pakchunk0-WindowsNoEditor_VO.pak"
echo ^"pak_me^\^*.^*^" ^"..^\..^\..^\^*.^*^" > filelist.txt
UnrealPak.exe "pakchunk0-WindowsNoEditor_VO.pak" -create=filelist.txt -compress
del filelist.txt
rmdir /S /Q pak_me
echo Packing Done
:end
@pause

 

UPD фикс для радио

Скрытый текст


#GTA Vice City DE ogg import
#QuickBMS script
#uexp as input file

get Name fullbasename
string Name & "Gameface" // name with path start from "Gameface"

get OlduexpSize asize

//check type
findloc Offset binary "OggS"
math Offset - 4
goto Offset
get OggSize long
if OggSize = 0
	set Type "NoBulk"
	set uexpSizeOff long -96 //(96 from end) offset in uasset of uexp size value
	print "Type:%Type%"
else
	set Type "WithBulk"
	print "Type:%Type%"
endif
goto 0
//check radio
	get Check byte
	if Check = 4 //0x04 - Radio with bulk; 0x17 - NoBulk?; 0x18 - WithBulk?
		set Radio byte 1
	endif
goto 0
if Type = "NoBulk" //no ubulk
	findloc Offset binary "\xFC\xFF\xFF\xFF"
	xmath SampleRateOff "Offset - 29"
	xmath ChannelsOff "SampleRateOff - 29"
	findloc Offset binary "OggS"
	math Offset - 12
	goto Offset
	savepos OggSizeOff
	get OggSize long
	math Offset + 12
	goto Offset
	getDString OldOgg OggSize
	getDString Footer 20 //16(CompressedDataGuid) + 4(footer)
	log MEMORY_FILE 0 Offset //uexp without ogg	 
	
	//get new ogg
	open FDDE ogg 1 //ogg file
	open 1
	//read sound info
	findloc infoOffset binary "vorbis"
	math infoOffset + 10
	goto infoOffset
	get Channels byte
	get SampleRate short
	get OggSize asize
	goto 0
	getDString NewOgg OggSize
		
	//write info in uexp	
	PutVarChr MEMORY_FILE ChannelsOff Channels long
	PutVarChr MEMORY_FILE SampleRateOff SampleRate long
	PutVarChr MEMORY_FILE OggSizeOff OggSize long //ElementCount
	math OggSizeOff - 4
	PutVarChr MEMORY_FILE OggSizeOff OggSize long //SizeOnDisk
	
	//append ogg chunk and footer
	append
	putDString NewOgg OggSize MEMORY_FILE
	putDString Footer 20 MEMORY_FILE
	append
	
	//write uexp
	get uexpSize asize MEMORY_FILE
	string Name + ".uexp"
	log Name 0 uexpSize MEMORY_FILE
	
	//fix uexp size in uasset
	math uexpSize - 4
	open FDDE uasset 2 //uasset file
	open 2
	get uassetSize asize
	log MEMORY_FILE 0 uassetSize
	PutVarChr MEMORY_FILE uexpSizeOff uexpSize long //write new uexp size
	string Name - 5 //remove ".uexp"
	string Name + ".uasset"
	log Name 0 uassetSize MEMORY_FILE
	
elif Type = "WithBulk"  //with ubulk
	if Radio = 1
		set SampleRateOff long 106
		set ChannelsOff long 77
		set GuidOff long 184
	else
		findloc Offset binary "\xFC\xFF\xFF\xFF"
		xmath SampleRateOff "Offset - 29"
		xmath ChannelsOff "SampleRateOff - 29"
		xmath GuidOff "Offset + 78"
	endif
	
	goto GuidOff
	getDString CompressedDataGuid 16
	get NumChunks long

	//ubulk chunks data
	get Format longlong //0x12 or 0x0e - ogg; 0x03 - ADPCM
	for i = 0 < NumChunks
		get Bulk long //0x01
		get BulkDataFlags long //0x010501
		get ElementCount long
		get SizeOnDisk long
		get OffsetInFile longlong
		get DataSize long
		get AudioDataSize long
	next i
	
	//uexp without ogg
	findloc Offset binary "OggS"
	math Offset - 4
	goto Offset

	get OggSize long
	savepos Offset
	log MEMORY_FILE 0 Offset 
	
	//get new ogg chunk
	math OggChunkSize = OggSize
	getDString OldOggChunk OggChunkSize
	getDString Footer 4
	
	open FDDE ogg 1 //ogg file
	open 1
	getDString NewOggChunk OggChunkSize
	goto 0
	
	//read sound info
	findloc infoOffset binary "vorbis"
	math infoOffset + 10
	goto infoOffset
	get Channels byte
	get SampleRate short
	get OggSize asize
	
	//write ubulk
	string Name + ".ubulk"
	xmath FullSize "DataSize * NumChunks - 1" // - 1 for putvarchr
	log MEMORY_FILE2 0 OggSize
	putvarchr MEMORY_FILE2 FullSize 0 //padding
	math FullSize + 1
	log Name 0 FullSize MEMORY_FILE2
	
	//write info in uexp
	PutVarChr MEMORY_FILE ChannelsOff Channels long
	PutVarChr MEMORY_FILE SampleRateOff SampleRate long
	
	//append ogg chunk and footer
	append
	putDString NewOggChunk OggChunkSize MEMORY_FILE
	putDString Footer 4 MEMORY_FILE
	append
	
	//write uexp
	get uexpSize asize MEMORY_FILE //same as OlduexpSize
	string Name - 6 // -".ubulk"
	string Name + ".uexp"
	log Name 0 uexpSize MEMORY_FILE
endif

 

для nintendo switch(тест):

Скрытый текст


for /R %%1 in (*.uexp) do quickbms export_adpcm_ns.bms %%1 wav
@pause

 

Скрытый текст


#GTA Vice City DE switch sound export
#Quickbms script

get Name fullbasename
get uexpSize asize
string Name & "Gameface" // name with path start from "Gameface"
string Name + ".wav"

findloc wavOffset binary "RIFF"
goto wavOffset

get RIFF long
get wavSize long
math wavSize + 8
xmath uBulkCheck "wavOffset + wavSize" 

if uBulkCheck > uexpSize // has ubulk
	xmath Offset "wavOffset - 36"
	goto Offset
	get NumChunks long
	math NumChunks - 1 //first chunk is in uexp
	get Format longlong //0x12 or 0x0e - ogg; 0x03 or 0x04 - ADPCM
	get Unk long //0x01
	get Unk2 long // 0x40 64
	
	//first chunk
	get ElementCount long
	get SizeOnDisk long
	get Unk3 longlong	
	getDString uexpWavPart ElementCount
	get DataSize long // 261202
	get uexpWavPartSize long // AudioDataSize 261202
	
	//read ubulk chunks data	
	for i = 0 < NumChunks
		get Bulk long //0x01
		get BulkDataFlags long //0x010501
		get ElementCount long
		get SizeOnDisk long
		get OffsetInFile longlong
		get DataSize long
		get AudioDataSize long
		
		putarray 0 -1 OffsetInFile
		putarray 1 -1 AudioDataSize
	next i
	
	//write wav part from uexp to file
	log Name wavOffset uexpWavPartSize 
	
	//append wav parts from ubulk to file
	open FDDE ubulk 1
	open 1
	for i = 0 < NumChunks
		getarray OffsetInFile 0 i
		getarray AudioDataSize 1 i
		append
		log Name OffsetInFile AudioDataSize  //append wav part from ubulk to file
		append
	next i
else //no ubulk
	log Name wavOffset wavSize
endif 

 

Скрытый текст


@echo off
:optimisation
echo optimisation
for /R %%1 in (*.uexp) do if not exist "%%~dpn1.wav" ren "%%1" %%~n1.skip
echo optimisation Done

:import
echo Do wav import
if not exist pak_me mkdir pak_me
for /R %%1 in (*.uexp) do quickbms -o import_adpcm_ns.bms "%%1" pak_me
echo wav import Done

:Revert optimisation
echo Revert optimisation
for /R %%1 in (*.skip) do ren "%%1" %%~n1.uexp
echo Revert optimisation Done

:Pack to "pakchunk0-WindowsNoEditor_VO.pak"
echo Ready to pack files from pak_me folder
@pause
echo Packing to "pakchunk0-WindowsNoEditor_VO.pak"
echo ^"pak_me^\^*.^*^" ^"..^\..^\..^\^*.^*^" > filelist.txt
UnrealPak.exe "pakchunk0-WindowsNoEditor_VO.pak" -create=filelist.txt -compress
del filelist.txt
rmdir /S /Q pak_me
echo Packing Done
:end
@pause

 

Скрытый текст


#GTA Vice City DE switch wav import
#QuickBMS script
#uexp as input file

get Name fullbasename
string Name & "Gameface" // name with path start from "Gameface"

get OlduexpSize asize

//check type
get Check byte //0x04 or 0x05 - Radio with bulk; 0x17 - NoBulk?; 0x18 - WithBulk?
findloc wavOffset binary "RIFF"
goto wavOffset
get RIFF long
get wavSize long
math wavSize + 8
xmath uBulkCheck "wavOffset + wavSize"
goto 0

if uBulkCheck > OlduexpSize //with Bulk
	set Type "WithBulk"
	print "Type: %Type%"
	if Check = 4 || Check = 5 // radio
		set Radio byte 1
		print "Type: Radio"
	endif
else //no bulk
	set Type "NoBulk"
	set uexpSizeOff long -96 //(96 from end) offset in uasset of uexp size value
	print "Type:%Type%"
endif

//process
if Type = "NoBulk" //no ubulk
	findloc Offset binary "\xFC\xFF\xFF\xFF"
	xmath SampleRateOff "Offset - 29"
	xmath ChannelsOff "SampleRateOff - 29"
	xmath Offset "wavOffset - 12"
	goto Offset
	savepos wavSizeOff
	get wavSize long
	goto wavOffset
	getDString Oldwav wavSize
	getDString Footer 20 //16(CompressedDataGuid) + 4(footer)
	log MEMORY_FILE 0 wavOffset //uexp without wav	 
	
	//get new wav
	open FDDE wav 1 //wav file
	open 1
	//read sound info
	findloc infoOffset binary "WAVEfmt "
	math infoOffset + 12
	goto infoOffset
	get AudioFormat short
	get Channels short
	get SampleRate long
	get wavSize asize
	goto 0
	getDString Newwav wavSize
		
	//write info in uexp
	PutVarChr MEMORY_FILE ChannelsOff Channels long
	PutVarChr MEMORY_FILE SampleRateOff SampleRate long
	PutVarChr MEMORY_FILE wavSizeOff wavSize long //ElementCount
	math wavSizeOff - 4
	PutVarChr MEMORY_FILE wavSizeOff wavSize long //SizeOnDisk
	
	//append wav chunk and footer
	append
	putDString Newwav wavSize MEMORY_FILE
	putDString Footer 20 MEMORY_FILE
	append
	
	//write uexp
	get uexpSize asize MEMORY_FILE
	string Name + ".uexp"
	log Name 0 uexpSize MEMORY_FILE
	
	//fix uexp size in uasset
	math uexpSize - 4
	open FDDE uasset 2 //uasset file
	open 2
	get uassetSize asize
	log MEMORY_FILE 0 uassetSize
	PutVarChr MEMORY_FILE uexpSizeOff uexpSize long //write new uexp size
	string Name - 5 //remove ".uexp"
	string Name + ".uasset"
	log Name 0 uassetSize MEMORY_FILE
	
elif Type = "WithBulk" //with ubulk
	if Radio = 1
		set SampleRateOff long 106
		set ChannelsOff long 77
		set GuidOff long 184
	else
		findloc Offset binary "\xFC\xFF\xFF\xFF"
		xmath SampleRateOff "Offset - 29"
		xmath ChannelsOff "SampleRateOff - 29"
		xmath GuidOff "Offset + 78"
	endif
	
	goto GuidOff
	getDString CompressedDataGuid 16
	get NumChunks long
	math NumChunks - 1 //first chunk is in uexp
	get Format longlong //0x12 or 0x0e - ogg; 0x03 or 0x04 - ADPCM
	
	//uexp without wav
	xmath Offset "wavOffset - 12"
	goto Offset
	//savepos wavSizeOff
	get wavSize long
	goto wavOffset
	log MEMORY_FILE 0 wavOffset
	math wavChunkSize = wavSize
	getDString OldwavChunk wavChunkSize
	savepos FooterOffset
	get wavSize long
	get wavSize long
	//ubulk chunks data	
	for i = 0 < NumChunks
		get Bulk long //0x01
		get BulkDataFlags long //0x010501
		get ElementCount long
		get SizeOnDisk long
		get OffsetInFile longlong
		get DataSize long
		get AudioDataSize long
		
		putarray 0 -1 OffsetInFile
		putarray 1 -1 AudioDataSize
	next i
	xmath ChunksDataSize "NumChunks * 32"
	xmath FooterSize "8 + ChunksDataSize + 4"	
	goto FooterOffset
	getDString Footer FooterSize
	
	//get new wav chunk
	open FDDE wav 1 //wav file
	open 1

	getDString NewWavChunk wavChunkSize
	savepos BulkStart
	goto 0
	
	//read sound info
	findloc infoOffset binary "WAVEfmt "
	math infoOffset + 12
	goto infoOffset
	get AudioFormat short
	get Channels short
	get SampleRate long
	get wavSize asize
	goto 0
	
	//create ubulk
	for i = 0 < NumChunks
		getarray OffsetInFile 0 i
		getarray AudioDataSize 1 i
		if OffsetInFile != 0
			math OffsetInFile - 1 // - 1 for putvarchr
			putvarchr MEMORY_FILE2 OffsetInFile 0 //padding
		endif
		append
		log MEMORY_FILE2 BulkStart AudioDataSize //append wav part to MF2(ubulk)
		append
		
		math BulkStart + AudioDataSize
	next i
	xmath Pad "OffsetInFile + DataSize"
	putvarchr MEMORY_FILE2 Pad 0 // append padding zeroes
	
	//write ubulk
	string Name + ".ubulk"
	get uBulkSize asize MEMORY_FILE2
	log Name 0 uBulkSize MEMORY_FILE2
	
	//write info in uexp
	PutVarChr MEMORY_FILE ChannelsOff Channels long
	PutVarChr MEMORY_FILE SampleRateOff SampleRate long
	
	//append wav chunk and footer
	append
	putDString NewWavChunk wavChunkSize MEMORY_FILE
	putDString Footer FooterSize MEMORY_FILE
	append
	
	//write uexp
	get uexpSize asize MEMORY_FILE //same as OlduexpSize
	string Name - 6 // -".ubulk"
	string Name + ".uexp"
	log Name 0 uexpSize MEMORY_FILE
endif

 

 

 

Изменено пользователем xoixa
тестовые скрипты для switch версии

Поделиться сообщением


Ссылка на сообщение
В 25.01.2025 в 11:27, Alex_Grom сказал:

Хочу перенести озвучку GTA Vice City Definitive Edition с ПК на консоль Nintendo Switch.

Подскажите пожалуйста, каким образом отконвертировать звуковые .ogg файлы в требуемый кодек, чтобы потом запаковать обратно с помощью import_ogg.bat ?

 

В 27.01.2025 в 17:24, n33 сказал:

привет! ищу тоже решение вопроса)

конвертировать звук может, например, ffmpeg

ffmpeg -i "input.ogg" "output.wav"

в качестве параметров можно указать дискретизацию: -ar 96000, количество каналов: -ac 2, кодек: -c:a pcm_s16le, битрейт: -b:a 192k

для конвертации всех wav файлов в ogg формат для утилит, попробуйте такой bat файл:

Скрытый текст

for /R %%1 in (*.wav) do ffmpeg -i "%%~1" -ar 44100 -b:a 192k "%%~n1.ogg"
@pause

 

Если switch версия не воспринимает ogg, нужно модифицировать утилиты для другого формата

 

UPD Посмотрел на switch файлы

В switch версии звук в wav контейнерах со сжатием, очень похожим на MS ADPCM
Единственное, что не сходится, в стерео файлах как-то странно замешаны каналы:

Скрытый текст

Стерео файлы не воспроизводятся(а это все ассеты с ubulk, в т.ч. радио).

Sox ругается “SamplesPerBlock(1012) incompatible with blockAlign(512)”

Если в заголовке wav изменить 2 канала на 1, файл воспроизводится, но звук “замедленный” и искажённый.

Конвертировать файлы в MS ADPCM перед импортом можно таким bat:

Скрытый текст

for %%1 in (*.wav) do ffmpeg -i "%%~1" -c:a adpcm_ms -fflags +bitexact "adpcm/%%~n1.wav"
@pause

для импорта моно озвучки в ассеты, в которых используется странный стерео ADPCM, можно попробовать конвертировать озвучку так


for %%1 in (*.wav) do ffmpeg -i "%%~1" -ac 2 -c:a adpcm_ms -fflags +bitexact "adpcm/%%~n1.wav"
@pause

 

 

Цитата

F13.1 | Если вы действительно хотите, чтобы вам помогли в разборе ресурсов, то сразу же выкладывайте на любой «обменник» один-два файла нужного формата

uexp и ubulk из switch версии

Изменено пользователем xoixa
  • Лайк (+1) 2

Поделиться сообщением


Ссылка на сообщение
Цитата

uexp и ubulk из switch версии

Большое спасибо за ответ, попробую отконвертировать!

Нужный формат файлов (с альтернативной не полной озвучки):

https://disk.yandex.ru/d/jtR0sVJDqH3acw

Если не затруднит, подскажите “правильную” кодировку звука для switch версии. Благодарю!

 

Изменено пользователем Alex_Grom
  • Лайк (+1) 1

Поделиться сообщением


Ссылка на сообщение
31 минуту назад, Alex_Grom сказал:

с альтернативной не полной озвучки

а оригинальные файлы switch найдутся?

Поделиться сообщением


Ссылка на сообщение

@xoixa Добрый вечер! Да, пришлю вам.

UPD: 

https://disk.yandex.ru/d/G74x__NM6urgsg
 

Изменено пользователем n33
дополнение

Поделиться сообщением


Ссылка на сообщение

Добавил в шапку информацию по формату звука в switch версии

и тестовые скрипты для switch export_adpcm_ns.bat и import_adpcm_ns.bat

Экспорт в папку wav. Перед импортом нужно сжать звук в adpcm wav

Нужно провести тесты на консоли:

  1. Воспроизводятся ли моно ассеты в игре, конвертированные в ms adpcm pak1
  2. Воспроизводятся ли моно звуки в игре, конвертированные в стерео ms adpcm pak2

Голоса должны стать писклявыми

в паке 1 голос копа (Cop/Voice_1/ Arrest_1 и Beat_2)

в паке 2 на радио и wildstyle трек Trouble Funk — "Pump Me Up" (WILD_1)

в миссии Rub Out после убийства Рикардо (ASS_2m)

 

Поделиться сообщением


Ссылка на сообщение

@xoixa Добрый день! В итоге подошла озвучка, портированная на пс4. Там файлы не в wav, а в adpcm формате. Но все работает на консоли. Все же интересно разобраться и пожать файлы под switch. Вот несколько файлов оттуда:
https://disk.yandex.ru/d/KNV_4whUCCdj1w

Изменено пользователем n33

Поделиться сообщением


Ссылка на сообщение
В 04.02.2025 в 13:10, n33 сказал:

Там файлы не в wav, а в adpcm формате

 

В 18.11.2024 в 21:00, xoixa сказал:

в wav контейнере со сжатием MS? ADPCM (switch)

 

В 04.02.2025 в 13:10, n33 сказал:

Все же интересно разобраться и пожать файлы под switch

 

В 31.01.2025 в 21:25, xoixa сказал:

Нужно провести тесты на консоли:

  1. Воспроизводятся ли моно ассеты в игре, конвертированные в ms adpcm pak1
  2. Воспроизводятся ли моно звуки в игре, конвертированные в стерео ms adpcm pak2

Голоса должны стать писклявыми

в паке 1 голос копа (Cop/Voice_1/ Arrest_1 и Beat_2)

в паке 2 на радио и wildstyle трек Trouble Funk — "Pump Me Up" (WILD_1)

в миссии Rub Out после убийства Рикардо (ASS_2m)

 

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

  • Изменения статусов

    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 1 ответ
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
  • Лучшие авторы


×