Friday, 5 June 2015

Knez - Adio (Adios / Good bye)

A beautiful song that we could listen to in Eurovision 2015.
 
 
 
 
This is a free translation to achieve a better sonority in Spanish:

Nebo mi te donijelo, nebo mi te uzelo / El cielo te trajo a mí y el cielo te quitó de mi lado.Heaven brings you to me and heaven take you away from my side.
Još me boli što je boljelo / Aún me duele tanto como me dolía. / It is still hurting me so much as it was
Dani su mi zidovi, noći su mi okovi / Mis días son paredes y mis noches son grilletes. / My days are my walls and my nights are my fetters.
Još ti služim moja ljubavi / Todavía estoy a tu servicio, mi amor. / I am still serving you, my love.
 
Još te ne dam maglama sa planina / Todavía no puedo dejar que te desvanezcas entre la niebla de las montañas. / I can't let you vanish inside the fog yet
Još te ne dam vodama iz dubina / Todavía no puedo dejar que te hundas en la profundidad de las aguas. / I can't let you sink in the depth of the ocean yet.
A ti kažeš pusti me, živ mi bio / Y tú me dices: "Déjame. ¡Qué Dios te bendiga! / And you say to me: "Let me go. God bless you!
Zaboravu predaj me, sad adio / Abandóname al olvido y dime adiós" / Abandon me to oblivion and tell me good bye"
 
Procvjetao ruzmarin, savio se bijeli krin / Ya floreció el romero y se inclinó la azucena (*) / Rosemary florished and lily bend down already.
Meni sve na tugu miriše / pero aún me huele todo a tristeza. / but everything still smell me like sadness.
Probam da zaboravim, da na tebe ne mislim / Intento olvidarte, no pensar en ti, / I try to forget you, not  to think of you,
Al' za tobom srce uzdiše / pero mi corazón suspira por ti. / but my heart sigh for you.
 
Još te ne dam maglama sa planina / Todavía no puedo dejar que te desvanezcas entre la niebla de las montañas.
Još te ne dam vodama iz dubina / Todavía no puedo dejar que te hundas en la profundidad de las aguas.
A ti kažeš pusti me, živ mi bio / Y tú me dices: "Déjame. ¡Qué Dios te bendiga!
Zaboravu predaj me / Abandóname al olvido".
 
Oh, Oh, ...
 
Ah..., Još te ne dam maglama sa planina / Todavía no puedo dejar que te desvanezcas entre la niebla de las montañas.
Još te ne dam vodama iz dubina / Todavía no puedo dejar que te hundas en la profundidad de las aguas.
A ti kažeš pusti me, živ mi bio / Y tú me dices: "Déjame. ¡Qué Dios te bendiga
Zaboravu predaj me, sad adio / Abandóname al olvido y dime adiós"
 
(*) Interpreto que viene a decir que ha pasado mucho tiempo, que han pasado las estaciones, pero sigue sin poder olvidarla.
 

Thursday, 21 May 2015

Roxette - Beautiful things (Cosas hermosas)

From their album "Have a nice day" a song of Roxette: Beautiful things. A strange song with an optimistic sound but with a little bit sad lyric (but beautiful anyway)..



Beautiful things / Cosas hermosas
are coming my way. / están viniendo a mi encuentro.
Beautiful things / Cosas bellas
I want them to stay. / que quiero que se queden.
But after a while / Pero después de un momento
my beautiful things / mis cosas bonitas
don't seem beautiful at all. / no parecen bonitas en absoluto.

Terrible things / Cosas terribles
like when you wake up / como cuando te despiertas
and all of your dreams / y todos tus sueños
seem to crack up. / parecen desmoronarse.
Like things you have done, / Como las cosas que has hecho,
like breaking my heart. / como romper mi corazon.
For you it don't seem  / Para ti no parecen ser
terrible at all. / terribles en absoluto.

Is there someone I can talk to? / ¿Hay alguien con quién pueda hablar?
Someone on the line? / ¿Alguien al otro lado de la línea?
Does anybody want to hear / ¿Alguien quiere escuchar
what's on my mind? / lo que pasa por mi cabeza?

Beautiful things, / Cosas hermosas,
like leaves on a tree. / como las hojas de un arbol.
Beautiful things, / Cosas hermosas,
the sky and the sea. / (como) el cielo y la mar.
Since you've been gone / Desde que te has ido
no beautiful things / ninguna de las cosas bellas
seem beautiful to me / me parecen bellas.

Is there someone I can talk to? /  ¿Hay alguien con quién pueda hablar?
Someone, out there, on the line? / ¿Alguien, ahí fuera, al otro lado de la línea?
Does anybody want to hear / ¿Alguien quiere oír
what's on my mind? / lo que pasa por mi cabeza?

Make the grass grow in the garden / Hacer crecer la hierba en el jardín
when the rain is passing by / cuando la lluvia está pasando (*)
Does anybody want to know / ¿Quiere alguien saber
what's on my mind? / lo que pasa por mi cabeza?
 
Does anybody want to know...? / ¿Quiere alguien saber...?
 
Is there someone I can talk to? /  ¿Hay alguien con quién pueda hablar?
Someone, out there, on the line? / ¿Alguien, ahí fuera, al otro lado de la línea?
Does anybody want to hear / ¿Alguien quiere oír
what's on my mind? / lo que pasa por mi cabeza?
 
...want to hear / ¿...quiere oír
what's on my mind? / lo que pasa por mi cabeza?
 
(...)
 
Does anybody want to know ...? / ¿Alguien quiere saber ...?
 
(...)
 
(*) Ni idea de qué quieren decir con esto. Supongo que se refiere a una de esas cosas "bonitas" y que viene a significar algo así como lo que sigue:
 
Como ver crecer la hierba en el jardín cuando llueve.
 

No sense for me. I guess that is one of those beautiful things and maybe means something like this:
 
Like watching the grass growing in the garden when it rains.
 
 

Monday, 6 April 2015

Programa para graficar las lecturas de Arduino / Program to chart data from Arduino

Éste es un programa realizado con Visual Basic Express 2013 (entorno de programación gratuito y que te puedes bajar de la página de Microsoft) para poder visualizar y guardar los datos de tensión leídos a través de Arduino.

This is a program made with Visual Basic Express 2013 (free tool for programmers that you can download from the Microsoft web page) that is useful to see and save tension data read through Arduino.

El programa está en su segunda versión y por supuesto, como suele ser usual en estos casos, no me hago responsable de cualquier daño que pueda hacer el programa.

Elegí Visual Basic por la facilidad y rapidez con la que se puede hacer un programa para entorno Windows con él. Está todo muy "masticado". Me hubiese gustado utilizar otro lenguaje de programación como Phyton, aunque fuese por probar, pero a día de hoy estoy más acostumbrado a Visual Basic, por no decir que no tengo ni idea de Phyton. Tal vez algún día ...

Para Arduino el programa es:

/* 
Comunicación serial para Arduino
*/
int dato;

void setup(){
   Serial.begin(9600); // La misma velocidad de conexión debe ser usada en el programa de Windows
}

void loop(){
   dato=analogRead(A0); // Ver la siguiente imagen, donde se puede ver la entrada analógica utilizada.
   Serial.println(dato); // Envía el valor leído
   delay(1000);     
   /* Importante: "delay" debe tener el mismo valor que el intervalo de muestreo
   del programa de Windows (ver variable intMuestreo) */
}

Y las pruebas se pueden hacer por ejemplo con el siguiente conexionado (R es un potenciómetro. En mi caso usé uno de 100K), en este caso con la Arduino Mega 2560:

A0 se trata de una entrada analógica que leerá una señal de entre 0 y 5 V, convirtiéndolo a un valor proporcional de entre 0 y 1023, es decir, si el A0 nos está diciendo que tiene una señal de 614, por ejemplo, nos está diciendo que tiene una señal de aproximadamente 3V (exactamente será el resultado de 614·(5/1023)).

Para Visual Basic la GUI será algo como lo que sigue (captura de una de las primeras versiones):
 
 
O también algo como lo que sigue (se corresponde con la segunda versión):
 
 
Como se puede ver tiene un selector del puerto COM, puerto que se elegirá según sea a cual se conecta Arduino, un botón para conectar y desconectar (son el mismo botón, que cambia de texto y de color según sea su función), un área donde se representará las tensiones leídas a lo largo del tiempo, un botón de "Guardar como ... " por si se quiere guardar los datos leídos en una hoja *.csv (si se desconecta y se vuelve a conectar se seguirán guardando los datos donde se dejó) y además hay una serie de datos que se muestran en tiempo real (uno de ellos notareis que está en un formato distinto, pero es para probar una función distinta a la usada en los otros campos).

Para la GUI se eligen las siguientes propiedades (es posible que algunas se elijan en el propio programa y no directamente en el editor de la GUI):

Ventana principal
Name   Form1
Size      600; 400
Text     Conexión Serial 2015 (9600 bps)

Selector del puerto de conexión (herramienta ComboBox)
Name         cbxPuertos
Botón         conectar/desconectar (herramienta Button)
Name         btnConectar
Text           Conectar

Gráfica (herramienta Chart)
Name         chGrafica

Botón Guardar como (herramienta Button)
Name         btnGuardarComo

Caja de texto de la ruta para Guardar como
Name         tbxRuta
Multiline   True

Caja de texto de la última lectura
Name         tbxActual

Caja de texto del valor mínimo
Name         tbxMinimo

Caja de texto del valor máximo
Name         tbxMaximo

Caja de texto del valor medio acumulado
Name         tbxMedia

Caja de texto del numero de lecturas correctas
Name         tbxLecturas

Caja de texto del numero de lecturas incorrectas
Name         tbxIncorrectas

Y como elementos o herramientas insertadas no visibles:

Dialogo guardar como (herramienta SaveFileDialog)
Name         dlgGuardarComo

Cronometro o timer (herramienta Timer)
Name         tmrTimer

Comunicación o puertos serial (herramienta SerialPort)
Name         spPuertos

Para Visual Basic el programa es:

REM Programa realizado con fines formativos. Sin garantías de ningún tipo
REM Autor:JAIS
REM Fecha: 06/04/2015
REM Versión: 2
REM Función: Comunicación serial con Arduino y graficado de los datos procedentes de él
REM Nombre: ComunicacionSerial2015

'Para poder acceder al sistema de archivos
Imports System
Imports System.IO
Imports System.IO.StreamWriter

'Para poder dibujar el gráfico
Imports System.Windows.Forms.DataVisualization.Charting


Public Class Form1


    Const vConexion As Integer = 9600 'En esta ocasión no daremos opción de conectar a otras velocidades que no sean la usual
    Const intMuestreo As Integer = 1000 'En milisegundos (este valor debe ser el usado también en el programa de Arduino)
    Const digRedondeo As Integer = 2 'Redondearemos todos los números o lecturas a 2 decimales
    Const factorConv As Double = 5 / 1023 'Factor de conversión entre dato de Arduino (valor interno) y tension real de entrada.
    Const tensionMax As Double = 5 'Valor de la tensión máxima de entrada que permite Arduino
    Const nMaxMedidas As Integer = 200 'REVISAR PARA QUE AL RECONECTAR SE REINICIE EL CONTADOR

    'Se definen e inicializan las variables
    Dim valorMinimo As Double = tensionMax 'Se elige el valor máximo disponible para que salga lo que salga sea menor a este valor
    Dim valorMedio As Double = 0.0 'Valor medio de todos lso valores leidos hasta el momento
    Dim valorActual As Double = 0.0 'Último valor leido
    Dim cLecturas As Integer = 0 'Contador de lecturas correctas
    Dim cIncorrectas As Integer = 0 'Contador de lecturas incorrectas

    Dim strBufferIn As String = Nothing 'Se guardara en esta variable lo que se lea del puerto serial

    Dim ruta As String = Nothing 'Ruta del archivo donde se guardan las lecturas
    Dim archivo As Stream = Nothing 'Archivo donde se guardan las lecturas
    Dim strStreamWriter As StreamWriter = Nothing


    Private Sub Form1_FormClosing1(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing

        If ruta <> Nothing Then
            strStreamWriter.Close() 'Se ejecuta al cerrar el formulario.
            archivo.Close() 'Se cierra tambien el archivo
        End If

    End Sub  


    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Para ahorrarse poner un monton de With. Notar que se pone gbxProgreso y no Me porque
        ' realmente los controles a los que nos referimos están dentro de ese grupo
        ' Así se inicializan todas las propiedas que son iguales de los textBox del grupo Progreso.
        '------------------------------------------------------------------------------------------------------------

        For Each thisTbx As TextBox In gbxProgreso.Controls.OfType(Of TextBox)()

            With thisTbx
                .Enabled = False 'Para que no se puedan introducir datos, sólo leerlos.
                .Text = "0" 'Por ejemplo. También podia poner n/a o similares.
                .BackColor = Color.White
                .TextAlign = HorizontalAlignment.Center
                .BorderStyle = BorderStyle.None
            End With

        Next thisTbx

        'Inicializar al cargar la ventana
        '------------------------------------

        tmrTimer.Enabled = False 'Debe estar desabilitado al principio
        tbxRuta.Enabled = False 'Siempre está deshabilitado
        tbxRuta.Text = "Aún no ha seleccionado ningún archivo"

        'Se cargan los puertos disponibles y se añaden al combobox
        '-----------------------------------------------------------------------

        cbxPuertos.Items.Clear() 'Se limpia el combobox

        For Each puertoDisponible As String In My.Computer.Ports.SerialPortNames
            cbxPuertos.Items.Add(puertoDisponible)
        Next

        If cbxPuertos.Items.Count > 0 Then
            cbxPuertos.Text = cbxPuertos.Items(0) 'Elegir el primer puerto de la lista como puerto visible
            btnConectar.Enabled = True
            btnGuardarComo.Enabled = True
            btnConectar.BackColor = Color.Red
            btnConectar.ForeColor = Color.White
        Else
            MessageBox.Show("Ningun puerto encontrado.")
            btnConectar.Enabled = False
            btnGuardarComo.Enabled = False
            cbxPuertos.Items.Clear()
            cbxPuertos.Text = ("")
        End If

        'Se acondiciona la gráfica (la ventana del gráfico donde se representan los datos leídos).
        '--------------------------------------------------------------------------------------------------------

        With chGrafica

            .Legends("Legend1").Enabled = False 'Legend1 es el nombre por defecto que le da Visual a la leyenda de la gráfica. En principio sólo una si no se especifica otra cosa.
            .Series("Series1").ChartType = SeriesChartType.Line 'Series1 es el nombre por defecto que el ada Visual a la serie de datos. En principio sólo una si no se añaden más.
            With .ChartAreas("ChartArea1") 'También se puede poner ... ChartAreas(0)
                .AxisX.Interval = 2
                .AxisX.LabelStyle.Angle = 0
                .AxisX.Maximum = 10
                .AxisX.Title = "Medida nº"
                .AxisY.Title = "Tensión [V]"
                .AxisX.MajorGrid.Enabled = False
                .AxisY.MajorGrid.LineColor = Color.LightBlue
            End With

        End With

    End Sub


    Private Sub btnGuardarComo_Click(sender As Object, e As EventArgs) Handles btnGuardarComo.Click

        'Ventana de dialogo Guardar Como
        '------------------------------------------

        dlgGuardarComo.Filter = _
            "Archivo de valores separados por punto y coma (*.csv)|*.csv|Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*"
        dlgGuardarComo.ShowDialog()
        ruta = dlgGuardarComo.FileName 'Incluye toda la ruta de acceso, no solo el nombre del archivo

        If ruta <> Nothing Then
            tbxRuta.Text = ruta
            Try
                If File.Exists(ruta) Then
                    archivo = File.Open(ruta, FileMode.Truncate) 'Para que no se mezclen datos primero hay que eliminar los datos anteriores
                Else
                    archivo = File.Create(ruta)
                End If
                strStreamWriter = New StreamWriter(archivo, System.Text.Encoding.Default)
            Catch ex As Exception
                MessageBox.Show("Problemas al crear/abrir el archivo. Acceso denegado")
            End Try
        End If

    End Sub


    Private Sub btnConectar_Click(sender As Object, e As EventArgs) Handles btnConectar.Click

        'Cambia el texto del botón conectar según estemos conectados o no.

        If btnConectar.Text = "Conectar" Then
            conectar()
        Else
            desconectar()
        End If

    End Sub


    Private Sub tmrTimer_Tick(sender As Object, e As EventArgs) Handles tmrTimer.Tick

        strBufferIn = spPuertos.ReadExisting 'Guardamos en nuestra variable lo que hay en el puerto, si es que hay algo
        Static Dim valorMaximo As Double = 0.0

        'Sólo si hay una lectura positiva se ejecuta el codigo del programa
        If strBufferIn <> "" Then

            Try
                If Not IsNumeric(strBufferIn) Then
                    Throw New Exception("Lectura: " & strBufferIn)
                End If
                valorActual = CDbl(strBufferIn) * factorConv 'Lo metemos en un try por si no es posible convertir el valor que llega de arduino

                'Se convierte a voltios (máximo 5 V) el valor dado por Arduino (máximo 1023)
                tbxActual.Text = CStr(Math.Round(valorActual, digRedondeo))
                'Verificar si es el valor mínimo
                If valorActual < valorMinimo Then
                    valorMinimo = valorActual
                    tbxMinimo.Text = CStr(Math.Round(valorMinimo, digRedondeo))
                End If

                'Verificar si es el valor máximo
                If valorActual > valorMaximo Then
                    valorMaximo = valorActual
                    tbxMaximo.Text = String.Format("{0:E}", Math.Round(valorMaximo, digRedondeo))
                End If

                'Calcular el valor medio
                cLecturas += 1
                tbxLecturas.Text = cLecturas.ToString()
                If cLecturas > 1 Then
                    valorMedio = (cLecturas * valorMedio + valorActual) / (cLecturas + 1)
                Else
                    valorMedio = valorActual
                End If
                tbxMedia.Text = Math.Round(valorMedio, digRedondeo).ToString()
                If cLecturas > 10 Then
                    With chGrafica.ChartAreas(0).AxisX
                        .Minimum = .Minimum + 1
                        .Maximum = .Maximum + 1
                    End With
                End If
                chGrafica.Series("Series1").Points.AddY(valorActual)
                If ruta <> Nothing Then
                    strStreamWriter.WriteLine(tbxLecturas.Text & ";" & tbxActual.Text)
                End If
            Catch ex As Exception
                tbxActual.Text = ex.Message
                cIncorrectas += 1
                tbxIncorrectas.Text = CStr(cIncorrectas)
            End Try

            strBufferIn = ""
            spPuertos.DiscardInBuffer() 'Se limpia el buffer de entrada para que no registre más datos o los repita

            If cLecturas = nMaxMedidas Then
                desconectar()
            End If

        End If

    End Sub


    Sub desconectar()

        With btnConectar 'Se cambia el botón de conectar a estado de desconectado
            .Text = "Conectar"
            .BackColor = Color.Red
            .ForeColor = Color.White
        End With

        tmrTimer.Enabled = False
        spPuertos.Close() 'Se cierra la conexión pero no el archivo, por si hay que volver a escribir al reconectarse.

    End Sub


    Sub conectar()

        With btnConectar 'Se cambia el botón de conectar a estado de conectado
            .Text = "Desconectar"
            .BackColor = Color.LightGreen
            .ForeColor = Color.Black
        End With

        With spPuertos 'Se abre el puerto de conexion
            .PortName = cbxPuertos.Text
            .BaudRate = vConexion
            .Open()
        End With

        With tmrTimer 'Se habilita el timer
            .Enabled = True
            .Interval = intMuestreo 'En milisegundos
        End With

    End Sub


End Class


Y finalmente el resultado es:



Saturday, 21 February 2015

Muse - Unintended


Another slow and beautiful song with a meaning difficult of knowing or translating:



You could be my unintended choice / Tú podrías ser mi oportunidad inesperada
to live my life extended. / con la que vivir el resto de mi vida (*1).
You could be the one I'll always love / Tú podrías ser la única a la que yo siempre querré

You could be the one who listens to  / Tú podrías ser la única que escucha
my deepest inquisitions / mis más profundas inquisiciones (*2)
You could be the one I'll always love / Tú podrías ser la única a la que yo siempre querré

I'll be there as soon as I can / Estaré allí tan pronto como pueda
but I'm busy (*3) / pero estoy ocupado
mending broken pieces of the life I had before / remendando los pedazos rotos de mi antigua vida (*4).

First there was the one who challenged / Primero hubo la que cuestionaba
all my dreams and all my balance. / todos mis sueños y desafiaba toda mi estabilidad.
She could never be as good as you / Ella nunca podría ser tan buena como tú

You could be my unintended choice / Tú podrías ser mi oportunidad inesperada
to live my life extended / con la que vivir el resto de mi vida.
You should be the one I'll always love / Tú deberías de ser la única a la que yo siempre querré.

I'll be there as soon as I can / Estaré allí tan pronto como pueda
but I'm busy /  pero estoy ocupado
mending broken pieces of the life I had before / remendando los pedazos rotos de mi antigua vida.

I'll be there as soon as I can / Estaré allí tan pronto como pueda
but I'm busy / pero estoy ocupado
mending broken pieces of the life I had before ... / remendando los pedazos rotos de la vida que tuve antes ...

before you / antes de tí. 

(*1) A free translation.  I choose to translate it with the same meaning that "rest of my life" understanding that "life extended" is a shorten way to say the same. Also I use the translation "unexpected opportunity" or "unexpected chance" instead of the literal one. It doesn't have the exactly same meaning but I think that it is very similar and probably represent better the real meaning of the song and with more optimism.

(*2) "My deepest inquisitions" is translated as "mis más produndas inquisiciones" with the meaning of the that kind of questions that everybody make themselves or as it is said in Spanish: "comeduras de tarro" that everybody have got when they are thinking repeatedly and non-stop about the same issues, problems, questions, etc.

(*3) Busy /ˈbɪzɪ/. Siempre me ha gustado la pronunciación de esta palabra y lo distinta que es su pronunciación de su forma escrita.

(*4) It was translated as "my old life" because it sounds better in Spanish. Only in the last repetition it is used a literal translation to preserve the "drama" of the last two words.








Saturday, 14 June 2014

Matlab - Guide - Cómo salir de un bucle "while" al pulsar un botón

Si estás desarrollando un programa en Matlab, utilizando "Guide" para ello, y quieres que al pulsar un botón se pare la ejecución de un bucle "while" hay una forma de hacerlo.


If you are developing a Matlab program using "Guide" for it and you want to stop the execution of a loop when you push a button, there is a way to do it.


La solución me la dió Doug. Puedes verlo aquí: 
http://blogs.mathworks.com/videos/2010/12/03/how-to-loop-until-a-button-is-pushed-in-matlab/ (the solution was given by Doug. You can see it here)

Un ejemplo similar sería el siguiente (el boton que se pulsa se llama "boton", es decir, su tag es "boton". Perdón por la falta de originalidad):

% --- Executes on button press in boton.
function boton_Callback(hObject, eventdata, handles)
i=0;
while get(hObject,'Value')
    % Esto hará que al pulsar el boton se reiniciaria la cuenta desde 0 (hará que se ejecute de nuevo la función)
    % También se puede usar: while get(handles.boton,'Value')
    disp(i);
    i=1+i;

    pause(0.5); % En segundos. También puedes usar 0.000001; por ejemplo. Lo importante es que
    % el comando "pause" esté presente pues sino no funcionará. Si no se pone "pause" el programa
    % sigue ejecutandose sin parar pues no se da tiempo al programa a pararse (de ahí el "pause") para 
    % ver si se ha pulsado el boton.

    if i==30
        break; %Utilizó esto para acabar el programa se pulse o no el boton. Si se pulsa el boton
        % antes de llegar a 30 simplemente se reinicia esta función y la cuenta empieza de nuevo desde cero.
    end
end

Al ejecutar este programa y pulsar el botón empieza una cuenta desde 0 hasta 29 que se va mostrando en la pantalla del Matlab. Si se pulsa el boton de nuevo antes de acabar la cuenta se reinicia la cuenta, es decir, empieza desde 0 otra vez.

En base a su solución aquí teneis un ejemplo de como hacer que con un mismo botón se pueda poner en marcha y parar un bucle:

% --- Executes on button press in boton.
function boton_Callback(hObject, eventdata, handles)

if strcmp(get(handles.boton,'String'),'conectar')
    set(handles.boton,'String','desconectar');
     i=0;
    while get(hObject,'Value')
        disp(i);
        i=1+i;
        pause(0.5);
        if i==30
            break;
        end
    end
else
    set(handles.boton,'String','conectar');
end

Observar que al pulsar el botón su texto cambia, así si no se ha pulsado todavía aparecerá "conectar" y si se pulsa su texto cambia a "desconectar".





Thursday, 2 May 2013

George Michael - Through (Acabado)



"Through" is another sweet song by George Michael:

Is that enough? / ¿Es suficiente?
I think it's over / Creo que se ha acabado.
See, everything has changed / Mira, todo ha cambiado
and all this hatred may just make me strong enough / y todo este odio puede que solo me haga suficientemente fuerte
to walk away. / como para alejarme. (1)

They may chase me to the ends of the earth / Me pueden perseguir hasta los confines de la tierra
but I've got you, babe / pero te tengo a ti, nena
 and they may strip me of the things that I've worked for / y pueden despojarme de todo aquello por lo que he trabajado (2)
but I've had my say. / pero he dicho lo que pensaba. (3)

So hear me now / Así que ahora escuchame,
I've enough of these chains / me he cansado de estas cadenas, (4)
I know they're of my making / sé que las he creado yo, (5)
no one else to blame for where I stand today / nadie a quien culpar por dónde me encuentro hoy. (6)
I've no memory of truth / No recuerdo la verdad (7)
But suddenly the audience is so cruel; / pero de repente el público es tan cruel;
so God, hey God!, you know why I'm through / así que Dios, ¡eh Dios!, tú sabes por qué estoy acabado.

Through / Acabado.

I guess it's tough, I guess I'm older / Supongo que difícil, supongo que soy viejo. (8)
And everything must change / Y todo tiene que cambiar
but all this cruelty and money instead of love .../ pero toda esta crueldad y dinero en lugar de amor...
People, have we no shame? / Gente, ¿no tenemos vergüenza? (9)

They may chase me to the ends of the earth / Me pueden perseguir hasta los confines de la tierra
but I've got you, babe / pero te tengo a ti, nena
and they may take away the things that I've worked for / y se pueden llevar todas las cosas por las que he trabajado
but you'll pull me through, babe. / pero tú me harás salir hacia adelante, nena.

It's so clear to me now / Es tan evidente para mi ahora (10)
I've enough of these chains / Estoy cansado de estas cadenas,
life is there for the taking / la vida está aquí para ser vivida (11)
What kind of fool would remain in this cheap gilded cage? / ¿Qué clase de tonto podría permanecer en esta jaula de oro barato?
I've no memory of truth / No recuerdo la verdad
But suddenly the audience is so cruel; / pero de repente el público es tan cruel;
Oh, God!, I'm sorry / ¡Oh, Dios!, lo siento.

I think I'm through / Pienso que estoy acabado
I think I'm through / Pienso que estoy acabado
I think I'm..., I know I'm... / Pienso que estoy..., sé que estoy ...


(1)
and all this hatred may just make me strong enough to walk away
y todo este odio puede que solo me haga suficientemente fuerte como para alejarme.

(2)
they may strip me of the things that I've worked for
pueden despojarme de todo aquello por lo que he trabajado
 
they may strip me of the things that I've worked for
pueden despojarme de todo aquello por lo que he trabajado

Although "of the things" is literally translated as "de aquello" and this is correct, I prefer to use "de todo aquello" (of all the things) because it is the normal expresion in Spanish.

(3) 
A rare expression for Spanish speakers:

I've had my say
He dicho lo que pensaba. 

So "to have my say" is equal to "decir lo que se piensa" or "decir lo que uno piensa". I guess that "I've had my say" is the same to say "I've said what I thought".

(4)
I've enough of these chains 
Me he cansado de estas cadenas

This is a free translation. The real translation would be "Tengo suficiente de estas cadenas" but this don't sound too much well in Spanish... , although a Spanish speaker  probably would understand it.

(5)
I know they're of my making (the chains).
sé que las he creado yo (las cadenas).

We can also translated it as "Sé que son de mi creación" but sounds better the translation I have proposed.

(6)
no one else to blame for where I stand today 
nadie a quien culpar por dónde me encuentro hoy. 

no one else to blame for where I stand today 
nadie a quien culpar por dónde me encuentro hoy. 

I translated "me encuentro" but you can also use "estoy" (I am), for example. "Me encuentro" is a normal expression to say this.

(7)
I've no memory of truth 
No recuerdo la verdad

Also a literally translation is possible: "No tengo memoría de la verdad" but It is a bit strange, like in a poetry.

(8)
You can take this opportunity for listening to his song "Older".
Puedes aprovechar esta oportunidad para escuchar su canción "Older" (más viejo).

I guess that those days he felt so, older.

(9)
Observe "vergüenza". The diaeresis over the "u" makes its pronunciation different. "gü" sounds like a "w" in English, so "güen" sounds like the work "when".

(10)
It's so clear to me now 
Es tan evidente para mi ahora

Another free translation. You could translated it as "Es tan claro para mí ahora", but better it is the proposed first. Note: "evidente" = "obvious".

(11)
life is there for the taking 
la vida está aquí para ser vivida

I guess that he means this. Other possible and more exact translation is "la vida está allí para ser tomada" but in Spanish we use to say "la vida está para ser vivida" (life is here for being lived).


Monday, 22 April 2013

Manowar - Warriors of the world (Guerreros del mundo)

Today I felt very sad and angry and nothing could make me feel better but this song, only for some minutes, with the sound to maximum level, it gave me some power to raise the head and look in front of me.


Now I feel sad and depressed again, and I can't sleep. Justice doesn't exist :'(

But this are going to change. For sure, I don't know If it is going to be better or worse, but It is going to change.

Here our soldiers stand from all around the world / Nuestros soldados de todo el mundo permanecen aquí
Waiting in a line to hear the battle cry / esperando en formación oir la batalla gritar.
All are gathered here, victory is near / Todos estamos aquí reunidos, la victoria está cerca.
The sound will fill the hall, bringing power to us all / El sonido llenará la sala, dandonos fuerza a todos nosotros.

We alone are fighting for metal that is true / Nosotros solos, estamos luchando por el metal de verdad.
 We own the right to live the fight, we're here for all of you / Tenemos el derecho de vivir la lucha, estamos aquí para todos vosotros.
 Now swear the blood upon your steel will never dry / Ahora jurad que la sangre de vuestro acero nunca se secará.
 Stand and fight together beneath the battle sky / Aguantad y luchad juntos bajo el cielo de la batalla

[Chorus / Estribillo]
 Brothers everywhere, raise your hands into the air. / Hermanos de todo el mundo, alzad vuestras manos al aire.
We're warriors, warriors of the world / Somos guerreros, los guerreros del mundo
 Like thunder from the sky, sworn to fight and die. / Como un trueno desde el cielo, juré luchar y morir.
 We're warriors, warriors of the world. / Somo guerreros, los guerreros del mundo.

Many stand against us but they will never win / Muchos están contra nosotros pero nunca ganarán
We said we would return and here we are again / Dijimos que volveríamos y aquí estamos otra vez.
To bring them all destruction, suffering and pain / para traerles toda la destrucción, sufrimiento y dolor.
We are the hammer of the Gods, we are thunder, wind and rain. / Somo el martillo de los Dioses, somos el trueno, el viento y la lluvía.

There they wait in fear with swords in feeble hands / Allí esperan aterrorizado con las espadas en sus débiles manos
With dreams to be a king, first one should be a man / Con sueños de ser un rey, primero uno debería ser un hombre.
I call about and charge them all with a life that is a lie / Los llamo y les confio a todos ellos una vida que es una mentira.
And in their final hour they shall confess before they die / y en su hora final tienen que confesar antes de morir.

[Repeat chorus / Repetir estribillo]

If I should fall in battle, my brothers who fight by my side / Si debo caer en la batalla, mis hermanos que luchan a mi lado
Gather my horse and weapons, tell my family how I died / Reune mi caballo y mis armas, cuéntale a mi familía como morí.
Until then I will be strong, I will fight for all that is real / Hasta entonces seré fuerte, lucharé por todo aquello que es real.
All who stand in my way will die by steel / Todos aquellos  que se interpongan en mi camino morirán a causa del acero

Brothers everywhere, raise your hands into the air / Hermanos de todas parte, elevad vuestras manos al aire.
We're warriors, warriors of the world / Somos guerreros, guerreros del mundo.

[Repeat chorus to fade / Repetir estribillo hasta que se acabe]


Friday, 19 April 2013

Vangelis - La petite fille de la mer (La pequeña niña del mar)

I love Vangelis and I love the OST of Blade Runner, but this song it is not from Blade Runner. The song I am talking about is "La petite fille de la mer" (the little girl of the sea):


Monday, 15 April 2013

Queen - Bijou (preciosidad)

This is one of my favorite songs that I would like to play with a guitar: Queen - Bijou (joya, aunque también se usa para decir que algo o alguien es una monada o una preciosidad. Personalmente entiendo que el significado que se le quiere dar realmente es el segundo).
I love the way in which Brian May extends each note and how each one is pushed through you.


You and me ... / Tú y yo ...
we are destined,  you'll agree. / estamos destinados, estarás de acuerdo.

To spend the rest of our lives ... / Pasar el resto de nuestras vidas ...
with each other; / él uno con el otro;
 the rest of our days ... / el resto de nuestros días...
like two lovers ..., / como dos amantes ...,
 forever..., / por siempre...,
 yeah..., / sí...,
forever. / por siempre.
...
 My bijou / Preciosa mía.

Friday, 12 April 2013

Luis Miguel - No me fio (I don't trust)

Some years ago I felt like listening to Luis Miguel due to he is one of the favourites singers of one of my cousins. Actually I have to admit that the change from Metallica to Luis Miguel is strange ... but his album "Nada es igual..." (Nothing is the same...), the first one of him that I listened to, liked me.

Then was the turn of "El concierto" (The concert) and his albums of "Boleros" (Romance, Segundo romance, etc.) Now, I don't listen almost nothing of him but I wanted to add at least one of his songs and the elected is ("tachan, tachan"): No me fio (I don't trust)




No me fío jamas de las miradas, / I don't trust of gazes ever,
de los brazos que abrazan sin razón; / of arms that hug without any reason;
no me gustan las frases regaladas / I don't like the given phrases
que me llenan de nada el corazón. / that fill of nothing the heart.

No me fío de aquel que me conoce, / I don't trust of those that know me,
ni siquiera recuerdo bien su voz; / I don't remember even his voice;
de esa niña que dice haber besado, / of that little girl that says having kissed,
 esos besos que jamas me dio. / those kisses that she never gave me.

No me puedo fiar, el miedo me ha hecho frío, / I can't trust, the fear has made me cold,
compréndeme, si ya ni en mi confío. / understand me, if I neither trust in me.

Mi soledad, tal vez la adulación, / My loneliness, maybe the flattery,
me han roto el corazón / have broken me the heart
y sin tu hastío, no me fío. / and without your disgust, I don't trust.

No me fío de aquel que no me mira, / I don't trust of that one that don't look me,
que tendrá contra mí su corazón. / what will have his heart against me.
Me da miedo entregarme a tus caricias / I am afraid of giving me to your caresses
 pues me han hecho tanto daño, amor. / because they have done me so much harm, love.

No me fío de aquel que hace favores / I don't trust of that one that does favours
y presume de hacerlos por amor; / and presumes of doing them for love;
no confío en aquel que vende amores, / I don't trust of that one that sells loves,
el amor jamas es un favor. / love never is a favour.

No me puedo fiar, el miedo me ha hecho frío, / I can't trust, the fear has made me cold,
compréndeme, si ya ni en mi confío. / understand me, if I neither trust in me.

Mi soledad, tal vez la adulación, / My loneliness, maybe the flattery,
me han roto el corazón / have broken me the heart
y sin tu hastío ... / and without your disgust...

No me puedo fiar, el miedo me ha hecho frío, / I can't trust, the fear has made me cold,
compréndeme, si ya ni en mi confío. / understand me, if I neither trust in me.

No me puedo fiar pues tras la vanidad / I can't trust because after the vanity
llega la verdad, luego el vacío; no me fío. / the truth comes, then the vacuum, I don't trust.

...


No me puedo fiar, el miedo me ha hecho frío, / I can't trust, the fear has made me cold,
compréndeme, si ya ni en mi confío. / understand me, if I neither trust in me.

No me puedo fiar pues tras la vanidad / I can't trust because after the vanity
llega la verdad, luego el vacío; no me fío. / the truth comes, then the vacuum, I don't trust.

Monday, 8 April 2013

Rumba tres - Ya no te puedo querer ( I can't love you anymore )

This group is the oldest one I remember. Probably I was about 6 years old. I still have got the cassette of my father, the same cassette that my father used to play in our old car, a Seat 124. I still keep this cassette with much love, thinking in better times full of innocence, thinking in what could be and is not.

 And here is the song:



Ya no te puedo querer, / I can't love you anymore,
mi cariño se acabó, / my love finished off,
lo quemó tu falsedad, / it was burnt for your falseness,
tus palabras de papel. / your words of paper.

 Ya no te puedo querer, (ah, ah,) / I can't love you anymore,
mi cariño se acabó, (ah, ah,) / my love finished off,
la tristeza del ayer, (ah, ah,) / the sadness of yesterday,
el tiempo se la llevó. / the time carried it away.

Te dí, (te dí, te dí,) / I gave you
mil noches de amor, (te dí, te dí,) / a thousand night of love,
te dí, (te dí, te dí,) / I gave you
mil besos en flor. / a thousand of kisses flowering.

Te dí, (te dí, te dí,) / I gave you,
Te dí lo mejor, (te dí, te dí,) / I gave you the best,
Te dí, (te dí, te dí,) / I gave you
todo el mundo de color. / the whole world of colour.

Ya sabes la razón de mi perdido amor, / You know the reason of my lost love,
si ayer te daba igual, hoy no lo pidas. / if yesterday you didn't mind it, today don't ask it to me.

Ya sabes la razón de mi perdido amor, / You know the reason of my lost love,
aquello que sufrí, tu llorarás. / that what I suffered, you will cry.

<Repeat all again>

Ya no te puedo querer,
mi cariño se acabó,
lo quemó tu falsedad,
tus palabras de papel.

 Ya no te puedo querer, (ah, ah,)
mi cariño se acabó, (ah, ah,)
la tristeza del ayer, (ah, ah,)
el tiempo se la llevó.

Te dí, te dí, (te dí, te dí,)
mil noches de amor, (te dí, te dí,)
te dí, (te dí, te dí,)
mil besos en flor.

Te dí, (te dí, te dí,)
Te dí lo mejor, (te dí, te dí,)
Te dí, (te dí, te dí,)
todo el mundo de color.

Ya sabes la razón de mi perdido amor,
si ayer te daba igual, hoy no lo pidas.

Ya sabes la razón de mi perdido amor,
aquello que sufrí, tu llorarás.

Ya sabes la razón de mi perdido amor,
si ayer te daba igual, hoy no lo pidas.

Ya sabes la razón de mi perdido amor,
aquello que sufrí, tu llorarás.

<Repeat fading...>





Metallica - Nothing else matters (nada más importa)

When I was about seventeen years old I spent all that year listening to "The black album" of Metallica recorded for a classmate for me, Ivan (I found him some years ago and he didn't seems to be happy. He was a happy boy... so I felt sad for him). In this album, one song is over the rest to me, the only song I can play with a guitar more or less well: Nothing else matters (nada más importa).



So close, no matter how far / Tan cerca, no importa cuan lejos,
 couldn't be much more from the heart / no podía ser con más corazón.
 Forever trusting who we are / Siempre confiando en quienes somos
 And nothing else matters / y nada más importa.

Never opened myself this way. / Nunca me abrí de esta forma.
 Life is ours, we live it our way. / La vida es nuestra, la vivimos a nuestra manera.
 All these words I don't just say / Todas estas palabras que simplemente no digo
 And nothing else matters / y nada más importa.

Trust I seek and I find in you. / Busco confianza y la encuentro en ti.
 Every day for us something new / Cada dia, para nosotros, algo nuevo.
Open mind for a different view / Mente abierta para un punto de vista diferente
 and nothing else matters / y nada más importa.

Never cared for what they do, / Nunca me preocupé por lo que hacen,
 never cared for what they know / nunca me preocupé por lo que saben
 but I know / pero yo sé.

So close no matter how far. / Tan cerca, no importa cuan lejos.
 It couldn't be much more from the heart. / No podía ser con más corazón.
 Forever trusting who we are / Siempre confiando en quienes somos
 and nothing else matters / y nada más importa

Never cared for what they do, / Nunca me preocupé por lo que hacen,
 never cared for what they know / nunca me preocupé por lo que saben
 but I know / pero yo sé.

I never opened myself this way. / Nunca me abrí de esta forma.
Life is ours, we live it our way. / La vida es nuestra, la vivimos a nuestra manera.
 All these words I don't just say / Todas estas palabras que simplemente no digo
 And nothing else matters / y nada más importa.

Trust I seek and I find in you. / Busco confianza y la encuentro en ti.
 Every day for us something new / Cada dia, para nosotros, algo nuevo.
Open mind for a different view / Mente abierta para un punto de vista diferente
 and nothing else matters / y nada más importa.

Never cared for what they say, / Nunca me preocupé por lo que dicen,
 never cared for games they play / nunca me preocupé por los juegos a los que juegan,
 never cared for what they do, / nunca me preocupé por lo que hacen,
 never cared for what they know / nunca me preocupé por lo que saben
 and I know / y yo sé.

So close, no matter how far / Tan cerca, no importa cuan lejos,
 couldn't be much more from the heart / no podía ser con más corazón.
 Forever trusting who we are / Siempre confiando en quienes somos
No, nothing else matters / No, nada más importa.

Some years after, when I started to earn some money I could buy this album, the only one album of Metallica I have got, and It was because a friend gave me a copy some years before. Maybe this don't demonstrate anything but probably makes you think...