Agregar soporte de MP3 en Ubuntu 9.04

Introducción.

Por defecto, la instalación de Ubuntu no incluye el soporte para el formato MP3 así que sólo es posible codificar archivos en formato OGG que es mejor pero la gran mayoría de los reproductores [físicos] de audio aún no lo soportan.  Por suerte la instalación del soporte para el formato es muy sencilla.

Instalación.

$ sudo aptitude install gstreamer0.10-plugins-ugly-multiverse

Extracción y codificación de MP3.

Iniciar Applications > Sound & Video > Rhythmbox Music Player.

Configurar a Rhythmbox para que se utilice a MP3 como formato por defecto.

Seleccionar el menú Edit > Preferences y seleccione la etiqueta Music.

En el campo Preferred format elija la opción CD Quality, MP3 (.mp3 type).

MusicPreferences

Si desea modificar la calidad del archivo MP3 generado realice los siguientes pasos adicionales.  Por defecto se generan con un bitrate de 128 Kbps.

Presione el botón Edit para modificar el formato seleccionado: MP3.

Seleccione el perfil CD Quality, MP3 o cree uno nuevo.  Presione el botón Edit del diálogo.

Modifique el campo GStreamer pipeline con la siguiente cadena.

audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=0 vbr-quality=6 bitrate=192 ! id3v2mux

Edite los valores de las variables rate, channels y bitrate según sus preferencias.

Seleccione las canciones que se desean codificar.

Presione el botón de extracción: ExtractButton

Los archivos de las canciones codificadas se almacenan en la ubicación especificada en las preferencias bajo Library Location > Music files are placed in, cuya ruta es por defecto: ~/Music.

Enlaces.

Instalación de Icecast2 en Linux Ubuntu 9.04

Introducción.

Icecast es una herramienta libre desarrollada por la Fundación Xiph para generar contenidos de audio a través de la red utilizando la técnica de streaming.  La versión 2 se basa en el formato libre Ogg Vorbis mientras que la versión anterior permite utilizar archivos MP3 los cuales según entiendo, requieren de un pago de licenciamiento al tener estos un formato propietario.

Una de las mayores ventajas de la herramienta es su flexibilidad, permitendo diferentes orígenes del sonido a reproducirse como fuentes de reproducción (playlists) predefinidas o la salida de una tarjeta de audio específica (como el caso de un micrófono).  Su arquitectura cliente servidor permite que se originen contenidos desde múltiples ubicaciones que serán distribuidos a los usuarios finales a través de un único servidor de Icecast.

Instalación.

$ sudo aptitude install icecast2

Configuración.

$ sudo vi /etc/icecast2/icecast.xml

Actualizar las contraseñas de administración.

<authentication>
<!– Sources log in with username ‘source’ –>
<source-password>MySecretSourcesPassword</source-password>
<!– Relays log in username ‘relay’ –>
<relay-password>MySecretRelayPassword</relay-password>

<!– Admin logs in with the username given below –>
<admin-user>admin</admin-user>
<admin-password>MySecretAdminPassword</admin-password>
</authentication>

Modifique los valores resaltados en rojo según su conveniencia.

Actualizar la información de conexión.

<hostname>jimezam-laptop</hostname>

<!– You may have multiple <listener> elements –>
<listen-socket>
<port>8000</port>
</listen-socket>

El hostname deberá corresponder con el valor del servidor de Icecast2 que se está instalando.  El port se utilizará para publicar el servicio.

Actualizar las ubicaciones base.

<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>

logdir hace referencia al directorio donde se almacenarán los registros del servicio (access.log y error.log), webroot hace referencia al directorio donde se publicará el contenido estático a publicarse (archivos de audio) y adminroot almacenará los archivos de administración.

Actualizar el inicio a través de init.d.

$ sudo vi /etc/default/icecast2

ENABLE=true

Iniciar el servidor.

Modo de pruebas.

$ sudo -u icecast2 /usr/bin/icecast2 -c /etc/icecast2/icecast.xml

Modo de producción (background).

$ sudo -u icecast2 /usr/bin/icecast2 -b -c /etc/icecast2/icecast.xml

Estilo Ubuntu.

Iniciar el servicio.

$ sudo /etc/init.d/icecast2 start

Detener el servicio.

$ sudo /etc/init.d/icecast2 stop

Verificar su funcionamiento.

Verificar la ejecución del proceso.

$ ps -fea | grep icecast

icecast2  7674  6254  0 23:21 pts/0    00:00:00 /usr/bin/icecast2 -c /etc/icecast2/icecast.xml

Verificar las estadísticas del servicio desde web.

Visitar el siguiente URL con un navegador web.

http://localhost:8000/admin/stats.xsl

La autenticación se debe realizar utilizando el admin-user y el admin-password especificados durante la etapa de configuración en el archivo icecast2.xml.

Reemplace localhost por el nombre del servidor o su correspondiente dirección IP si desea acceder a este remotamente.  Modifique también el puerto según el elegido en la sección listen-socket del mismo archivo de configuración.

Enlaces.

Convertir archivos archivos APE a MP3 en Linux Ubuntu

Todo en la vida sucede en el último momento cuando ya no hay tiempo.  Hoy necesité de urgencia convertir archivos APE (Monkey’s Audio Code) a MP3 para que los pudieran reproducir normalmente.  En un búsqueda rápida no pude encontrar ninguna aplicación que realizara fácilmente la conversión.  Buscando con Linux encontré varios sitios con algunas sugerencias pero ninguna me funcionó, al menos incialmente.  Por eso decidí realizar esta breve compilación de los pasos a realizar para efectuar la conversión.

Obtener la distribución para Debian de Mac.  El sitio oficial de este en proyecto en SourceForge fue removido motivo por el cual no es fácil encontrar una distribución de esta aplicación.

$ wget http://members.iinet.net.au/~aidanjm/mac-3.99-u4_b3-1_i386.deb

Instalar el paquete recién descargado.

$ sudo dpkg -i mac-3.99-u4_b3-1_i386.deb

Instalar bchunk sólo si es necesaro separar las pistas de sonido (archivo CUE).

$ sudo apt-get install bchunk

Instalar lame para codificar el archivo MP3.

$ sudo apt-get install lame

Convertir el archivo.ape en wav.

$ mac archivo.ape archivo.wav -d

Separar las pistas según la información el archivo CUE (si es necesario).  pista es el prefijo con que se crearan los nombres de los archivos.

$ bchunk -w archivo.wav archivo.cue pista

Codificar el archivo WAV a MP3.

$ lame --preset extreme archivo.wav archivo.mp3

Es posible especificar la información de las etiquetas del MP3 si se desea.

lame --preset extreme --ta "Nombre del Artista" --tl "Nombre del Album" --tg "Genero" archivo.wav archivo.mp3

Para automatizar un poco el proceso, creé un script que ejecutado en un directorio convierte los archivos *.cue a archivos *.mp3.  No tiene en cuenta al archivo CUE.

#!/bin/sh

# Convert from APE to WAV
for f in *.ape
do
   mac "$f" "$f.wav" -d
done

# Convert from WAV to MP3
for f in *.wav
do
   lame --preset extreme "$f" "$f.mp3"
done

# Rename APE.WAV.MP3 to MP3
find . -name '*ape.wav.mp3*' | sort | while read FILE
do
   NEWFILE=`echo ${FILE} | sed 's/ape.wav.mp3/mp3/g;'`
   mv "${FILE}" "${NEWFILE}"
done

Enlaces: