eldainosor / terre_wip

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Todo El Rock (Desde Cemento)

TodoElRock es una herramienta de extracción y preservación del juego El Rock de Tu Vida en desarrollo avanzado.

[toc]

El Rock de Tu Vida fue un juego de ritmo basado en las sagas de Rock Band o Guitar Hero con musica licenciada Argentina.

Lanzado en el año 2011 para Windows PC por los desarrolladores Next Level y distribuido por Loaded requería de una conexión permanente a internet, por lo que desde que cerraron los servidores ya no se puede jugar… hasta ahora.

Las marcas y productos mencionados son propiedad de sus respectivos dueños.

Requisitos

TodoElRock esta hecho en Python y utiliza FFMPEG para codificar audio y video.

Utilización

  1. Instalar Python.
  2. Instalar el paquete dependiente de Python: pip install kaitaistruct
  3. Descargar TodoElRock y descomprimir.
  4. Descargar FFMPEG y extraer ffmpeg.exe en el mismo directorio que TodoElRock
  5. Ejecutar el archivo python todoelrock.py
  6. Seleccionar la unidad donde se encuentra el disco original de instalación.
  7. La extracción debería tardar pocos minutos.
  8. Si FFMPEG se encuentra instalado se puede continuar con la codificación para convertir los archivos para que sean compatibles con Clone Hero o YARG. NOTA: Esto puede tardar mucho tiempo.

Archivos de salida

Una vez finalizada la ejecución del código deberían haber dos directorios nuevos creados, cada una adentro con un directorio para cada cancion:

  • [raw/%artist% – %song%]: Archivos audiovisuales extraídos del disco de cada una de las canciones encontradas.
  • [erdtv/%artist% – %song%]: Archivos audiovisuales convertidos a formato compatible con Clone Hero o YARG. NOTA: Requiere FFMPEG
raw erdtv Descripción
song.ini song.ini Informacion
preview.wav preview.ogg Audio preliminar
video.asf video.webm Video de fondo
background.png background.png Imagen de fondo
album.png album.png Tapa del disco
guitar.flac guitar.ogg Audio guitarra
rhythm.flac rhythm.ogg Audio bajo
drums.flac drums.ogg Audio bateria
vocals.flac vocals.ogg Audio cantante
song.flac song.ogg Audio extras
notes.chart notes.chart Notas instrumentos

Objetivos

Con la intención de lograr la preservación y archivo, TodoElRock extrae del disco de instalación original y exporta a otros juegos de ritmo similares (como Clone Hero o YARG) para que las canciones incluidas puedan ser disfrutadas por audiencias modernas.

  • Extraer la información de las canciones (metadata)

  • Extraer las pistas de audio de los instrumentos (stems)

  • Extraer el audio preliminar (preview)

  • Extraer la imagen de tapa del disco (album)

  • Extraer la imagen de fondo de los artistas (background)

  • Extraer el video de fondo de las canciones (video)

  • Extraer las partituras de los instrumentos (charts)

Desarrollo (16-Oct-2023):

Las notas de los instrumentos ya han sido identificadas decodificadas en formato Chart usable en Clone Hero o YARG.

Charts format documentation by TheNathannator

Actualmente es jugable por completo, incluyendo Guitarra, Bajo y Bateria en 3 dificultades. Las letras de las canciones estan disponibles y sincronizadas, pero sin puntaje de voz.

  • Identificar instrumentos

  • Codificar instrumentos

  • Identificar dificultades

  • Codificar dificultades

  • Identificar notas

  • Codificar notas

  • Identificar atributos (star power, etc)

  • Codificar atributos (star power, etc) [BETA]

  • Identificar letras (Lyrics)

  • Codificar letras [BETA]

  • Identificar timings (compas, pulso, etc)

  • Codificar timings (BPM, Resolution, TimeSign)

  • Identificar canto

  • Codificar canto

  • ¿Migrar a MIDI?

Descripción de los archivos y directorios

Todos los archivos de las canciones se encuentran en:

  • [CD:/install/data/mozart/]

Se han creado archivos de Kaitai Struct para el analisis de los formatos disponibles, resumidos a continuación:

 [band/artistID.band]
   0x0010 = Header
   0x00xx = Artist Name String
   
 [disc/albumID.disc]
   0x0018 = Header
   0x0100 = Album Name String
   0x00xx = album.png
   
 [song/songID.au]
   0x0000 = Header
   0x00xx = guitar.flac
   0x00xx = rhythm.flac
   0x00xx = drums.flac
   0x00xx = vocals.flac
   0x00xx = song.flac
   
 [song/songID.prv]
   preview.wav
   
 [song/songID.vid]
   video.asf
   
 [song/songID.bgf]
   0x020C = Header
   0x00xx = background.png
   
 [song/songID.cbr]
   0x001C = Header
   0x0008 = artistID (HEX)
   0x0008 = albumID (HEX)
   0x0004 = Album Year (int)
   0x0100 = Song Name String
   0x0A00 = Separator (2.5 KB)
   0x0600 = Chart SubHeader (8.0 KB)
   0x00xx = Guitar info
   0x00xx = Guitar timings (8bits packages)
   0x00xx = Guitar chart (12bits packages)
   0x00xx = Chart SubHeader (8.0 KB)
   0x00xx = Rhythm info
   0x00xx = Rhythm timings (8bits packages)
   0x00xx = Rhythm chart (12bits packages)
   0x00xx = Chart SubHeader (8.0 KB)
   0x00xx = Drums info
   0x00xx = Drums timings (8bits packages)
   0x00xx = Drums chart (12bits packages)
   0x00xx = Chart SubHeader (8.0 KB)
   0x00xx = Vocals info (8bits packages)
   0x00xx = Vocals waves (44bits packages)
   0x00xx = Lyrics ([string][NUL]+[0xXX XX XX 00]+[0xXX XX XX 00]+[0x00 00 00 00])
   0x00xx = Ending SubHeader (8.0 KB)

Hay muchos detalles que han sido identificados y codificados con ayuda de Kaitai

Créditos y agradecimientos

Análisis inicial de archivos por @eldainosor

Desarrollo del código de extracción @envido32

Documentacion y ayuda de los archivos Chart @TheNathannator

Y a toda la increible comunidad de juegos de ritmo por su trabajo constante.

El Rock de Tu Vida, Next Level, Loaded, Rock Band, Guitar Hero, Harmonix, Activision, Clone Hero, YARG y todas las marcas y productos mencionados son propiedad de sus respectivos dueños.

About

License:MIT License


Languages

Language:Python 63.5%Language:C# 24.7%Language:Kaitai Struct 11.8%