Перейти к содержимому
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)

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас



Zone of Games © 2003–2025 | Реклама на сайте.

×