txipi:blog
  • About
  • Not Found? lee esto

UltraStar-ng: port para GNU/Linux de UltraStar, el SingStar libre

11Dic06

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:

ultrastar01.jpg

Si pulsamos la tecla “S”, pasaremos al menú de selección de canciones:

ultrastar02.jpg

Una vez elegida la canción, pulsamos ENTER y comenzará la canción:

ultrastar03.jpg

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:

ultrastar04.jpg

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 ;-) .


Filed under: Informática   |  17 Comments
Tags: C, cantar, GNU/Linux, SDL, SingStar, UltraStar, UltraStar-ng

17 Responses to “UltraStar-ng: port para GNU/Linux de UltraStar, el SingStar libre”  

Feed for this Entry Trackback Address
  1. 1 palermi on Diciembre 11, 2006 said:

    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.

    Responder
  2. 2 Galder on Diciembre 11, 2006 said:

    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.

    Responder
  3. 3 etxekalte on Diciembre 11, 2006 said:

    ¿Has probado "Frets on Fire"? Es un clon de "Guitar Heroes", mola mucho :D

    Responder
  4. 4 amolapacificapaloma on Diciembre 19, 2006 said:

    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 :P

    Responder
  5. 5 nando on Diciembre 19, 2006 said:

    Un micrófono, rápido, dadme un micrófono! ;-D

    Se agradece la receta!

    Responder
  6. 6 cortsenc on Diciembre 19, 2006 said:

    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!!

    Responder
  7. 7 un nombre on Enero 7, 2007 said:

    Muy buen tutorial. Solo añadir que en mi caso me ha hecho falta agregar tambien este paquete:

    apt-get install libxine-dev

    Responder
  8. 8 Vincent on Enero 21, 2007 said:

    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

    Responder
  9. 9 Ramstein35 on Julio 22, 2007 said:

    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.

    Responder
  10. 10 yo on Septiembre 8, 2007 said:

    m gustaria en el proximo simgstar incluyeran la camcion ”Sometimes” de ”Britney Spears”
    Gracias

    Responder
  11. 11 Felipe on Enero 22, 2008 said:

    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.

    Responder
  12. 12 fransberns on Abril 5, 2008 said:

    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>

    Responder
  13. 13 Teide3718 on Septiembre 10, 2008 said:

    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.

    Responder
  14. 14 Gustavo on Septiembre 27, 2008 said:

    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

    Responder
  15. 15 Mankel on Enero 16, 2010 said:

    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!

    Responder

  1. 1 El blog de neonigma » Archivo » UltraStar-ng: el SingStar libre
  2. 2 UltraStar, el clon de SingStar pero para PC y Queen | El Blog de Freddie Mercury

Leave a Reply

Clic para cancelar respuesta.



  • comentarios recientes...

    Darío on Dia mundial del escepticismo y…
    Guille on Curso de programación en C par…
    Aldo on Bajar presentaciones no dispon…
    txipi on Meta-programación (I): "Re…
    LuLu on Meta-programación (I): "Re…
  • Blogroll

    • Feeds en Bloglines
    • Planet e-ghost
    • Software Libre en la UD
  • Enlaces

    • e-ghost
    • Página web en la UD
    • txipi:wiki
    • txipinet, antigua web
  • Posts Más Vistos

    • Cómo eliminar la contraseña de la BIOS
    • Bajar presentaciones no disponibles para descarga en Slideshare
    • ¿Qué tarjeta Wi-Fi me compro?
    • Curso de programación en C para GNU/Linux (II)
    • Curso de programación en C para GNU/Linux (VII)
    • Curso de programación en C para GNU/Linux (V)
    • Manual de supervivencia en Internet (III): Navegar sin dejar rastro
    • Ekiga, VoIP libre (¡olvídate de Skype!)
    • Los mitos del Software Libre
    • Curso de programación en C para GNU/Linux (I)
  • sindicación (RSS)

    Suscríbete al blog
    Suscríbete al blog por e-mail
  • RSS twitter

    • txipi: Translation in Real Time: http://tradukka.com/
    • txipi: Un 18% de los españoles sitúa en igualdad de condiciones a la ciencia con las «ciencias alternativas». (via microsiervos) #FAIL
    • txipi: RT @abel2es: RT @jolaus: La muerte de los Entornos Virtuales de Aprendizaje http://post.ly/SBRD
    • txipi: RT @tagzania: Hoy publicamos Mapapel, mapas para imprimir http://bit.ly/doTHkO
    • txipi: RT: @deusto: [CTMD] Conferencia de Tíscar Lara en las I Jornadas de Educación Digital http://bit.ly/9yGN7t
  • RSS posts en el blog de software libre

    • Buenas noticias desde la CRUE y el Gobierno Vasco
    • El Gobierno Vasco se plantea implantar OpenOffice.org
    • ColaboraBilbao: Software + problemas del MundoReal
    • Al UniEncounter con Scratch
    • Zancadillas a Firefox con H.264
    • Feliz 1984
    • La “lista” de Sinde
    • INGSOC, INGSOC, ¡INGSOC!
    • Presentamos ALUD 2.0 en la Conferencia Internacional de Software Libre en Cáceres
    • Microsoft surfea en la espuma
  • licencia

    some rights reserved

    Aviso legal: Condiciones de copia y distribución. Todos los contenidos de esta página están protegidos por la Licencia Creative Commons 2.5, salvo en los casos en los que se especifica lo contrario.


Blog de WordPress.com. • Theme: Unsleepable by Ben Gray