Proyecto Theme Park World PS2 Español Castellano

Hola a todos, abro este hilo para mostrar el proyecto en el que estoy trabajando, una traducción completa de Theme Park World en Español Castellano para PS2.

El juego no salió para PS2 en español inexplicablamente ya que para PS1 y PC si lo hizo.

Actualmente un amigo (Asc) es quien me ayuda con la parte de código, gracias a el me ha sido posible editar el archivo spa.dat que el juego contiene sin uso y que reemplaza al alemán usando una mini herramienta para que las tablas strings que contiene el spa.dat no se dañen al editar la longitud del texto en el archivo.

De momento no se puede editar las texturas del juego en formato .SSH ni compilar el .SDT con las voces en castellano, las texturas usan una compresión custom de EA y probablemente muy pronto podrán ser editadas usando EA-Graphics-Manager o alguna herramienta que convierta .TGA a .SSH.

Lo que es posible de momento:

1) Extraer los archivos .WAD de PC y PS2 usando Quickbms y reimportar los archivos editados en el .WAD usando Quickbms.

2) Extraer los archivos .SDT de PC y PS2 usando unos nuevos scripts para Quickbms (gracias a Asc)

3) Editar el archivo spa.dat que contiene el texto en español.


Lo que no es posible de momento:

1) Reemplazar texturas ya que el juego usa .SSH y no existe ninguna herramienta para este tipo de .SSH.

2) Extraer texturas de los .WCT de Theme Park World (PC) que serán necesarias para reemplazar las texturas en alemán.

3) Recompilar el archivo .SDT con las voces en Castellano de Theme Park World PC.

Si alguien está interesado en ayudar deja un mensaje en el tema. Actualmente sería necesario alguien con conocimientos de código, testers para el texto o para solucionar algunos fondos a los que se les ha quitado el texto pero que requieren edición en photoshop.

Algunas imágenes tomadas en PCSX2 por un amigo (Kritz)

https://prnt.sc/qrVxhjw4A4I-

https://prnt.sc/RyBBVqVfE5Du

https://prnt.sc/8ALmWndkiBqd

https://prnt.sc/p5YKhjECHycr

https://prnt.sc/vDvDqr0bp2CA

https://prnt.sc/rpwp83ZEeh3R

https://prnt.sc/xlQFrimP-8vN

También una imagen del menú en Español sobre el que estoy trabajando para cuando sea posible reemplazar SSH.

https://prnt.sc/nXJ6oP1KRskc
He tenido la oportunidad de echar un vistazo al juego tanto en PC como en PS2, y aquí te dejo algunos comentarios sobre lo que he encontrado:

1) Las texturas SSH son estructuras SHPS, comunes en juegos de EA de la época. Sin embargo, como habrás notado, utilizan un modo no compatible con las herramientas disponibles actualmente (0x84).

En este modo, los datos de imagen comienzan siempre con "GM" (0x47 0x4D), y el juego los descomprime en la función localizada en 0x00223FE0. Esta función toma dos argumentos en sus respectivos registros:

  • A0 → Dirección de memoria de los datos comprimidos (entrada).
  • A1 -> Dirección de memoria de los datos descomprimidos (salida).

Una vez finalizada la descompresión, el resultado es una textura en color directo de 32 bits (ABGR Little Endian, típica en PS2). Sin embargo, siguen existiendo dos problemas principales:

  • Si sigues el código ensamblador de la función de descompresión en un depurador, notarás que, en lugar de descomprimir los datos en la CPU, la función configura la transferencia de estos a otro sistema y luego espera a que los datos descomprimidos terminen de escribirse en memoria. Es posible que la descompresión se realice de forma acelerada en los VU0 / VU1, lo que dificultaría el desarrollo de una herramienta equivalente.
  • Una vez que los datos descomprimidos son recibidos, no están dispuestos de forma lineal, sino en tiles de 16 píxeles de ancho.

Teniendo todo esto en cuenta, es posible extraer las texturas:

Imagen


Sin embargo,este enfoque de depuración impide la reinserción. Por lo tanto, se necesita más investigación para comprender mejor los detalles del sistema de compresión. Además, no es posible utilizar otros modos soportados por la especificación SHPS, ya que el juego solo es compatible con el modo 0x84:

Imagen


2) Las texturas WCT están bien documentadas, por lo que no he necesitado investigarlas demasiado. Simplemente he confirmado que la documentación tiene sentido y coincide con las estructuras encontradas en los archivos del juego. Estas texturas consisten en datos de crominancia / luminancia (YCbCr) comprimidos en LZSS:

https://opentpw.gu3.me/formats/wct.html

3) Los paquetes SDT son bastante sencillos y similares tanto en la versión de Windows como en la de PlayStation 2. En ambos casos, contienen un array de punteros a diferentes pistas de audio, cada una identificada por una cabecera de 0x28 (40) bytes. Esta cabecera incluye detalles sobre la pista, como su nombre, frecuencia de muestreo, la cantidad de memoria a reservar para las muestras de audio descomprimidas, etc...

La principal diferencia entre la versión de Windows y la de PS2 es que, en la primera, cada puntero apunta a la cabecera de su pista correspondiente (con los datos de audio almacenados justo después); mientras que en la segunda, cada puntero apunta directamente a los datos de audio (estando las cabeceras ordenadas en un segundo array, justo después del de punteros).

El audio siempre está en formato MP2, a 22050 Hz, 48 Kbit/s, mono:

https://jumpshare.com/s/R8vomhY3a04nOCBFG0jx

Mucha suerte con el proyecto!
Joder me interesa muchísimo. Mucho ánimo. De programación a estos niveles poco ya que soy programador pero de CMS, pero si os puedo echar una mano con algo me decís. Un saludo.
Rapindrive escribió:Joder me interesa muchísimo. Mucho ánimo. De programación a estos niveles poco ya que soy programador pero de CMS, pero si os puedo echar una mano con algo me decís. Un saludo.


Gracias por el interés Rapindrive, dado que tampoco llego al nivel de programación para poder avanzar en .SSH y .SDT de momento estoy buscando un tester y intentando remover el texto de los backgrounds de carga, he usado varias webs online pero ninguna dejan el mismo color exacto o en la misma calidad, aquí te muestro la imagen original y el resultado, me vendría genial si conoces alguna página que lo deje lo más parecido posible.

https://prnt.sc/AcoCUfq2rlmA

https://prnt.sc/BQRMovP_SaEK

https://prnt.sc/9F3o_xYPEhgO
Desarchivado.

Saludos.
Hola, después de un tiempo tengo novedades con respecto al proyecto, lamentablemente son mas malas las noticias que las buenas asi que empiezo por las buenas:

1. Texturas PS2

Ya es posible extraer y reemplazar .SSH en el juego por lo que finalmente se pueden reimportar texturas.

PREVIA AQUÍ https://prnt.sc/SMQ9oAheSmWY

2. Texturas de PC

También es posible extraer los .WCT de la versión PC aunque esto me ha servido a medias.

3. Audios de PS1

Ahora es posible extraer el .TPW de audio de la versión de PS1 .

4. Sobreescribir .SDT de PS2

Es posible re-insertar el archivo .SDT con las nuevas pistas de audio.

En cuanto a las malas noticias son las siguientes:

1. Versión de PC sin textos

La versión de PC no incluye texturas con los textos encima, el juego crea los textos con configuraciones y los de PS2 ya tienen el texto encima, mi juego original tiene el bug de que no lee los textos y aunque he aplicado parches que he encontrado por internet sigue sin funcionar, la única solución sería usar NinjaRipper en un PC que funcionase el texto y poder extraer los textos de las puertas y atracciones desde la memoria.

2. Audios que no existen en PC/PS1

El audio extraido de las versiones de PC y PS1 no son iguales que las de PS2, aquí es donde he parado el proyecto y si alguien pudiese ayudarme de alguna forma con este problema quizás podría seguir la traducción, como mi idioma nativo no es el inglés me cuesta entender 100% lo que dice un audio en inglés por eso si alguien me ayudase a escuchar los sonidos de la versión inglesa de PC, PS1 que sirvieran para PS2 en cuanto a contexto de lo que el narrador habla (aunque no sea 100% lo mismo) me ayudaría a avanzar.

Este último problema me ha dejado en un punto muerto, a pesar de que la versión de PS1 y PC tienen más audios necesito saber cuál debo reemplazar y eso es lo que me ha hecho pensar si seguir o cancelar el proyecto.

Un saludo.
@jotasc ¿haz probado a usar IA para la traducción?, eso te facilitaría mucho las cosas.
doblete escribió:@jotasc ¿haz probado a usar IA para la traducción?, eso te facilitaría mucho las cosas.


No he probado porque dudo que haya alguna IA que haga eso en buena calidad, en el caso de que la haya y alguien me quiera ayudar con el audio le paso los archivos de audio en español, a ver qué logra hacer para recrear los que falten... lo bueno es que en PS2 son sólo 170 MP2, en PC hay 641 y en PS1 he podido extraer 619 pero como digo las frases cambian completamente en PS2, si eso no funcionase se podría intentar usar los que hay en inglés y que digan un contexto similar pero parece complicado.
Buenas, sigo avanzando con la traducción y traigo buenas noticias. Gracias a Sander, del proyecto OpenTPW, ahora tengo una herramienta para generar los carteles de las atracciones con el mismo estilo que en la versión de PC. Sin embargo, en PS2... algunos carteles usaban otro diseño, así que en esos casos he tenido que ajustarlos a mano para que quedasen lo más parecidos posible. Avanzo despacio porque lo hago yo solo, pero ya tengo el parque del Reino Perdido totalmente en castellano, con la puerta del parque y todas las atracciones con sus carteles en español.

También he quitado el texto de las pantallas de carga, que ahora ponen «Cargando...». De momento solo lo he podido probar en emulador, y avanzar en el juego desde un VPS sin gráfica cuesta bastante...

Se han corregido textos incompletos del spa.dat y otros que se salían de la pantalla. Diría que está al 95 %, salvo que aparezcan más textos sin traducir, frases largas sin salto de línea o traducciones incorrectas.

Por último, también es posible reinsertar el audio en los .SDT, pero aquí sigue el problema: 72 audios del narrador no existen en castellano, ni en PC ni en PS1. Los sp_314 a sp_323 ocupan 1 KB en PC y no tienen sonido, y el resto (PS2_, Adds_ y TUT_) son exclusivos de PS2, así que no hay versión española de donde sacarlos. Sin ayuda no puedo terminar los audios del narrador, de modo que esos 72 se quedarán en inglés. He sustituido los que estaban en alemán por los ingleses para que por lo menos se entienda algo.

Aquí van algunas capturas de las novedades:

https://prnt.sc/3fK6S_O5RRXT

https://prnt.sc/iMYnJLMVLuyW

https://prnt.sc/j9BbOwDsfg6O

Si alguien quiere echarme una mano con las voces del narrador, puede escribirme por privado y le puedo pasar los archivos de audio de PC, PS1 y PS2.

Un saludo.
jotasc escribió:Buenas, sigo avanzando con la traducción y traigo buenas noticias. Gracias a Sander, del proyecto OpenTPW, ahora tengo una herramienta para generar los carteles de las atracciones con el mismo estilo que en la versión de PC. Sin embargo, en PS2... algunos carteles usaban otro diseño, así que en esos casos he tenido que ajustarlos a mano para que quedasen lo más parecidos posible. Avanzo despacio porque lo hago yo solo, pero ya tengo el parque del Reino Perdido totalmente en castellano, con la puerta del parque y todas las atracciones con sus carteles en español.

También he quitado el texto de las pantallas de carga, que ahora ponen «Cargando...». De momento solo lo he podido probar en emulador, y avanzar en el juego desde un VPS sin gráfica cuesta bastante...

Se han corregido textos incompletos del spa.dat y otros que se salían de la pantalla. Diría que está al 95 %, salvo que aparezcan más textos sin traducir, frases largas sin salto de línea o traducciones incorrectas.

Por último, también es posible reinsertar el audio en los .SDT, pero aquí sigue el problema: 72 audios del narrador no existen en castellano, ni en PC ni en PS1. Los sp_314 a sp_323 ocupan 1 KB en PC y no tienen sonido, y el resto (PS2_, Adds_ y TUT_) son exclusivos de PS2, así que no hay versión española de donde sacarlos. Sin ayuda no puedo terminar los audios del narrador, de modo que esos 72 se quedarán en inglés. He sustituido los que estaban en alemán por los ingleses para que por lo menos se entienda algo.

Aquí van algunas capturas de las novedades:

https://prnt.sc/3fK6S_O5RRXT

https://prnt.sc/iMYnJLMVLuyW

https://prnt.sc/j9BbOwDsfg6O

Si alguien quiere echarme una mano con las voces del narrador, puede escribirme por privado y le puedo pasar los archivos de audio de PC, PS1 y PS2.

Un saludo.

@jotasc, mi nivel de inglés da para traducir texto, pero para entenderlo hablado también tengo dificultades, supongo que esos audios del narrador
no pertenecen a vídeos, sino cuando el narrador habla en los menús o mientras juegas para dar ciertas explicaciones e instrucciones.

Y sino existen en español, imagino que lo que quieres hacer es traducirlos añadiendo subtítulos de texto en el lugar donde habla el narrador.

Hay programas de IA que no solo pueden oir esos archivos y darte una traducción de texto al inglés que luego puedes traducir fácilmente al español
sino que también pueden hacer doblajes de esos audios y tenerlos en español.

He hecho varias preguntas a la IA y estas han sido sus respuestas:

Lo primero es convertir los archivos de audio de PS2 a un formato que la IA pueda escuchar.
Los archivos de audio dentro de un .SDT de PlayStation 2 suelen estar codificados en PS2 ADPCM (un formato comprimido propio de la consola, habitualmente con la extensión
interna .VAG, .SND o simplemente datos en bruto sin cabecera).
Las IA solo entienden .WAV o .MP3.

1. La opción más fácil: vgmstream (Gratuito)

Es la herramienta reina para el audio de videojuegos. Es un programa de código abierto que reconoce prácticamente cualquier formato de audio de PS2 y lo convierte a .WAV
sin perder nada de calidad.

• Cómo se usa: Utiliza el reproductor Foobar2000 (https://www.foobar2000.org/) instalándole el componente (plugin) de vgmstream (https://www.foobar2000.org/components/v ... _vgmstream).
• El proceso: Arrastra los 72 audios extraídos a Foobar2000, haz clic derecho sobre ellos, selecciona Convert y los exporta todos de golpe a formato .WAV en un segundo.

2. La opción clásica de PS2: PSound (Gratuito)

Es un programa viejísimo pero que sigue funcionando de maravilla para juegos de PS1 y PS2 (https://www.romhacking.net/utilities/679/).

• El proceso: Abre el programa, dale a File -> Scan file, selecciona el archivo .SDT (o los archivos extraídos de él) y el programa "escanea" el interior en busca de ondas de
sonido de PS2. Una vez que los encuentra, permite reproducirlos y guardarlos directamente en formato .WAV en el ordenador.

Una vez se tienen los audios en formato .WAV ya puedes usar programas de IA.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Fase 1: Obtener el texto en inglés (Transcripción)

Este es el primer paso para que la IA "escuche" los audios ingleses extraidos del .SDT y los convierta a texto.

• La herramienta ideal: Utiliza Subtitle Edit (es gratuito) https://github.com/SubtitleEdit/subtitleedit/releases.
• Cómo hacerlo: Dentro del programa, ve a Video -> Transcripción de audio (Whisper).
Puedes meter los audios en inglés y la IA te generará el texto exacto de lo que dice el narrador en cada uno.
• Traducción: Una vez con el texto en la mano, puedes traducirlo al castellano perfectamente.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Si quieres doblar los audios al español:

Fase 2: Crear el audio en español (Doblaje por IA)

Para no dejar esos 72 audios en inglés (lo cual rompería la inmersión del jugador), hoy en día puedes generar las voces en español con calidad profesional usando
herramientas de Text-to-Speech (Texto a Voz) con IA.
Puede intentar imitar la voz del narrador original o simplemente usar una voz en castellano que suene bien y encaje con el tono del juego.

Las mejores herramientas actuales para esto son:

• ElevenLabs: Es la reina indiscutible del doblaje por IA. Tiene voces en español de una naturalidad asombrosa (con acento de España).
Tiene una opción gratuita y planes muy baratos. Incluso tiene una función de "Clonación de voz" si quisieras intentar clonar la voz de los otros audios en español del juego
para que suene idéntica.

El programa ElevenLabs tiene un plan gratuito de 10.000 caracteres al mes (unas 1.500 - 2.000 palabras) y acceso a voces en español de altísima calidad, que
debería darte para esos 72 audios.

1. Registrate en ElevenLabs con un correo electrónico. https://elevenlabs.io/.
2. Ve al catálogo de voces (Voice Library) y busca voces con la etiqueta "Spanish" y filtra por el estilo que busque (por ejemplo: Narration, Deep, Video Games).
3. Pega los textos traducidos de los 72 audios (recomiendo agruparlos o ir uno a uno para controlar el nombre de los archivos).
4. Descárgalos en formato .WAV.

Si por alguna razón los textos son muy largos y gastas los 10.000 caracteres gratuitos, puedes usar un segundo correo electrónico en ElevenLabs para renovar los 10.000 caracteres.

O puedes usar la alternativa gratuita siguiente:

• Clipchamp https://clipchamp.com/es/windows-video-editor/

Es el editor de vídeo oficial de Microsoft con voces en castellano excelentes, 100% gratis e ilimitadas.
Una vez abierta la aplicación instalada en el PC, dentro de las herramientas de edición se encuentra la función "Texto a voz" (AI Text to Speech).
Esta función utiliza los servidores de Azure de Microsoft y te permitirá generar las 72 voces en castellano, exportando el audio directamente
desde su línea de tiempo.

Fase 3: Reintroducción en el archivo .SDT

Una vez que la IA te devuelva los 72 archivos nuevos de voz grabados en español y los hayas exportado en .WAV, el proceso para meterlos al juego sería este:

1. Ajustar los herzios: Los audios de PS2 suelen ir a frecuencias bajas para ahorrar memoria (normalmente 22050 Hz o 24000 Hz, a veces 44100 Hz).
Tienes que usar un programa como Audacity (gratuito) (https://www.audacityteam.org/) para cambiar la frecuencia de muestreo de los nuevos audios en español para que
coincida exactamente con la de los audios originales en inglés.

2. Compresión (si es necesaria): Los audios dentro de los .SDT de PS2 suelen usar compresión ADPCM (muchas veces el formato específico de EA o de Sony).
Si la herramienta que usas para reinsertar ya hace la conversión automáticamente, perfecto.
Si no, herramientas como vgmstream o foobar2000 (con componentes de vgmstream) ayudan a ver los detalles técnicos exactos de los audios originales y utiliza programas
como MFAudio (https://www.zophar.net/utilities/ps2uti ... o-1-1.html) para comprimir esos .WAV nuevos de vuelta al formato que requiera el contenedor .SDT

4. Reinsertar: Usa tu método actual para empaquetar los 72 nuevos audios en español dentro del archivo .SDT.

Espero que te sirva, ánimo.

Saludos
9 respuestas