Mostrando entradas con la etiqueta música. Mostrar todas las entradas
Mostrando entradas con la etiqueta música. Mostrar todas las entradas

08 junio 2014

Un vídeo que te relajará

Llego a través de la página de Facebook de ASTER (la agrupación astronómica de Barcelona) a un impresionante vídeo con una música preciosa. Os dejo con él:

Al ver dicho vídeo y escuchar esta canción, sólo puedo pensar en la palabra serenidad. La combinación de las imágenes con la música me parece exquisita (¿he dicho ya que el piano es uno de mis instrumentos favoritos?). Por ello he querido compartirlo con vosotros.

Si alguien le interesa saberlo, la canción se llama Nuvole Bianche de Ludovico Einaudi.

Un saludo,
Morpheus

08 septiembre 2011

Poniendo a punto el YP-CP3 en Lignux

Hace poco, mi antiguo reproductor portátil (aka MP3), un Sansa Clip+ de 4GB dejó de funcionar; por suerte, me entraba en garantía y Fnac me hizo una tarjeta regalo por el mismo precio que este. Por desgracia, fue una gran pérdida, pues ese Sansa tenía ampliación de memoria por tarjeta microSD y reproducía Flac y Ogg (Vorbis).

Tras recibir la tarjeta, me puse a buscar un reproductor que tuviese las mismas características o similares en el catálogo de Fnac; sin embargo, lo único que me aparecían eran Samsung's, pero anteriormente ya había tenido uno y me había dado ciertos problemillas, además de que al final el conector USB, que estaba ensamblado dentro del propio artefacto, como los reproductores que estaba encontrando en el catálogo, dejó de funcionar bien y varias veces casi lo rompo debido a un golpe accidental.

Visto que no podía encontrar ningún reproductor que se ajustase a mis necesidades, envie un correo electrónico a los 3 Fnac's que hay en Barcelona, y me consiguieron encontrar una buena alternativa que se ajustase a mis necesidades, que no se encontraba en el catálogo, pero con el que contaban, y seguramente cuenten aún, con existencias en el Fnac de l'Illa Diagonal: el Samsung YP-CP3 (especificaciones), un reproductor de vídeo y audio (aka MP4), que acepta Flac y Vorbis y además se conecta al PC mediante un cable, con lo cual no corre el peligro de estropearse como mi anterior reproductor Samsung. Como podréis imaginar, es el reproductor que finalmente he adquirido.

Este reproductor, a la par que interesante, cuenta con cierta falta de soporte en Lignux; ya que pese a que se conecta sin ningún problema, no acaba de sincronizarse bien con Rhythmbox, y el programa que cabría instalar para poder sacarle toda la potencia (Emodio) requiere de Internet Explorer y el reproductor Windows Media, por lo tanto no se puede instalar mediante Wine. Pues bien, este artículo va a tratar de los pequeños parches que he realizado para poder utilizar sin problema este, de momento, gran reproductor.

Sincronizando con Rhythmbox

En primer lugar, quería aprovechar la capacidad de las últimas versiones de Rhythmbox de sincronizarse con los reproductores multimedia, y para ello apliqué un viejo truco, que es añadir un archivo con nombre .is_audio_player en la raíz del sistema de ficheros del dispositivo; sin embargo, este archivo puede especificar más información sobre el reproductor que quizás, y en mi caso, en una Debian Testing, no se encuentren en el paquete media-player-info, quedando mi archivo .is_audio_player de la siguiente forma:

output_formats=audio/mpeg,audio/x-ms-wma,application/ogg,audio/ogg,audio/flac,audio/x-wav,image/jpeg,text/plain,video/x-ms-wmv,video/x-msvideo
input_formats=audio/mpeg
audio_folders=Music/

(Fuente: FAQ Rhythmbox)

Transfiriendo las listas de reproducción

Una vez que Rhythmbox reconoce bien el reproductor y les transfiere las pistas en los formatos que acepta (si no, primero las transformaría a mp3), sería interesante conseguir que las listas de reproducción definidas en Rhythmbox pudiesen reproducirse también en el reproductor; sin embargo, el CP3 sólo acepta listas en formato SPL (un formato propio de Samsung) y WPL, el formato de Windows Media, pero Rhythmbox deja las listas en la raíz del sistema en formato PLS.

Indagando un poco por internet, encontré, entre otros, que el proyecto libmtp ya había programado una utilidad para este tipo de listas; sin embargo, el reproductor no se conecta mediante MTP, así que no podía servirme de mucho. Pese a esto, también encontré cierta información en los foros de anythingbutipod (1 y 2), obteniendo jutno con un par de pruebas las características necesarias para preparar un archivo SPL que reconociese el reproductor:

  • Las primeras dos líneas deben ser la especificación de que se trata de un archivo SPL y la versión del formato (1.00 o 2.00 según el firmware), junto con un espacio en blanco:
    SPL PLAYLIST
    VERSION 1.00
  • Cada canción debe especificarse en una línea con su ruta siguiendo el siguiente formato: \Music\Ruta\Archivo 1.mp3
  • Un espacio en blanco y una línea indicando que se acabado la lista:

    END PLAYLIST
  • El archivo debe estar codificado en formato UTF-16
  • Los saltos de línea deben estar especificados en formato CR+LF (Windows)

Siguiendo estas reglas, obtenemos un archivo SPL válido; ahora lo que nos falta es convertir las listas en PLS a este formato. Para tal fin, yo he hecho un pequeño script en Shell y AWK, que he bautizado como pls2spl.sh y que, dada la ruta donde se encuentra el reproductor, lee todas las listas sincronizadas por Rhythmbox, que por defecto se guardan en la raíz, y una vez transformadas las mueve a la carpeta Playlists:

#!/bin/bash

# Script AWK que transforma un archivo PLS al formato SPL
awk='BEGIN {
FS="/";
OFS="\\";
print "SPL PLAYLIST\nVERSION 2.00\n";
}

/[Ff]ile([0-9]+)=/ { # Sólo nos interesan las rutas de los archivos
printf "%s", gensub("[Ff]ile([0-9]+)=", OFS, 1, $1);
for(i=2; i <= NF; i++) printf "\\%s", $i;
printf "\n";
}

END {
print "\nEND PLAYLIST";
}'

TMPFILE=/tmp/spl;

# Función para obtener el nombre del archivo en una ruta
function filename() {
echo echo $i | awk 'BEGIN{FS="/"} {print $NF}';
}

readonly DIR=Playlists; # Donde se guardan las listas de reproducción

#Comprobaciones iniciales
if (( $# < 1 )); then
echo "Por favor, especifica la ruta al dispositivo (ex: /media/ypcp3)";
exit 1;
elif (( $# > 1 )); then
echo "Sólo puedes especificar un dispositivo";
exit 1;
fi

# Preparamos el awk para transformar el archivo pls
awkfile=pls2spl.awk;
echo "$awk" > $awkfile;

# Nos aseguramos de que $DEVICE no tenga un barra al final
DEVICE=$(echo $1 | awk '{if ( substr($0, length($0),1) == "/") print substr($0, 0, length($0)-1); else print $0 }' );

IFS=$(echo -e "'\n'");
for i in $(ls -1 $DEVICE/*.pls); do
awk -f $awkfile $i > $TMPFILE;

# Transformamos a CRLF (Windows) y a Unicode-16
sed s/$/'\r'/ $TMPFILE | iconv -f UTF-8 -t UTF-16 -o $DEVICE/$DIR/$(filename $i | sed s/.pls/.spl/) -;

echo -n "Se ha convertido ";
filename $i;

rm $TMPFILE;
rm $i;
done

rm $awkfile;

He de hacer notar que en el archivo .is_audio_player se podría haber especificado en qué carpeta debe guardar Rhythmbox las listas. Si lo hiciésemos, Rhythmbox especificaría la ruta del archivo de la forma file:///media/cp3/Music/archivo%201.mp3, lo cual no es una ruta válida para el formato SPL; debido a esto, he preferido mantener el comportamiento por defecto de Rythmbox, lo cual facilita la conversión, evitando el texto escapado, es decir, las construcciones del tipo %20.

Convirtiendo los vídeos

Pese a que según las especificaciones de la página web el reproductor acepta WMV, MPEG4, AVI, MP4, ASF, según las especificaciones del manual de usuario el reproductor sólo reproduce los siguientes formatos de vídeo:

AVI/SVI: MPEG-4 Perfil simple de vídeo (640x480, 800kbps), MP3 Audio
RM/RMVB: Vídeo Real Media (640x480, 800kbps), Real Audio
WMV: Vídeo WMV9 (640x480, 500kbps), Audio WMA

Con tal de poder transformar los vídeos con comodidad al formato AVI que especifica, y sobre todo poder realizar el escalado de forma automática manteniendo la proporción, he realizado un pequeño script para Avidemux valiéndome de lo que he aprendido con la entrada anterior; además, este script lo he añadido como ajuste personalizado dentro de mi carpeta personal, tal y como explican en la wiki de Avidemux. En el script, que os muestro a continuación, podréis notar que he realizado ciertas operaciones para poder realizar el escalado; si es necesario, podéis encontrar una gran referencia y fuente de información sobre javascript en el w3schools.

//AD  <- Needed to identify//
//--automatically built--

var app = new Avidemux();

//** Video **
// ** Preparing
var maxw=640, maxh=480; // Max permited by device
var resx=400, resy=240, dratio=resx/resy; // dratio=15/9=5/3 (Display)

//** Postproc **
app.video.setPostProc(3,3,0);
app.video.fps1000 = 25000;

//** Scaling **
var width=app.video.width;
var height=app.video.height;
var vratio=width/height;

if (width >= height) {
width=resx=maxw; // Video will fit up to device
height=Math.round((width/vratio)/2)*2; // Values must be pair
resy=resx/dratio;

if (height > resy || height > maxh) {
height=resy; // To preserve display and video ratio
width=Math.round((height*vratio)/2)*2; // Values must be pair
resx=resy*dratio;
}
}
else { // Improbably
height=resy=maxh;
width=Math.round((height*vratio)/2)*2;
resx=resy*dratio;

if (width > resx || width > maxw) {
width=resx;
height=Math.round((width/vratio)/2)*2;
resy=resx/dratio;
}
}

app.video.addFilter("resize","w="+width,"h="+height,"algo=1");

// ** Filling with black to preserve aspect ratio (padding)

var padw=(resx-width)/2, padh=(resy-height)/2;

app.video.addFilter("addblack","left="+padw,"right="+padw,"top="+padh,"bottom="+padh);

//** Video Codec conf **
app.video.codecPlugin("92B544BE-59A3-4720-86F0-6AD5A2526FD2", "Xvid", "CBR=800", "?xml version='1.0'?><XvidConfig><presetConfiguration><name><default></name><type>default</type></presetConfiguration><XvidOptions><threads>0</threads><vui><sarAsInput>true</sarAsInput><sarHeight>1</sarHeight><sarWidth>1</sarWidth></vui><motionEstimation>high</motionEstimation><rdo>dct</rdo><bFrameRdo>false</bFrameRdo><chromaMotionEstimation>true</chromaMotionEstimation><qPel>false</qPel><gmc>false</gmc><turboMode>false</turboMode><chromaOptimiser>false</chromaOptimiser><fourMv>false</fourMv><cartoon>false</cartoon><greyscale>false</greyscale><interlaced>none</interlaced><frameDropRatio>0</frameDropRatio><maxIframeInterval>300</maxIframeInterval><maxBframes>2</maxBframes><bFrameSensitivity>0</bFrameSensitivity><closedGop>false</closedGop><packed>false</packed><quantImin>1</quantImin><quantPmin>1</quantPmin><quantBmin>1</quantBmin><quantImax>31</quantImax><quantPmax>31</quantPmax><quantBmax>31</quantBmax><quantBratio>150</quantBratio><quantBoffset>100</quantBoffset><quantType>mpeg</quantType><intraMatrix><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value><value>8</value></intraMatrix><interMatrix><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value><value>1</value></interMatrix><trellis>true</trellis><singlePass><reactionDelayFactor>16</reactionDelayFactor><averagingQuantiserPeriod>100</averagingQuantiserPeriod><smoother>100</smoother></singlePass><twoPass><keyFrameBoost>10</keyFrameBoost><maxKeyFrameReduceBitrate>20</maxKeyFrameReduceBitrate><keyFrameBitrateThreshold>1</keyFrameBitrateThreshold><overflowControlStrength>5</overflowControlStrength><maxOverflowImprovement>5</maxOverflowImprovement><maxOverflowDegradation>5</maxOverflowDegradation><aboveAverageCurveCompression>0</aboveAverageCurveCompression><belowAverageCurveCompression>0</belowAverageCurveCompression><vbvBufferSize>0</vbvBufferSize><maxVbvBitrate>0</maxVbvBitrate><vbvPeakBitrate>0</vbvPeakBitrate></twoPass></XvidOptions></XvidConfig>");

//** Audio **
app.audio.reset();
app.audio.codec("Lame",128,20,"80 00 00 00 01 00 00 00 01 00 00 00 09 00 00 00 00 00 00 00 ");
app.audio.normalizeMode=0;
app.audio.normalizeValue=0;
app.audio.delay=0;
app.audio.mixer="NONE";
app.setContainer("AVI");
setSuccess(1);
//app.Exit();

//End of script

Sin embargo, pese a haber realizado este script, y siendo Avidemux un gran programa, como mínimo de transcodificación de archivos; me he encontrado con vídeos que sufrían ciertos problemas al ser transcodificados, como por ejemplo un desfase en el audio respecto al vídeo, que han hecho que utilice también otro gran programa: ffmpeg (sí, sé que mencioné que lo encontraba un poco complicado, pero para usarlo habitualmente; una vez establecidos unos parámetros que no van a variar, no lo he encontrado tan complicado). Pues con tal de realizar el mismo trabajo que con Avidemux, he hecho otro script (sí, también sé que últimamente estoy algo pesado con ellos) que se encarga también de mantener la proporción del archivo a la hora de escalarlo:

#!/bin/bash

# Constantes
readonly resx=400;
readonly resy=240;
readonly maxw=640;
readonly maxh=480;

IFS=$(echo -e "\n");

# Comprobaciones
if (( $# < 1 )); then
echo "Debes especificar los vídeos a codificar";
exit 1;
fi


# Funciones

# Recoge información sobre el vídeo en $width y $height
# $1 -> Ruta al archivo de vídeo
function getInfo() {
local video=$(ffmpeg -i $1 2>&1 | grep -iw "video:")
local size=$(echo $video | egrep -o "[0-9]+x[0-9]+");

width=$(echo $size | cut -d"x" -f1);
height=$(echo $size | cut -d"x" -f2);
}

# $1 -> Elemento a dividir
# $2 -> Width
# $3 -> Height
function divPerRatio() {
echo $(( ($1 * $3) / $2 ));
}

# $1 -> Elemento a multiplicar
# $2 -> Width
# $3 -> Height
function mulPerRatio() {
echo $(( ($1 * $2) / $3 ));
}

# Pre: haber obtenido la información de $width y $height (con getInfo)
# Retorna el tamaño del vídeo ($x $y) y la resolución en pantalla ($rx $ry)
function getRes() {
if (($width >= $height)); then
x=$maxw;
rx=$x; # Para encajar el vídeo en el dispositivo
y=$(divPerRatio $x $width $height);
ry=$(divPerRatio $rx $resx $resy);

if (($y > $ry || $y > $maxh)); then
y=$ry; # Para conservar la proporción del dispositivo y el vídeo
x=$(mulPerRatio $y $width $height);
rx=$(mulPerRatio $ry $resx $resy);
fi
else # Improbable
y=$maxh;
ry=$y;
x=$(mulPerRatio $y $width $height);
rx=$(mulPerRatio $ry $resx $resy);

if (($x > $rx || $x > $maxw)); then
x=$rx;
y=$(divPerRatio $x $width $height);
ry=$(divPerRatio $rx $resx $resy);
fi
fi
}


# Main
for (( f=1 ; f <= $# ; f++ )); do
file=${!f};

# Añadimos extension si no la tiene
if ! echo $file | egrep "\..{1,3}$" > /dev/null; then
ln $file $file.ln;
file=$file.ln;
LKD=1;
fi

getInfo $file;
getRes;

posx=$(( ($rx - $x)/2 ));
posy=$(( ($ry - $y)/2 ));

output=$(echo $file | sed -r s/'\..{1,3}$'/.cp3.avi/);

# Ejecución
ffmpeg -i $file -ab 128k -acodec libmp3lame -vcodec libxvid -b 800k -r 25 -s ${x}x$y -vf pad="$rx:$ry:$posx:$posy" $output;

# Borramos archivo con extensión
if (( $LKD )); then
LKD=0;
rm $file;
fi
done

Como podréis comprobar, transforma todo aquellos vídeos que se le pasen como argumento al script; por ejemplo:

./ypcp3.ffmpeg.sh video1.mp4 video2 video3.wmv

Pues hasta aquí hemos llegado. Espero que este artículo os haya sido de ayuda, y si no, a mí me ha resultado útil para mantener estos scripts y esta información como apunte en mi blog.

Un saludo,
Morpheus

27 febrero 2009

Mis AMV también dejan Vimeo

Pues eso, que mis AMV han dejado Vimeo, pero esta vez no ha sido algo voluntario: al parecer, pese a haber unos cuantos AMV en esa web, y grupos dedicados a ellos, me han borrado la cuenta por haber subido contenido "ripeado" de internet.

Así pues, ahora mismo estoy sin un lugar donde alojar mis vídeos (a parte de megaupload, pero allí no se pueden visualizar, y me niego a subirlos a megavideo). Así que si tenéis alguna sugerencia de hosting, a parte de Youtube, Vimeo y un hosting propio, estaré expectante. A ser posible, desearía que la página en cuestión no fuera muy estricta en temas de copyright, para poder mantener allí mis AMV sin problemas.

Ahora mismo me viene a la cabeza Veoh, pero nunca lo he usado ni probado. Qué tal es?

Qué difícil es ser creativo! Y luego se jactan de la web 2.0!

En fin...

pD: Si alguien quiere los vídeos, le enviaré los e-links (los tengo compartidos en amule) o se los subiré a megaupload.

Un saludo,
Morpheus

01 enero 2009

Mis AMV dejan YouTube

Actualización 27/02/2009: Vimeo ha borrado mi cuenta.

Actualización 04/08/2009: Ya puedes ver mis videos en DailyMotion.

Lo dejo como creador de AMV's (algo que volveré a poner en práctica en breve, espero).

El motivo de esta decisión es el reciente bloqueo de 3 de mis AMV, que estaban hechos con canciones de Linkin Park, por motivos de propiedad intelectual (anteriormente ya había recibido un aviso con otro AMV con una canción de Evanescence, pero simplemente se habían limitado a poner anuncios en la página del vídeo).

Dado que lo único que yo pretendía hacer es compartir mi creatividad y que el mundo pudiera ver mis creaciones, con el bloqueo de esos vídeos (hasta que cambie la canción por otra, algo que destrozaría el AMV) mis expectativas de hacerlo desaparecen, y es por eso que voy a eliminar a finales de este mes esos vídeos de YouTube.

Sin embargo, los deseos de compartir mis vídeos no desaparecen, y es por eso que los he puesto en Vimeo, una plataforma para creadores que permite subir vídeos en alta definición (HD) y permite que los archivos originales sean descargados, algo que para poder hacer en YouTube tenía que incluir los elinks (enlaces a archivos en emule), con lo cuál matos dos pájaros de un tiro.

Así pues, así lo he manifestado en los vídeos que aún me quedan activos, para que aquellos que tenían guardados mis AMV en una lista puedan seguir viéndolos en Vimeo (y descargarlos, si lo desean).

Para acabar, quisiera compartir con vosotros mis AMV (si es que aún no los habías visto). Están puestos en orden de creación (aunque el de Trigun es un remake, pues el original dejaba mucho que desear):

<-- Sin hosting -->

Recordad que, si os gustan, podéis descargar el archivo de vídeo original desde Vimeo. ;)

Un saludo,
Morpheus

07 agosto 2008

El Himno del Software Libre

Vaya, 2 entradas en menos de 2 horas; es lo que tiene estar revisando los feeds tras tan solo 2 días de desconexión...

En fin, vía UbuntuLife llego a este Himno del Software Libre, creación de Jose Luis Maquieira.

Si sabes algo del mundillo, te vas a reír bastante. :P

Un saludo,
Morpheus

24 julio 2008

MIDI y otros formatos de audio y vídeo en Ubuntu GNU/Linux

Para poder reproducir MIDI (tanto con Totem, como con Rhythmbox), sólo tenéis que instalar el paquete freepats.

Para reproducir otros archivos tendremos que instalar los siguientes paquetes:

Pudiera ser que me haya equivocado especificando el tipo de formato que es capaz de abrir cada paquete, pero con estos 3 tendréis las espaldas más que cubiertas para casi cualquier archivo multimedia.

Un saludo,
Morpheus

06 agosto 2006

Salmo de los Desheredados y entrevista de Mägo de Oz en Noche Hache

Bien, como ya prometí, aquí os dejo otra canción de Mägo (al menos una parte de ella, ya que se encuentra en la misma pista que "La Cantata del Diablo").

El Salmo de los Desheredados (El Dios de los Tristes)

Padre Nuestro, de todos nosotros,
de los pobres, de los sin techo,
de los marginados y de los desprotegidos,
de los desheredados
y de los dueños de la miseria,
de los que te siguen
y de los que en ti ya no creemos.

Baja de los cielos,
pues aquí está el infierno.
Baja de tu trono,
pues aquí hay guerras, hambre, injusticias.
No hace falta que seas uno y trino,
con uno sólo que tenga ganas de ayudar, nos bastaría.

¿Cual es tu reino? ¿El Vaticano?
¿La banca? ¿La alta política?
Nuestro reino es Nigeria, Etiopía, Colombia, Hiroshima.
El pan nuestro de cada día
son las violaciones, la violencia de género,
la pederastia, las dictaduras,
el cambio climático.

En la tentación caigo a diario,
no hay mañana en la que no esté tentado de crear a un Dios humilde,
justo.
Un Dios que esté en la tierra,
en los valles, en los ríos,
un Dios que viva en la lluvia,
que viaje a través del viento
y acaricie nuestra Alma.

Un Dios de los tristes, de los homosexuales. Un Dios más humano...
Un Dios que no castigue, que enseñe.
Un Dios que no amenace, que proteja.
Que si me caigo, me levante,
que si me pierdo, me tienda su mano.
Un Dios que si yerro no me culpe
y que si dudo me entienda.
Pues para eso me dotó de inteligencia,
para dudar de todo.

Padre Nuestro, de todos nosotros,
¿por qué nos has olvidado?
Padre Nuestro, ciego, sordo y desocupado,
¿por qué nos has abandonado?

Como también prometí, tras subir la entrevista de Mägo de Oz en Noche Hache a www.megaupload.com, aquí la tenéis para descargárosla:

Descargar entrevista de Mägo de Oz en Noche Hache (3/7/06)

Espero que la disfrutéis.

Un saludo,
Morpheus

05 agosto 2006

Explicación de "Hasta que tu muerte nos separe"

Bien, desde hacía ya un tiempo quería hallar la explicación a la letra de la canción de Mägo de Oz "Hasta que tu muerte nos separe", y ya apareció/la encontré en su página oficial, pese a que ya tenía una idea aproximada (por no decir casi exacta) de lo que ellos querían expresar. Aquí tenéis la letra junto con la explicación (en cursiva).

Hasta que tu Muerte nos Separe

Mediante ésta parábola, Jesús enseña a sus discípulos que lo importante es el amor, esté o no institucionalizado (entre hombres, entre mujeres, o entre hombres y mujeres).

Puedes acogerte al sagrado matrimonio "como Dios manda"... y seguir siendo un perfecto hijo de puta.

Tan sólo quiero que mi voz
te desespere y robe la razón
y llorando que te abraces
a tus miedos, corazón.

Espero el día "muñequita linda"
en que tu herida sea tan fuerte
que bañándote en recuerdos,
sólo te bese el alcohol.

Y verás tu linda cara
frente al espejo demacrada
y el dolor será tu amor
masturbando tu mirada.

Tan sólo quiero verte llorar
he mandado a la muerte a buscar
tan sólo quiero oírte gritar
en el infierno te he de encontrar.

Tan sólo quiero que tu alma
no vuelva ha ver la luz del sol
y que llores sangre y miedo
y que pagues, corazón.

Intentaré pisar tu orgullo
tantas veces como pueda
hasta que mi odio te parezca
aire para respirar.

Y verás tu linda cara
frente al espejo demacrada
y el dolor será tu amor
masturbando tu mirada.

Con este anillo te desposo
hasta que tu muerte nos separe
es tan fina la barrera
entre el odio y el amor.

Lamerás tu cuerpo desnudo
con ginebra en un portal
mendigando un poco de amor
las ratas te acariciarán.

Próximamente pondré otro post con otra canción y con la entrevista que le hicieron a Mägo de Oz en Noche Hache el 3/7/06. Lo pondré cuando la haya subido.

Un saludo,
Morpheus