miércoles, 11 de junio de 2008

Pronunciación en inglés

Estaba leyendo "Dive into Python" y por eso de practicar el inglés lo estoy leyendo de verdad, cuando tengo ganas. Así que cuando dudaba en la pronunciación de alguna palabra me metia en:

siendo este último el que casi siempre tenía la pronunciación.

Además, como el navegador no me reproduce bién los sonidos, pues me puse a automatizar el proceso, resultando la siguiente línea de comandos:

mkdir /var/tmp/wav
WORD=fuck; DIR=/var/tmp/wav; PLAYER=beep-media-player; wget $(curl http://mw4.m-w.com$(curl http://mw4.m-w.com/dictionary/$WORD | grep -o "<a href=\"javascript:popWin('/cgi-bin/audio.pl?[^']*')\" class=\"audio\">" | grep -o "/[^']*" | head -n 1) | grep -o "<EMBED SRC=\"http://cougar.eb.com/[^\"]*\" HIDDEN=\"true\" AUTOSTART=\"true\">" | grep -o "http://[^\"]*") -O $DIR/$WORD.wav; $PLAYER $DIR/$WORD.wav

los valores configurables son la palabra a buscar, el directorio donde se almacena (que ya tiene que estár creado) para revisar las palabras que hemos buscado, y el reproductor de audio.

Se puede mejorar bastante: detectar que ya se ha bajado antes, avisar de que no existe la palabra o la pronunciación, ver si hay varias palabras, probar en otros diccionarios... pero bueno, eso ya cuando sepa Python.

Nota 1: para copiar la línea he tenido que darle bastantes vueltas, por eso de que tiene HTML mezclado con caracteres de escape, hasta encontré Quick Escape, que escapa el HTML y haciendo algunos retoques listo.

Nota 2: el editor del blogspot es un poco mojonero.

4 comentarios:

  1. Ostras, no me deja utilizar el tag pre de HTML.

    ResponderEliminar
  2. Vaya, no sé porqué pero está fallando el enlace que quiero meter.

    A ver si ahora hay suerte...

    ResponderEliminar
  3. Bueno, me rindo. Hay que añadir una / al final de la URL del enlace de arriba. Es que hace listado de directorios.

    http://cougar.eb.com/soundc11/

    ResponderEliminar
  4. Vaya, parece que no se puede entrar carpeta por directorio por directorio...

    ResponderEliminar