txipi:blog
  • About
  • Not Found? lee esto

Avances en UltraStar-ng

21Ene07

Con un titular parecido a los que ponen en Microsiervos, retomamos el tema de UltraStar-ng, el port para GNU/Linux de UltraStar, un clon del conocido SingStar de PlayStation. El motivo no es otro que el comentario dejado por el autor en la anterior noticia indicando que había colgado ya la versión 0.1.0 en SourceForge y que había mejorado el interfaz gráfico durante el juego. Buenas notiicas para los amantes de hacer el payaso delante de los amigos versionando a sus artistas favoritos :-) . Veamos cómo poner esta nueva versión en funcionamiento…

 

Como obtener el código de UltraStar-ng

El proceso se ha simplificado bastante, ya no hace falta usar subversion o cvs para bajárselo del repositorio de código, solamente ir a la zona de descargas del proyecto y bajarnos el tarball:

wget -c http://switch.dl.sourceforge.net/sourceforge/ultrastar-ng/UltraStar-ng-0.1.0.tar.gz

Cómo compilar UltraStar-ng

La versión actual (0.1.0) utiliza automake y autoconf para preparar la compilación, un método mucho más estándar. Para evitar problemas con las librerías de desarrollo, instalo los paquetes que instalé para compilar la versión anterior:

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

Procedo con la configuración de la compilación:

./configure
[...]
configure: error: "I'm sure you wish audio in this game"

Hummm, el error no es muy explicativo porque aparece después de comprobar la librería SMPEG y comprobar que sí estaba presente. Echo un vistazo al script configure y veo lo siguiente:

case $audio_layer in
        xine*)
                AUDIO_FLAGS=`xine-config --cflags`
                AUDIO_LIBS=`xine-config --libs`
                ac_includes_default=$(cat <<-USNG_EOF
                $ac_includes_default
                /* video headers */
                #define USE_LIBXINE 1
                #include
                USNG_EOF)
                ;;
        gstreamer*)
                AUDIO_FLAGS=`pkg-config --cflags gstreamer-0.10`
                AUDIO_LIBS=`pkg-config --libs gstreamer-0.10`
                ac_includes_default=$(cat <<-USNG_EOF
                $ac_includes_default
                /* video headers */
                #define USE_GSTREAMER 1
                #include
                USNG_EOF)
                ;;
        no*)
                { { echo "$as_me:$LINENO: error: \"I'm sure you wish audio in this game\"" >&5
echo "$as_me: error: \"I'm sure you wish audio in this game\"" >&2;}
   { (exit 1); exit 1; }; }
                ;;
esac

Bien, parece que lo que nos están queriendo decir es que necesitamos compilar UltraStar-ng contra alguna librería de audio. Tenemos dos opciones, gstreamer o xine:

apt-get install libgstreamer0.10-dev
apt-get install libxine-dev

Volvemos a lanzar el script configure y obtenemos lo siguiente:

Ultrastar-ng is now configured to your system with the following
user-defined options.

Option | Flag         | Chosen implementation
----------------------------------------------
audio  | --with-audio | gstreamer
video  | --with-video | smpeg
svg    | --with-svg   | librsvg

Perfecto, ahora ya solamente queda ejecutar:

make
make install

Y ya tendremos nuestro programa compilado e instalado.

Cómo cargar correctamente las canciones en UltraStar-ng

Este paso es exáctamente igual que en la anterior versión, así que os lo copio sin más:

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 0.1.0 en acción

Una vez instalado, tendremos un ejecutable llamado ultrastarng en el sistema, que podremos lanzar indicando la ruta al directorio con las canciones (típicamente el directorio “songs”):

ultrastarng ~/songs

En este caso tenemos en nuestro directorio $HOME un subdirectorio con las canciones.

En esta versión el interfaz inicial es muy similar:

utrastarng01.jpg

utrastarng02.jpg

Pero lo que ha mejorado bastante es el propio juego en sí, que ya incluye una barra de tiempo, puntuación, icono del jugador y la imagen de fondo en la canción:

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

Espero que el equipo de desarrollo de UltraStar-ng siga trabajando y el programa alcance un nivel parecido al original ;-)


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

19 Responses to “Avances en UltraStar-ng”  

Feed for this Entry Trackback Address
  1. 1 Vincent on Enero 23, 2007 said:

    By the way :
    – Audio library could be xine OR gstreamer (would put a much more explicit message)
    – resampling MP3 should be optionnal now (use of gstreamer or xine)
    – Cover could be both png or jpg now
    – problem should be solved

    Vincent

    Responder
  2. 2 txipi on Enero 23, 2007 said:

    Thanks Vincent for your comment (and for your work in UltraStar-NG)!! ;-)

    Como véis, ya no hace falta modificar las canciones descargadas para la versión de Windows de UltraStar en cuanto al muestreo de los mp3 o las carátulas en jpg. Buenas noticias para quienes esperamos mucho de este programa :-)

    Responder
  3. 3 frikinki on Febrero 6, 2007 said:

    hola, acabo de instalar el juego, pero una vez que lo abro y doy a la "s" para elegir cancion se cierra. Quiza es porq no he hecho bien lo de las canciones.
    El directorio songs debe ir en algun sitio especifico o donde yo quiera?
    Las canciones de la version de windows ahora funcionan en linux sin mas?
    Si no funcionan, donde puedo conseguirlas para linux?

    PD: uso ubuntu

    Responder
  4. 4 frikinki on Febrero 6, 2007 said:

    he ejecutado el juego desde la terminal, da el mismo fayo de antes pero cuando se cierra puedo leer que encuentra el directorio con las canciones, pero dice que no puede abrir los arcivos *.txt
    sabes q puede ser?

    Responder
  5. 5 anna on Febrero 17, 2007 said:

    Hola,
    Me gustaría pedir si alguien puede ayudarme. Primero quiero decir que soy completamente ignorante en el tema de ordenadores. He instalado el UltraStar para mis hijos y solo puedo escuchar el tema Demo. He bajado alguna otra canción pero no funciona porque supongo que no lo estoy haciendo bien. No entiendo nada de lo que estais comentando de como hacerlo. Sería alguien tan amable de ayudarme como hacerlo, pero usando el idioma de los ignorantes? Os lo agradecería mucho. Anna

    Responder
  6. 6 MarianoMateuci on Marzo 2, 2007 said:

    ANNA: las canciones debes ponerla en la carpeta "Songs" que se encuentra en el directorio del juego, asegurate que las canciones sean compatibles.
    FRIKINKI: yo tengo windows y una particion con ubuntu,pone las canciones en la carpeta "Songs" como le explicaba a anna y tiene que funcionarte bien, porque yo lo uso sin ningun problema..

    espero que mi ayuda les halla sido util, ante cualquier duda pueden agregarme a mi msn y los atendere sin ningun problema.. mariano_federer@hotmail.com

    Responder
  7. 7 Anita on Abril 5, 2007 said:

    hola. tengo el microfono incorporado en el ordenador, Y cuando canto no reconoce mi voz, va apareciendo como si yo cantara aunque no diga nada. he conectado un microfono y seguia pasando lo mismo.
    ALGUIEN ME PUEDE DECIR COMO TENGO QUE CONFIGURAR EL PROGRAMA PARA QUE FUNCIONE BIEN

    Responder
  8. 8 stuka on Mayo 8, 2007 said:

    Buenas, la página de U* en español ha cambiado a:

    ultrastar.webcindario.com…

    la antigua que indicabáis en la noticia no rula (sale una página llena de anuncios) ???

    salu2!

    Responder
  9. 9 Rubio on Mayo 11, 2007 said:

    Donde me puedo descargar el script convert.sh al que aludes? lo estoy probando y las canciones de dos minutos me pasan en 2 segundos, supongo que sera por la conversion.
    Gracias
    Saludos

    Responder
  10. 10 aomenator on Mayo 29, 2007 said:

    This could help someone to adapt ultrastar to ultrastar-ng (0.14) songs:

    #!/bin/bash

    basedir="/usr/local/share/ultrastar-ng/songs"

    cd $basedir

    find . -type d ! -name ‘.’|while read directorio
    do
    cd "$directorio"
    txtfile=`find . -name "*txt"`
    awk -F ‘:’ ‘/MP3/{printf ("%s ",$2)}’ "$txtfile"|tr -d "
    " >/tmp/songname
    songname=`cat /tmp/songname|awk ‘{print substr($0,0,length($0)-4)}’`
    ssongname=`cat /tmp/songname|awk ‘{print substr($0,0,length($0)-4)}’|tr áéíóúÁÉÍÓÚñÑ aeiouAEIOUnN`

    # Eliminamos los acentos del nombre de la canción

    sed "s/$songname/$ssongname/" "$txtfile" > "$txtfile".2

    ext=`cat /tmp/songname|awk ‘{print substr($0,length($0)-3,4)}’`

    # Verificamos si ya estaba bien el nombre

    if [ -e "$ssongname$ext" ]
    then
    echo -n
    # Si estaba bien no hacemos nada
    else
    # Si no era correcto lo adaptamos

    if [ `ls *$ext|wc -l` -eq 1 ]
    then
    mv *$ext "$ssongname$ext"
    else
    echo Hay más de un fichero $ext
    fi
    fi
    rm "$txtfile"
    mv "$txtfile.2" "$ssongname.txt"
    cd ..
    if [ ! -e "$ssongname" ]
    then
    mv "$directorio" "$ssongname"
    fi
    done

    Responder
  11. 11 delvion on Julio 21, 2007 said:

    Si quieres obtener toda las últimas novedades sobre este emulador e incluso acceder a bajar una gran colección de canciones, esta es tu web:

    http://www.ultrastarsongs.com

    Responder
  12. 12 gsuafubjoxpsys on Septiembre 12, 2007 said:

    gsuafubjoxpsys

    gsuafubjoxpsys

    Responder
  13. 13 Carlos on Octubre 10, 2007 said:

    Buenas tardes. Yo estoy intentando instalar Ultrastar-ng-0.1.4 en Ubuntu 6.06. En varias páginas he leído y en la mayoría dicen que para Ubuntu no habría ningún problema con la instalación, pero cuando ejecuto el comado ./configure me sale el siguiente código:

    cacelis@jc-corp:~/Documentos/Linux/Software/UltraStar-ng-0.1.4$ ./configure –with-a-lot-of-options
    Configure launch with the following arguments: /usr/local/share/config.site /usr/local/etc/config.site
    checking for a BSD-compatible install… /usr/bin/install -c
    checking whether build environment is sane… yes
    checking for a thread-safe mkdir -p… /bin/mkdir -p
    checking for gawk… gawk
    checking whether make sets $(MAKE)… yes
    checking for gcc… gcc
    checking for C compiler default output file name… a.out
    checking whether the C compiler works… yes
    checking whether we are cross compiling… no
    checking for suffix of executables…
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ISO C89… none needed
    checking for style of include used by make… GNU
    checking dependency style of gcc… gcc3
    checking for g++… g++
    checking whether we are using the GNU C++ compiler… yes
    checking whether g++ accepts -g… yes
    checking dependency style of g++… gcc3
    checking for ranlib… ranlib
    checking for a BSD-compatible install… /usr/bin/install -c
    checking for help2man… ./configure: line 4086: error:: command not found
    no
    checking how to run the C preprocessor… gcc -E
    checking for grep that handles long lines and -e… /bin/grep
    checking for egrep… /bin/grep -E
    checking for ANSI C header files… yes
    checking for dirent.h that defines DIR… yes
    checking for library containing opendir… none required
    checking for sys/types.h… yes
    checking for sys/stat.h… yes
    checking for stdlib.h… yes
    checking for string.h… yes
    checking for memory.h… yes
    checking for strings.h… yes
    checking for inttypes.h… yes
    checking for stdint.h… yes
    checking for unistd.h… yes
    checking how to run the C++ preprocessor… g++ -E
    checking algorithm usability… yes
    checking algorithm presence… yes
    checking for algorithm… yes
    checking vector usability… yes
    checking vector presence… yes
    checking for vector… yes
    checking iostream usability… yes
    checking iostream presence… yes
    checking for iostream… yes
    checking fcntl.h usability… yes
    checking fcntl.h presence… yes
    checking for fcntl.h… yes
    checking math.h usability… yes
    checking math.h presence… yes
    checking for math.h… yes
    checking for stdlib.h… (cached) yes
    checking stdio.h usability… yes
    checking stdio.h presence… yes
    checking for stdio.h… yes
    checking getopt.h usability… yes
    checking getopt.h presence… yes
    checking for getopt.h… yes
    checking dirent.h usability… yes
    checking dirent.h presence… yes
    checking for dirent.h… yes
    checking sys/ioctl.h usability… yes
    checking sys/ioctl.h presence… yes
    checking for sys/ioctl.h… yes
    checking for sys/types.h… (cached) yes
    checking for sys/stat.h… (cached) yes
    checking for pkg-config… /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0… yes
    checking for cairo… no
    configure: error: This game connot be build without cairo >= 1.2

    Muchas gracias de antemano, si me pueden colaborar con la instalación del programa.

    Responder
  14. 14 momia_de_puebla on Enero 4, 2008 said:

    Si quieres tener tus canciones en home o en algun otro lado tienes que ejecutar :
    ultrastarng -s directorio_de_tus canciones

    En ubuntu 7.10 tienes que poner las siguientes librerías:

    apt-get install libsdl1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev \
    libsdl-image1.2-dev libsdl-gfx1.2-dev libcairo2-dev libsmpeg-dev \
    fftw3-dev libasound2-dev librsvg2-dev

    Son las mismas que pone el autor del post pero cambiando libcairo-dev por libcairo2-dev esa es la librería que le falta a carlos

    Responder
  15. 15 bolsin on Marzo 24, 2008 said:

    el fallo es este:
    Now playing: (0): /home/*****/Juanes – La Camisa Negra/Juanes – La Camisa Negra.mpg
    Now playing: (0): /home/*****/Juanes – La Camisa Negra/Juanes – La Camisa Negra.mp3

    y no suena ni se ve video ni letra ni nada

    Responder
  16. 16 GLORIA on Marzo 29, 2008 said:

    YO ME HE DESCARGADO UNAS CANCIONES EN UNA PAGINA DEL ULTRASTAR PERO LO QUE PASA QUE AHORA NO SE METERLAS EN EL PROGRAMA DE ULTRASTARNG

    POR FAVOR SI ALGUIEN LO SABE QUE ME LO MANDE A MI HOTMAIL ES: palomosexy@hotmail.com

    GRACIAS

    Responder
  17. 17 paco on Agosto 2, 2008 said:

    hola tengo un prblema y es ke el ultrastar me marca las notas solas komo si yo cantara eso me pasa incluso kon altavoz apagado.si alguien lo a solucionado o sabe komo ke me agrege porfa ligavirtual21@hotmail.com

    Responder
  18. 18 jorsh on Diciembre 31, 2008 said:

    hola tengo un prblema y es ke el ultrastar me marca las notas solas komo si yo cantara eso me pasa incluso kon altavoz apagado.si alguien lo a solucionado o sabe komo??

    Responder
  19. 19 galon on Agosto 27, 2009 said:

    hola sabes vi esta pagina y tambien tengo una duda

    como puedo configurar el ultra star para que en vez de
    copiar las canciones al pc las copie a un cd y pueda reconocer las
    canciones desde un cd creo que es mucho mas espacio que ahorrare
    ya que tengo un tarro con pentium III y 600mhz y 10gb de disco con 192mb ram
    porfa respondan se agradeceria mucho

    Responder

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
    • Manual de supervivencia en Internet (III): Navegar sin dejar rastro
    • Curso de programación en C para GNU/Linux (VI)
    • Ekiga, VoIP libre (¡olvídate de Skype!)
    • Curso de programación en C para GNU/Linux (I)
    • ¿Qué tarjeta Wi-Fi me compro?
    • Curso de programación en C para GNU/Linux (VII)
    • Curso de programación en C para GNU/Linux (V)
    • Curso de programación en C para GNU/Linux (II)
  • sindicación (RSS)

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

    • txipi: @marcan42 cualquier colaboración tuya al hackit es un honor ;) En cuanto a lo de hostear el servicio de red, hablamos en la lista si quieres
    • txipi: RT @logela: RT @marianorajoi: Ye le han pirateado el libro a @edance mi ojito derecho de internesh: http://ow.ly/1lmdR
    • txipi: Sería una pena :( (humor!=realidad) RT: @eztabai: @MiMesaCojea Igual tiene que ver tu última "sobrada" en el blog. Es una hipótesis.
    • txipi: @anibaldelatorre es un grande del copón este tipo, firma la petición de gira mundial: http://www.ipetitions.com/petition/trololo/ xDDD
    • txipi: @eztabai segun la wikipedia, yahoo.com como tal no estuvo online hasta principios del 95
  • 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