Comienzo la explicación de lo que acabo de comentar en el hilo del proyecto Ultrastar para Wii:
Ha caído en mis manos el juego Diney sing it! y como no soy fan de Hanna Montana, pues me he puesto a trastear con el para ver los formatos y os cuento lo que he descubierto a ver si entre todos podemos continuar a partir de ahí.
Bueno trataré de explicarme lo mejor posible paso por paso.
1- Estructura: ¿Dónde están las canciones?

Dentro de la partición de datos hay un directorio llamado songs, dentro de este subdirectorios para cada uno de los "artistas" del juego y dentro, subdirectorios para cada canción de ese "artista".
En este último nivel encontranmos 5 archivos: .vid (Vídeo con audio)-.tex (Thumbnail o "carátula")-1.xml-2.xml-3.xml (Letra y notas).
2- Vídeo:
No tiene ningún misterio, es un vídeo en formato BIK como en otros muchos juegos que se puede manipular con RadTools.
El formato original de vídeo es el siguiente:
Vídeo 640 x 448 (ojo 448 no 480 ya que el juego añade bordes arriba y abajo) a 29,97 fps
Audio 48MHz 1,5Mps
En todas mis pruebas he respetado esto así que no estoy seguro de si funcionaría con otra configuración de vídeo.
3- XML:
Vale está es la parte complicada e interesante, voy a tratar de explicarla para el que conozca el formato de ultrastar y para el que no, pondré un pequeño ejemplo con una canción de Aerosmith:
Formato Ultrastar:
- Código: Seleccionar todo
#TITLE:Don't want to miss a Thing
#ARTIST:Aerosmith
#MP3:miss.mp3
#BPM:60,45
#GAP:30870
: 0 1 59 I
: 1 1 59 could
: 3 2 56 stay
: 5 1 59 a
: 6 5 61 wake
- 11
: 11 2 56 just
: 13 1 59 to
: 14 3 68 hear
: 17 1 64 you
: 19 3 66 brea
: 22 6 64 thing
E
Imaginemos que la canción es así de corta.

Voy a hacer una pequeña descripción de algunas partes para el que no conozca el formato:
BPM: Beats por minuto. Muy importante a la hora de pasar de un formato a otro.
GAP: Tiempo en milisegundos hasta que empieza a sonar la letra de la canción.
Cada línea que comienza por dos puntoses una sílaba que tendremos que cantar, el primer número indica el momento a partir del GAP en que comienza esa sílaba (en beats), el segundo indica la duración (también en beats) y el tercero el tono teniendo en cuenta que 0=C1(Do2) y ascienden de semitono en semitono. Para indicar que tras una sílaba acaba esa palabra debemos añaddir un espacio al final.
Un guion indica en que momento debe desparecer la frase que lo precede y la E indica el final.
Ahora lo interesante, formato sing it:
- Código: Seleccionar todo
<?xml version="1.0" ?>
<Song>
<Pages>
<Page id="0" spoken="1">
<Notes>
<Note midi_note="36" special="0" start="0.0" end="0.044">START_SONG</Note>
</Notes>
</Page>
<Page id="1" spoken="0" microphone="player1">
<Notes>
<Note midi_note="71" special="0" start="30.870" end="31.118">I</Note>
<Note midi_note="71" special="0" start="31.119" end="31.366">colud</Note>
<Note midi_note="68" special="0" start="31.614" end="32.111">stay</Note>
<Note midi_note="71" special="0" start="32.112" end="32.359">a-</Note>
<Note midi_note="73" special="0" start="32.360" end="33.599">wake</Note>
</Notes>
</Page>
<Page id="2" spoken="0" microphone="player1">
<Notes>
<Note midi_note="68" special="0" start="33.600" end="34.096">just</Note>
<Note midi_note="71" special="0" start="34.097" end="34.344">to</Note>
<Note midi_note="80" special="0" start="34.345" end="35.088">hear</Note>
<Note midi_note="76" special="0" start="35.089" end="35.337">you</Note>
<Note midi_note="78" special="0" start="35.585" end="36.329">brea-</Note>
<Note midi_note="76" special="0" start="36.630" end="37.818">thing</Note>
</Notes>
</Page>
<Page id="3" spoken="1">
<Notes>
<Note midi_note="36" special="0" start="40.000" end="40.044">END_SONG</Note>
</Notes>
</Page>
</Pages>
</Song>
Explicación:
Bien no voy a entretenerme con los campos porque creo que se ve a simple vista y el formato en sí es sencillo.
Las 1ª y última página como veis son especiales, no se que diferencia tendrá poner más o menos tiempo en ellas
El tiempo: Lo primero que vemos es que aquí no hay GAP, los tiempos son absolutos.
También vemos que en este formato no hay beats sino que indica directamente los segundos (con precisión al milisegundo) en los que empieza y termina cada sílaba.
La formula para pasar de uno a otro es sencilla, pero la tarea es algo tediosa. La formula sería:
15/"BPM"*"tiemstamp de ultrastar"+"GAP"= "segundos para poner en sing it" (Espero que se entienda).
Las notas:
Notación igual que en Ultrastar pero asegurándonos de que la nota más baja esté por encima de 36 (normalmente sumándole una octava (+12) al los ficheros de Ultrastar queda bien).
Ampos ha creado U2S, un programa para pasar automaticamente archivos de UltraStar a Sing It!, aún tiene algunos fallos, pero se pueden solventar gracias al programa U2SNew que ha creado kuini. Por otra parte viablade ha creado XML2SINGIT, un programa para convertir las canciones de SingStar a Sing It!. (Aplicaciones al final del post)
Imágenes: El compañero Dabore ha creado el programa DSIC, que entre otras funciones nos permite convertir los .tex del Sing It! a otros formatos y viceversa. (Aplicaciones al final del post)
Textos (Artistas, nombres de canciones, etc.): Están casi todos en el archivo content.xml
-Artistas: Están al comienzo del archivo y en este formato:
- Código: Seleccionar todo
<Artist id = "nº" name = "nombre del artista" gender = "male" />
Donde nº es un número de 1 a 99 y nombre del artista, pues el que corresponda

Canciones: Tienen este formato.
- Código: Seleccionar todo
<Song id = "*" name = "nombre de la cancion" av_id = "*" artist_id = "**" lenience = "0">
Como veis ahí podemos editar el nombre de la canción y el artista al que corresponde (artist_id)
Otras consideraciones:
Para los que vayáis a colaborar una advertencia: el juego lleva como actualizacion el IOS37 (no lleva ninguna otra actualizacón importante, de hecho lleva el System Menu 3.1) y tratará de cargar en él, evidentemente no se puede cargar un disco trucha en IOS37 así que hay que cambiarle el IOS con IOS version patcher (yo he usado IOS36 sin problemas, pero podéis probar otros IOS) y ya de paso quitarle la actualización si no quieres instalar IOS37. O bien cargarlo desde GeckoOS.
Resumiendo, pequeño tutorial hecho por la compañera comepiedras (ligeramente modificado) Ojo. Pendiente de actualización, gracias a la nueva aplicación de kuini Creacontent se simplifica el proceso, teneis un pequeño resumen de su utilización en este post:
0.- Comprar cualquier Sing It (todos son compatibles) y dumpear el juego.
1.- Abrir la ISO que hemos dumpeado (con cIOS DVD Dumper o Rawdump si tienes un lector LG compatible) con WiiScrubber (la última versión está en la carpeta mediafire de mi firma).
2.- Extraer content.xml de la partición de datos (Partition 2 - DATA).
3.- Coger una canción con formato ultrastar (todos los singstar, por ejemplo, están pasados a ultrastar), tenemos un jpg, un vídeo (avi, mpg o similar), a veces un mp3 u ogg (no sirve para nada, se puede borrar) y un txt (las notas y letra de la canción).
4.- Instalar RadTools en el PC. Ejecutamos la aplicación, buscamos el video de la canción de ultrastar y le damos a bink it, poniendo las opciones como indica viablade en esta imagen o bien ajustando el tamaño del vídeo previamente en nuestro editor de vídeo favorito y convirtiendo más tarde con Radtools omitiendo las opciones Width y Heigh. Renombramos el resultado a video.vid (por ejemplo).
5.- Abrimos el programa U2SNew (asegurándonos de que U2S está en el mismo directorio) y damos a convertir, seleccionamos el txt y nos creará el fichero ya convertido con mismo nobre, pero con extensión xml. También poder convertir las canciones de juegos SingStar con el XML2SINGIT.
6.- Ahora tenemos las notas en cancion.xml y el video en video.vid. Pues bien, lo siguiente es decidir cual es la canción reemplazada. Cuando lo tengamos claro, abrimos el content.xml con el bloc de notas y cambiamos la información de Artista y Canción del original por la de la canción que vamos a meter, atentos en cambiar en todos los sitios.
7.- El último paso es tan simple como reemplazar con Wiiscrubber los archivos de la canción que hemos elegido reemplazar. Pues bien, basta que nombremos igual que en el original los archivos que hemos llamado video.vid y cancion.xml. Para mayor seguridad, reemplazar los tres xml de la cancion original por cancion.xml.
8.- Finalmente reemplazamos el content.xml original por el que modificamos en el paso 7.
OPCIONAL.- Si quieres modificar el thumbnail (una pequeña imagen que aparece apenas un segundo antes de que empiece la previsualización del vídeo), debes usar DSIC, para ello primero extrae mediante WiiScrubber los archivos de la ISO a una carpeta de tu PC (por ejemplo C:\custom), abre DSIC, ve a File-> Open y selcciona la carpeta en la que extrajiste los archivos. Una vez abierta ve a la pestaña "Audio Video" y selecciona la canción que vas a reemplazar, haz click derecho sobre la imagen que aparece abajo, selecciona reemplazar y elige la imagen que quieras (tamaño recomendado 256x128 pixels), veras que la imagen ha cambiado y ya puedes cerrar DSIC, por último reemplazar el archivo en la Iso con WiiScrubber, igual que el resto de los archivos.
MUY IMPORTANTE: Hagan una copia de la ISO original dumpeada, para no tener que dumpear en cada prueba, guardan el original dumpeado en cualquier sitio y modifican siempre una copia.
Con este método el juego arranca perfectamente y, además, según comentan otros usuarios la canción va a la perfección (tanto el video y la música como la letra y los tonos).
PD - El juego no deja hacer nada sin micros (logicamente) y en ultrastar casi ninguna canción tiene varias partes (duetos y esas cosas), así que supuse en este minituto que nuestra canción solo tiene un txt.
PD2 - Este tutorial es un método MANUAL y se está trabajando, bueno, DABORE está trabajando, en un método AUTOMATICO, donde una vez convertidos el txt y el vídeo, DSIC hace todo, le ponemos los nombres a las cosas y el se encarga de reemplazar, de modificar el content, de modificar la imagen jpg, etc.
Y ahora las aplicaciones:
U2S (Conversor de Ultrastar a Sing It!) Descargar y U2SNew (resuelve los errores de U2S) Descargar
ToSingIt (Programa que integra los conversores de Singstar y UtraStar con o sin U2S) Descargar
ToSingItCmd (versión de linea de comandos, solo desde UltraStar) Descargar
XML2SINGIT (Conversor de SingStar a Sing It!) Descargar
DSIC (Aplicación que permite modificar imágenes, temas, el content.xml, ficheros .lua de los temas, etc...) Descargar
CreaContent (Aplicación para crear el content.xml y getionar el contenido de tu Custom) Descargar
Preguntas, dudas y correcciones siempre bienvenidas.
Un saludo.




