Después de pasar un agradable dia de fiesta en casa de Txus, dándolo todo con el Eye-Toy y el SingStar de la PlayStation2, me acordé de UltraStar, el clon libre de SingStar. La mayor pega que conocía de UltraStar era que está desarrollado utilizando Delphi sobre Microsoft Windows, lo que hacía imposible su uso en GNU/Linux y bastante complicado portarlo. Mirando un poco mejor, llegué hasta la web de UltraStar-ng, que más que un port podría considerarse una reescritura desde cero en C++ para GNU/Linux del programa original. Todavía está en fase alpha y claramente hay bastantes cosas que hacer para poder llegar a la calidad de la versión de Windows del UltraStar, pero para usarlo como karaoke normalito, nos basta y sobra. Para intentar aumentar el número de usuarios de UltraStar-ng (y quién sabe si el de desarrolladores 😉 ), voy a publicar una breve guía de cómo compilarlo y cargar canciones en Debian y distribuciones similares (Ubuntu, por ejemplo). Id aclarando vuestras gargantas para ser la alegría de la huerta en estas próximas fiestas de navidad 😉
Como obtener el código de UltraStar-ng
Yoda-JM, el desarrollador de UltraStar-ng, todavía no ha generado un paquete con su software, por lo que deberemos obtener el código del programa conectándonos vía CVS y bajándonos el proyecto:
cvs -d:pserver:anonymous@ultrastar-ng.cvs.sourceforge.net:/cvsroot/ultrastar-ng login cvs -z3 -d:pserver:anonymous@ultrastar-ng.cvs.sourceforge.net:/cvsroot/ultrastar-ng co -P UltraStar-ng
Al hacer esto, se nos debería crear un directorio «UltraStar-ng» con varios subdirectorios donde encontraremos el código fuente del programa, ficheros de configuración de canciones, y demás.
Como es obvio, necesitaremos tener el paquete «cvs» instalado para realizar esto.
Cómo compilar UltraStar-ng
Para compilar UltraStar-ng, deberemos entrar en el directorio que contiene el código fuente del programa y ejecutar el comando «make». Sin embargo, es muy probable que no dispongamos de todas las librerías de desarrollo necesarias para compilarlo correctamente, por lo que recomiendo instalar los siguientes paquetes:
apt-get install libsdl1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev \ libsdl-image1.2-dev libsdl-gfx1.2-dev libcairo-dev libsmpeg-dev \ fftw3-dev libasound2-dev librsvg2-dev
Como vemos, el proyecto está desarrollado usando la librería SDL, Cairo, Alsa, etc.
Una vez completada la instalación de todas las librerías de desarrollo, ejecutamos «make» como hemos comentado previamente y el proyecto se compilará sin mayores complicaciones.
Cómo cargar correctamente las canciones en UltraStar-ng
Las canciones de UltraStar son compatibles con UltraStar-ng, pero hay que tener ciertas precauciones:
- Microsoft Windows es un Sistema Operativo que no tiene en cuenta la diferencia entre mayúsculas y minúsculas en los nombres de ficheros. GNU/Linux no funciona así, por lo que si una canción se llama «Bob Marley – No woman no cry» y dentro está el fichero «Bob Marley – No woman no Cry.mp3» (observad la última C mayúscula en «Cry»), podemos tener problemas. Hay que revisar esto correctamente para que las canciones funcionen bien.
- Los ficheros MP3 con las canciones tienen que estar muestreado a 48 KHz. El propio UltraStar-ng trae un script, convert.sh, para convertir los MP3 con otro ratio de muestreo a 48 KHz:
./convert.sh songs/Bob\ Marley\ -\ No\ Woman\ No\ Cry/Bob\ Marley\ -\ No\ Woman\ No\ Cry.mp3
- El fichero con la carátula de la canción, tiene que estar en PNG, en lugar de JPG u otro formato como se acostumbra en UltraStar. La convertimos usando «convert», de ImageMagick o cualquier otro programa (GIMP, etc.):
convert Bob\ Marley\ -\ No\ Woman\ No\ Cry.jpg Bob\ Marley\ -\ No\ Woman\ No\ Cry.png
- El fichero TXT que contiene la letra y las notas de la canción, tiene que estar en formato UTF-8 y sin saltos de línea de DOS (los típicos \r\n), así que lo tenemos que convertir, lo podemos hacer asi:
iconv --from-code=ISO-8859-1 --to-code=UTF-8 Bob\ Marley\ -\ No\ Woman\ No\ Cry.txt temporal tr -d '\r' temporal > Bob\ Marley\ -\ No\ Woman\ No\ Cry.txt rm temporal
Y ya está. Todo esto se podría automatizar en un script y compatibilizar las canciones de UltraStar con UltraStar-ng de forma semi-automática 🙂
UltraStar-ng en acción
Una vez hecho todo esto, ejecutamos el programa con ./ultrastar-ng y vemos la pantalla de bienvenida:
Si pulsamos la tecla «S», pasaremos al menú de selección de canciones:
Una vez elegida la canción, pulsamos ENTER y comenzará la canción:
Como vemos, en la pantalla tendremos la letra de la próxima frase que hay que cantar, la marca de qué nota estamos cantando y qué notas y durante cuánta duración habría que cantar para poder hacerlo bien:
Cómo conseguir canciones para UltraStar
Una buena manera de conseguir canciones, es empezar por Ultrastar en Español, que tiene enlaces de ED2K y Torrents a numerosos packs de canciones organizadas temáticamente, tutoriales y demás.
Recordad los pasos que hay que seguir para adaptar estas canciones para UltraStar-ng ;-).
Buenisimo, no conoscia ni el singstar (y tengo una ps2), ni el ultrastar ni el ultrastar-ng, parece que esta muy bueno.
Ahora no tengo tiempo (son casi las 4am) tengo que trabajar mañana, pero cuando pùeda lo instalo. Muchas gracias.
Umm, esto puede estar muy muy bien. No tengo consola, ni me gustan los juegos, pero lo de cantar un ratillo puede ser muy divertido. Espero ansioso instrucciones.
¿Has probado "Frets on Fire"? Es un clon de "Guitar Heroes", mola mucho 😀
Espero que este proyecto salga adelante… parecerá ridículo pero instalé una máquina windows en el vmware sólo para jugar al ultrastar original… y eso que tengo el singstar! 5 discos! inigoalonso.blogspot.com/… Estoy enfermo 😛
Un micrófono, rápido, dadme un micrófono! ;-D
Se agradece la receta!
Hace rato que intento hacer funcionar UltraStar con wine i me encontrado este articulo que me informa de un clon para GNU/Linux!!
Carai, muy interessante. Intentaré seguir las instrucciones que indicas.
Saludos!!
Muy buen tutorial. Solo añadir que en mi caso me ha hecho falta agregar tambien este paquete:
apt-get install libxine-dev
Hi,
I’m the original dev of the ultrastar-ng project. Thanks for this how to.
The installation procedure has totally changed (using autoconf/automake) and the graphics has greatly improved.
So you could rewrite a howto if you want or post another article.
Thank you for your interest.
Vincent
Una actualización útil a la guía sobre dónde encontrar canciones.
Esta web está offline -> lnx.puchupuchu.com/ultras…
Probar mejor esta otra -> http://www.ultrastarsongs.com
es bilingüe, y no se que más decir, jeje.
m gustaria en el proximo simgstar incluyeran la camcion »Sometimes» de »Britney Spears»
Gracias
Pingback: El blog de neonigma » Archivo » UltraStar-ng: el SingStar libre
intento configurar el ultrastar-xine para ubuntu siguiendo tus pasos y la consola me busca las canciones en /usr/share/games/ultrastar-ng//songs
si así como lo lees con doble barra (//).
Podrías decirme como puedo corregir esto?
gráćias.
Felipe.
Felipe, si ejecutas el comando ‘ultrastarng’ sin argumentos buscará las canciones en:
/usr/share/games/ultrastar-ng/songs
Debes especificar el directorio donde tienes las canciones:
$ ultrastarng <directorio_con_canciones>
Si ejecutas ultrastarng en un terminal veras que busca en varios directorios. Para mi fue más facil ubicar los temas en ~/.ultrastar/songs/
Saludos.
Hola. He instalado el programa y todo va bien, encuentra las canciones y las carátulas ¡pero no se oye!
Qué hice mal?
Se agradece cualquier ayuda.
Saludos
Pingback: UltraStar, el clon de SingStar pero para PC y Queen | El Blog de Freddie Mercury
Hola,
El post me ha gustado mucho, pero está desactualizado. Ahora Ultrastar-NG ha cambiado muchísimo y se llama Performous: http://performous.org/
Tal vez te interese actualizar el post 🙂
Un saludo!
veran tengo alrededor de 16GB en canciones para el ultrastar pero transformarlas es una verdadera lata…. son mas de 2000 canciones pero me es imposible transformarla todas…. habra algun metodo para transformar de manera auntomatica? por q una por una… entenderan q no es posible debido a la cantidad de tiempo requerido…