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.
TodoElRock esta hecho en Python y utiliza FFMPEG para codificar audio y video.
- Instalar Python.
- Instalar el paquete dependiente de Python:
pip install kaitaistruct
- Descargar TodoElRock y descomprimir.
- Descargar FFMPEG y extraer
ffmpeg.exe
en el mismo directorio que TodoElRock - Ejecutar el archivo
python todoelrock.py
- Seleccionar la unidad donde se encuentra el disco original de instalación.
- La extracción debería tardar pocos minutos.
- 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.
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 |
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)
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?
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
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.