UltraStar

17 Apr 2006

Tras ver SingStar comprendí que aquello era algo en lo que llevaba mucho tiempo pensando. Y realmente no es algo complicado, en exceso. Por si alguien no lo conoce es un juego para PlayStation 2 que, con un par de micrófonos, te permite cantar canciones que vienen en una serie de DVDs y que analiza el tono de tu voz para ver si lo haces correctamente o no.

Tenía la idea de hacer un programa libre junto con un editor de canciones que hiciera algo parecido, quizás como proyecto de fin de carrera de Sonido e Imagen, pero resulta que ya está inventado: se llama UltraStar y tiene muy buena pinta.

Hoy ha salido la versión 0.3.4 y el programa ya es usable, siendo el formato de las canciones muy sencillo: una carpeta con el mp3 y un txt que empieza así:
`

TITLE:Superstar (demo)

ARTIST:Jamelia

MP3:Jamelia - Superstar (Demo).mp3

BPM:110

GAP:50

: 129 2 15 Peop
: 131 1 15 le
: 132 3 15 al
: 135 1 15 ways
: 137 1 13 talk
: 139 1 15 a
: 141 2 10 bout
- 152`

Genial, ¿verdad? Pues resulta que hay algunas herramientas para hacer estos archivos a partir de un midi y que el eMule está lleno de packs de canciones si buscamos por “ultrastar”. No vendría mal para la comunidad que estos packs los tuviera el mayor número posible de gente compartido para que bajara más rápido.

Lo probaré un poco más y comentaré cómo ha ido; realmente es un proyecto interesante para meterse a hacer cosillas en él. Ya hay gente haciendo un convertidor desde los discos de SingStar, en los que las “partituras” y las letras están en XML; quizás habría sido interesante usar ese formato desde un principio.

Está programado en Delphi y viendo las librerías que incluye usa SDL para los gráficos, BASS para el tema del audio (no para el análisis) y smpeg.dll para los videos, por si alguien se anima a echar un ojo al código fuente. Habría que hacer una web sobre este programa en español porque tiene mucho, pero que mucho futuro, y hasta ahora sólo hay información en polaco, alemán e inglés.

Hay más info en http://www.ultrastarstuff.com/ y en http://ultrastar.uttx.net. ¡En el primero hay un montón de txts!

Se me ocurren un montón de proyectillos que hacer en torno a UltraStar, algunos más técnicos como un convertidor de voz grabada a canción (que era mi primera idea cuando pensé en hacer algo como este proyecto) y otros más de diseño y programación como editores de canciones con la posibilidad de alargar y acortar notas, etc… Jo, cuantas cosas hay por hacer en este mundo.

Actualización:

Ante todo, un saludo a los barrapunteros

Estuve echando un ojo al código fuente y ví que la FFT (transformada rápida de fourier) está implementada en el programa; además hice la traducción para que todo lo posible del juego se vea en español aunque de momento parece que el juego no admite más de un idioma para elegir desde el menú.

Me faltan cosas para que tenga “calidad comercial”: animaciones al mover el cursor, al decirte la puntuación, notas doradas (partes de la canción que dan más puntos, lo que no sé si está implementado en el formato de archivo), soporte del tipo de fichero de SingStar ( lo veo básico ya que es XML y con esto nos ahorramos el parser los que queramos hacer aplicaciones alrededor).

Para hacer canciones en español: aquí hay unos cuantos midis de grupos españoles.

Y tras ver el código fuente, la aplicación es sorprendéntemente pequeña; si nos mojamos de aquí a 3 meses este proyecto puede ser la bomba.

La web del gupo de usuarios ya está creada, en http://ultrastar.webcindario.com