Archive for the ‘musica’ Category

h1

Un poco de música

24/02/11

Últimamente Makeda y yo hemos retomado el tema del Subsonic y nos hemos vuelto locos bajando música (corrijo no vaya a ser que cierren el chiringuito) comprando discos y ripeándolos para meterlos en nuestro servidor casero. Y la verdad, luego puede que la disfrutes mucho pero ahora lo de ordenar y etiquetar correctamente todos los emepetreses es un coñazo supremo.

El caso es que le llegó el turno a PJ Harvey y me he acordado de un video que colgué hace ya varios años en el antiguo Yabrembre. Una excusa como otra cualquiera para poneros un temón donde los haya.

Disfruten de Nick Cave y PJ Harvey con el tema Henry Lee:

Anuncios
h1

Pelotazo de buen rollo

14/04/10

No suelo poner mucha música pero esta es una de esas canciones que te da un pelotazo de buen rollo:

Rayden con Hermano L: Sastre de sonrisas

Gracias a Makeda por el descubrimiento ;)

h1

Canteca de Macao: Madrizz

14/01/10

Hace unos meses Canteca de Macao sacó disco nuevo y, a pesar de que Makeda lo bajó y colgó en nuestro Subsonic casi al día siguente de que saliera, no ha sido hasta hace poco cuando lo he escuchado detenidamente.

Y he descubierto con agrado que, como siempre, hay una canción que me pega un pellizco en la patata. En este caso se trata de Madrizz:

h1

MiBurro 2.0: Subsonic en Ubuntu

15/12/09

Sigo con los post explicativos sobre la puesta a punto de mi pequeño servidor casero. En este post os contaré como instalar y configurar lo básico para que funcione el servidor de música Subsonic.

Este programa es similar al Sockso, del que ya hablamos, pero lo encuentro mucho más completo. ¡Gracias a Makeda por descubrirlo! Después de una temporadita usándolo, os comento los puntos fuertes que tiene:

  • Muy fácil instalación al llevar una base de datos HSQLDB embebida. No hace falta pegarse con el MySQL como con el Sockso.
  • Gestión de usuarios muy completa.
  • Altamente customizable. Incluso por los propios usuarios.
  • Compatible con muchisimos formatos. Prácticamente, si el servidor puede reproducir una canción, Subsonic también.
  • Tiene una opción buenísima para el streaming y es que recomprime la canción a un MP3 al bitrate que tú le digas.

En resumen y sin menospreciar al Sockso, el Subsonic está mucho más rodado.

Instalación

Nota: aquí cuento cómo instalar la versión champiñón, más conocida como standalone, por considerarla la más sencilla. Pero también puede instalarse en un contenedor de aplicaciones.

La instalación es bien sencilla. Nos bajamos y descomprimimos el programa:

mkdir /opt/subsonic

cd /opt/subsonic

wget http://prdownloads.sourceforge.net/subsonic/subsonic-3.8-standalone.tar.gz

tar zxvf subsonic-3.8-standalone.tar.gz

Ahora vamos a instalar el LAME, necesario para la recompresión de las canciones para el streaming que os comentaba antes:

sudo aptitude install lame

Y creamos un enlace simbólico desde la carpeta transcode de nuestra instalación de Subsonic:

cd /opt/Subsonic/transcode/

ln -s /usr/bin/lame

¡Ale! Instalado :)

Configuración

Vamos a configurar un poco nuestro Subsonic antes de ponerlo en marcha. Editamos el script de arranque, “subsonic.sh” y modificamos a nuestro gusto las siguientes variables que aparecen al principio:

  • SUBSONIC_HOME: directorio donde está instalado el Subsonic. “/opt/subsonic” en nuestro caso.
  • SUBSONIC_DEFAULT_MUSIC_FOLDER: directorio donde está la música (luego podremos agregar más desde el acceso por web).
  • SUBSONIC_DEFAULT_PODCAST_FOLDER: directorio donde guardar los podcast.
  • SUBSONIC_DEFAULT_PLAYLIST_FOLDER: directorio donde guardar las playlist.

Si quieres más información sobre estos u otros parámetros sólo tienes que ejecutar:

./subsonic.sh –help

Arranque / parada

Script para la gestión del Subsonic cortesía de Wintermute con alguna pequeña modificación mía:


#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          Subsonic
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Servidor de musica Subsonic.
# Description:       Servidor de musica Subsonic.
### END INIT INFO

SUB_DIR=/opt/Subsonic

PID=""

function get_pid {
 PID=`ps ax |grep java |grep subsonic |cut -d " " -f 1`
}

function stop {
 get_pid
 if [ -z $PID ]; then
 echo "Subsonic is not running."
 exit 1
 else
 echo -n "Stopping Subsonic.."
 kill $PID
 sleep 1
 echo ".. Done."
 fi
}

function start {
 get_pid
 if [ -z $PID ]; then
 echo  "Starting Subsonic.."
 $SUB_DIR/subsonic.sh
 get_pid
 echo "Done. PID=$PID"
 else
 echo "Subsonic is already running, PID=$PID"
 fi
}

function restart {
  echo  "Restarting Subsonic.."
  get_pid
  if [ -z $PID ]; then
    start
  else
    stop
    start
  fi
}

function status {
  get_pid
  if [ -z  $PID ]; then
    echo "Subsonic is not running."
    exit 1
  else
    echo "Subsonic is running, PID=$PID"
  fi
}

case "$1" in
  start)
    start
    ;;

  stop)
    stop
    ;;

  restart)
    restart
    ;;

  status)
    status
    ;;

  *)
    echo "Usage: $0 {start|stop|restart|status}"

esac

exit 0

Para instalarlo solo debemos crear el fichero “/etc/init.d/subsonic” con permisos de ejecución, copiar el contenido anterior aprovisionando el path de nuestro Subsonic (SUB_DIR=/opt/Subsonic) y añadirlo al arranque:

root@elburro:~# update-rc.d -f subsonic defaults
Adding system startup for /etc/init.d/subsonic …
/etc/rc0.d/K20subsonic -> ../init.d/subsonic
/etc/rc1.d/K20subsonic -> ../init.d/subsonic
/etc/rc6.d/K20subsonic -> ../init.d/subsonic
/etc/rc2.d/S20subsonic -> ../init.d/subsonic
/etc/rc3.d/S20subsonic -> ../init.d/subsonic
/etc/rc4.d/S20subsonic -> ../init.d/subsonic
/etc/rc5.d/S20subsonic -> ../init.d/subsonic
root@elburro:~#

Primeros pasos

Una vez arrancado el Subsonic, ya podemos acceder a la aplicación a través de la IP de nuestra máquina y el puerto que hayamos configurado (por defecto 8080). En mi caso sería:

http://192.168.1.50:8080

En la pantalla de login metemos usuario y contraseña “admin” y os aparecerá una pantalla parecida a esta:

Lo primero que tenemos que hacer es ir a la pantalla de configuración (en el menú de arriba) y en la sección de usuarios cambiar la contraseña del usuario “admin”:

Cuando tengamos un rato, es conveniente darle un repaso a todo el menú de opciones para dejar todo a nuestro gusto. En general, el programa tiene una ayuda muy buena por lo que es fácil de configurar.

Sólo recalcar el tema del streaming que se configura en las opciones de cada usuario:

Todavía no tengo claro cómo lo haré pero estoy pensando en crear un usuario con un bitrate de 128 Kbps para cuando me conecte desde Internet y otro ilimitado para cuando me conecte desde casa.

Sobre los caracteres raros

He comprobado que el problema que tenía con acentos y caracteres raros en Sockso aquí existe también aunque algo mas controlado.

En los nombres de archivos y carpetas no se pueden poner caracteres raros pero en los tags puedes poner lo que quieras. De esta forma, aunque se pierdan los nombres correctos en disco, en la aplicación se ven todos perfectos: acentos, ñ, ç, …

Creo recordad que el MP3Tag tiene para crearle filtros personalizados. Si alguno de los presentes conoce algún programa similar para Linux que lo comente por favor.

h1

Purpurina

3/08/09

Purpurina. Alberto Gambino. El disco no tiene desperdicio y te lo puede bajar aquí.

h1

Tripod: Comic Girl

28/07/09

Hace tiempo ya puse un video de Tripod. Son geniales.

Visto en Makarras (hay más videos).

h1

HowTo: Sockso en Ubuntu Server

27/07/09

¿Recordáis aquel ordenador que tengo debajo del sofá con el MLDonkey? Pues he decidido exprimirlo un poco más: le he instalado el Sockso. Este programita no es otra cosa que un servidor que almacena y organiza tus emepetreses. No tiene GUI. Para acceder a la colección de música solo necesitas acceder al servidor por medio de un navegador web por lo que puede ser accesible desde cualquier ordenador que tenga Internet.

Al lío.

Instalación de MySQL y Java

El propio programa trae una BBDD embebida pero parece que cuando maneja colecciones grandes de música se ralentiza bastante por lo que me he decantado por usar MySQL:

root@elburro:~# aptitude install mysql-server sun-java6-bin sun-java6-fonts sun-java6-jre

Durante la instalación te pedirá la contraseña del usuario root de MySQL.

Ahora nos conectamos al MySQL para crear la BBDD. No es necesario crear ninguna elemento de la BBDD, el propio programa los creará la primera vez que arranca::

root@elburro:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51a-3ubuntu5.4 (Ubuntu)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> create database socksodb;
Query OK, 1 row affected (0.00 sec)

mysql>

Instalación del Sockso

root@elburro:~# wget http://sockso.pu-gh.com/downloads/sockso-latest.zip

root@elburro:~# unzip sockso-latest.zip

root@elburro:~# cp -r sockso-1.1.8/ /opt/sockso

root@elburro:~# mkdir /var/sockso

root@elburro:~# chmod -R 0755 /var/sockso

Con estos comandos lo que hemos hecho es: bajarnos la última versión, descomprimir el zip, copiarlo a “/opt/sockso”, crear el directorio “/var/sockso” y darle premisos de ejecución.

Al ser nuestra instalación con MySQL necesitamos descargar e instalar unas librerías adicionales:

root@elburro:~# wget http://sockso.pu-gh.com/downloads/sockso-optionals.zip

root@elburro:~# unzip sockso-optionals.zip -d /opt/sockso/lib-opt

Ahora nos vamos a editar el script de arranque para acondicionarlo a nuestro entorno:

root@elburro:~# cd /opt/sockso/scripts/init.d/

root@elburro:/opt/sockso/scripts/init.d# cp -p sockso sockso.pl

root@elburro:/opt/sockso/scripts/init.d# vi sockso.pl

Basicamente, hay que editar las siguientes líneas para que queden así (cambiando micontraseña por la contraseña que pusiste en el MySQL):

use constant SOCKSO_DIR => “/opt/sockso/”;

system( ‘sh linux.sh –nogui –datadir /var/sockso –dbtype=mysql –dbhost=localhost –dbuser=root –dbpass=micontraseña –dbname=socksodb > /dev/null 2>&1 &’ );

Pego el script completo para que quede más claro:


#!/usr/bin/perl

###########################################################
###########################################################
#
#  Edit this constant to point to your Sockso directory
#

use constant SOCKSO_DIR => "/opt/sockso/";

#
###########################################################
###########################################################

use strict;

my $cmd = shift();

if ( $cmd eq "start" ) { start(); }
elsif ( $cmd eq "stop" ) { stop(); }
elsif ( $cmd eq "restart" ) { restart(); }
else { usage(); }

sub start {

chdir( SOCKSO_DIR );
system( 'sh linux.sh --nogui --datadir /var/sockso --dbtype=mysql --dbhost=localhost --dbuser=root --dbpass=micontraseña --dbname=socksodb > /dev/null 2>&1 &' );

}

sub stop {

my $pid = `ps x | grep sockso.jar | grep -v grep`;
$pid =~ s/^\s*(\d+) .*/$1/;

if ( $pid ) {
`kill -9 $pid`;
}

}

sub restart {
stop();
sleep( 2 );
start();
}

sub usage {
print <<EOF;

Usage: sockso (start|stop|restart)

EOF
}

Pues ya está todo lo básico. Vamos a probar si funciona:

root@elburro:~# cd /opt/sockso/scripts/init.d

root@elburro:/opt/sockso/scripts/init.d# ./sockso.pl start

Si todo ha ido bien debemos poder acceder desde el navegador al puerto 4444 de nuestra máquina:

http://IP:4444

Y veremos el home del Sockso:

Sockso Home

¡A disfrutar! :)

Añadiendo repositorios de música

Para decirle al Sockso donde está nuestra música tenemos que hacerlo desde la consola. Primero nos aseguramos de que está parado:

root@elburro:~# cd /opt/sockso/scripts/init.d/

root@elburro:/opt/sockso/scripts/init.d# ./sockso.pl stop

Y ahora arrancamos el Sockso “manualmente” para acceder a la consola (ojo a la contraseña):

root@elburro:/opt/sockso/scripts/init.d# cd /opt/sockso/

root@elburro:/opt/sockso# sh linux.sh –nogui –datadir /var/sockso –dbtype=mysql –dbhost=localhost –dbuser=root –dbpass=micontraseña –dbname=socksodb

La línea de comandos del Sockso es muy sencilla (teclea help para ver los comandos). Para añadir un directorio en el que estén los MP3 escribimos:

#SoCkSo#> coladd /directorio/de/mis/emepetreses
Directory added!
#SoCkSo#>

Si accedemos ahora al Sockso deberíamos ver nuestra colección de MP3. Ya solo tenemos que salir y arrancar el Sockso de forma normal.

Arrancar / parar Sockso con la máquina

He creado el siguiente script para controlar Sockso como un servicio:

#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          Sockso
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Servidor de musica Sockso.
# Description:       Servidor de musica Sockso.
### END INIT INFO

perl /opt/sockso/scripts/init.d/sockso.pl $1

exit 0

Para instalarlo sólo hay q copiarlo al “/etc/init.d” y añadirlo como servicio:

root@elburro:~# cd /etc/init.d

root@elburro:/etc/init.d# vi sockso

(Pegamos el contenido del script y salimos guardando)

root@elburro:/etc/init.d# update-rc.d sockso defaults
Adding system startup for /etc/init.d/sockso …
/etc/rc0.d/K20sockso -> ../init.d/sockso
/etc/rc1.d/K20sockso -> ../init.d/sockso
/etc/rc6.d/K20sockso -> ../init.d/sockso
/etc/rc2.d/S20sockso -> ../init.d/sockso
/etc/rc3.d/S20sockso -> ../init.d/sockso
/etc/rc4.d/S20sockso -> ../init.d/sockso
/etc/rc5.d/S20sockso -> ../init.d/sockso
root@elburro:/etc/init.d#

Pendiente

Si bien el programa está genial, tiene un pero bastante gordo que si no consigo solucionar lo hará inservible: todos los MP3 que tengan algún carácter raro (acentos, ñ, …) no se almacenan en la BBDD. Esto aplica tanto al nombre del archivo como a los MP3Tag.

Leyendo el foro he encontrado un alemán que solucionó el problema borrando la línea:

update( ” set names utf8 ” );

Del fichero MySQLDatabase.java y recompilando. Después de mucho googlear he conseguido recompilar pero no me funciona la aplicación… A ver si engaño a alguno de esos locos programadores para que me eche una mano…

Cualquier ayuda será bienvenida :)

Biliografía: Sockso, Samiux’s Blog.

root@elburro:~# cp -r sockso-1.1.8/ /opt/sockso