Saltar a contenido

2012

Canciones de Karaoke a partir de vídeos del Youtube

Llegan las fechas navideñas, lo que implica fiestas hogareñas y con ello, los amantes del Karaoke se vuelven más exigentes. Como hacer para quitar la voz a uno de esos vídeos de Youtube creados en plan Karaoke. Hagamos un ejemplo con En El mundo genial de las cosas que dices de Maldita Nerea. Si te gusta el disco y lo compras a través de este enlace
yo me llevo un porcentaje que motiva a seguir escribiendo ;).

El primer paso es buscar en youtube o similar un vídeo donde alguien se haya molestado en añadir la letra a la canción. Buscando en el propio youtube el título de la canción + karaoke se encuentran muchos, por ejemplo este.

A continuación descargaremos el vídeo, hay muchas formas de hacerlo, pero una de las más sencillas es a través de keepvid. Llega con poner la dirección del vídeo que queremos descargar, y aceptar la ejecución del applet de java. Pasado un ratillo nos dará la opción de descargar el vídeo en varios formatos. Cualquiera de los formatos es válido, en este ejemplo usaremos MP4.

Para quedarnos con el audio de la canción usaremos la línea de comandos por ser lo más sencillo. Aunque también se puede hacer de forma gráfica.

ffmpeg -i fichero_original.mp4 -acodec copy audio.aac

Para tratar de eliminar la voz del cantante de la parte instrumental del canción usaremos Audacity. Hay varios tutoriales por ahí, tanto usando el efecto vocal removal como un poco más manual. Como este proceso es muy rápido y sencillo, prueba los dos procedimientos y quedate con el que tenga más calidad. La voz no es completamente eliminada pero si se reduce bastante. Podemos exportar el audio al formato que queramos, ya que el original estaba en AAC, lo exportaremos a este.

Para recombinar audio y vídeo, volvemos a usar la línea de comandos. Con la siguiente orden le estamos diciendo que coja el audio del fichero audio_sin_voz.aac, lo mezcle con el vídeo del fichero original (el audio original será descartado automáticamente) y producirá un nuevo vídeo de salida respetando los codecs originales.

ffmpeg -i audio_sin_voz.aac -i fichero_original.mp4 -vcodec copy -acodec copy Maldita_Nerea-El_mundo_genial_de_las_cosas_que_dices.mp4

Puedes ver como queda en mi youtube.

Relacionando las inmersiones por Duncan Green con los PCR de ISF

Acabo de leer un artículo de Duncan Green hablando de la importancia de las «inmersiones» (pasar periodos de tiempo conviviendo directamente con los beneficiarios) en Cooperación para el Desarrollo.

Estoy de acuerdo con las líneas generales del artículo, pero me gustaría hacer algunos comentarios, a partir de la experiencia de Ingeniería Sin Fronteras con los Programas de Conocimiento de la Realidad y los propios comentarios al artículo original.

Los tiempos propuestos, de alrededor de una semana, son escasos. De hecho una de las críticas que se hacen a las inmersiones es la de creerse que por estar un par de días (o semanas) viviendo con gente empobrecida vas a conocer realmente sus necesidades. La contracrítica pasa por dos puntos:

  • Aumentar el tiempo de estancia. ISF fija el programa en dos meses, con aproximadamente una semana de convivencia directa. Un periodo de tiempo que tal vez debería ser revisado, siempre teniendo mucho cuidado en no sobrecargar a la familia de acogida, o quizás aumentándolo a dos semanas con dos familias distintas.
  • Fortalecer la formación y las herramientas para comprender el peligro de una sóla historia. Sea la de la televisión, o la de la familia con la que convives.

Otra de las críticas al artículo es que las inmersiones no dan voz a quien lo necesita, o más bien, el objetivo debería ser how we can build long-term partnerships with people in poverty. La contrapropuesta pasaría por no contemplar la inmersión como un fin en si mismo, si no como una actividad importante dentro de una estrategía más global. Este punto da para un par de nuevos artículos, pero en resumen se trataría de como conseguir que, beneficiarios, socios locales, voluntarios, donantes y decisores políticos llegaran a relacionarse entre sí como stakeholders (perdón por el palabro) y no mediante las relaciones jerárquicas más habituales. En esta lína ISF lleva a cabo varias acciones:

  • Acercar a la gente que conoces durante el PCR, mediante entrevistas, vídeos, … Por ahora se está haciendo de forma poco organizada, pero podría incluirse dentro de la estrategia de comunicación.
  • Se empiezan a realizar skypes periódicos de los grupos de voluntarios con los socios locales, con los beneficiarios es más complicado, ara aumentar las relaciones de confianza.
  • Los PCR cuando están en terreno, su fuente de contacto principal son los socios locales y no la persona expatriada de la asociación.

¿Cómo hacer que sea realmente provechosa para el individuo?. ¿Cómo hacer que sea provechosa para la organización?. Para que sea provechosa para la persona, como se dijo antes, el proceso de selección y formación de la persona escogida para participar en una inmersión debe ser riguroso. Para que sea beneficioso para la organización deben establecerse mecanismos formales que permitan reaprovechar lo que la persona aprende. Esta posiblemente es una de las partes menos trabajadas en ISF, por ahora se queda en un compromiso del PCR de colaborar por un periodo de tiempo con la organización tras su estancia.

Borrar automáticamente comentarios pendientes en WordPress

Esta mañana me he puesto a actualizar odiseus y he visto que la base de datos ocupaba cerca de giga y medio, siendo la mayoría consumido por los 300.000 comentarios de spam que se nos escaparon en un blog que hace tiempo que no tiene supervisión y no tenía Akismet instalado.

Por algún extraño motivo WordPress todavía no tiene un forma por defecto que permite marcar y eliminar todos los comentarios pendientes, tienes que hacerlo de 20 en 20. Las soluciones que vi no me convencían demasiado. Plugins anticuados, borrar cosas directamente en la base de datos sin saber las relaciones que puede haber en un multisite o entre tablas, … Y Akismet tampoco era capaz de lidiar con tantos comentarios.

Finalmente me decidí por el plugin WP-Optimize capaz de borrar los comentarios pendientes y hacer alguna otra cosilla mas

Por desgracia más de 50.000 comentarios ya estaban aprobados y no quería borrarlos todos sin más. La solución:

  1. Buscar la fecha del último post
  2. Marcar como no aprobados todos los comentarios hechos con posterioridad a un mes desde el último post

UPDATEwp_4_commentsSETcomment_approved= 0 WHEREcomment_date> '20110601';

A continuación podemos borrar los comentarios no aprobados con wp-optimize.

Tutorial básico de django south

South es una app de django que permite modificar la estructura de la base de datos de una aplicación django cuando cambiamos el modelo (models.py).

El comando syncdb sólo crea nuevas tablas, pero no modifica tablas existentes, así que si en el modelo de una aplicación renombramos un campo de una tabla existente syncdb no realizará ese cambio en la base de datos. A este tipo de cambios en la base de datos se les denomina «migración del esquema» y es de lo que se encarga South.

Instalación

  1. pip install south
  2. Agregar «south» a INSTALLED_APPS
  3. Ejecutar syncdb antes de crear nuestros propios modelos. Está será la última (y única) vez, que necesitamos ejecutar este comando
    manage.py syncdb

Usar south en un una app nueva

  1. Crear la aplicación, y empezar a rellenar el models.py
  2. Crear el script de migración inicial
    python manage.py schemamigration app_name --initial
  3. Hacer los cambios en la bbdd
    python manage.py migrate app_name

Usar south en una app ya creada

python manage.py convert_to_south app_name

En el caso de que haya otros desarrolladores en el equipo y cada cual esté usando su propia instancia de la base de datos, el resto de desarrolladores deberá migrar la primera versión en modo fake,
python manage.py migrate app_name 0001 --fake

el resto normal, así:
python manage.py migrate app_name

De lo contrario no podrán migrar su versión de la base de datos.

Migración de modelos

  1. Modificamos el models.py de nuestra aplicación
  2. Crear un nuevo script de migración
    python manage.py schemamigration app_name --auto
  3. Aplicar la migración a la bbdd
    python manage.py migrate app_name

Como funciona

Se puede decir que South funciona en varios niveles de abstracción disintos.

  • Añade una tabla en la base de datos que mantiene el estado actual de la base de datos. Es decir, guarda que migraciones se han aplicado.
  • Crea un directorio en la applicación, donde guarda para cada migración un fichero (script) con la información necesaria para realizarla
  • Añade varios comandos al manage.py

Los ficheros de migración generados en deben subirse al repositorio para que el resto de los desarrolladores pueda también realizar la migración.

Referencias

Nota: Editado el 7/Marzo/2015 para añadir el comentario de Mauricio.

Adios Facebook

Cierro Facebook.

Y quiero explicar el porque.

Eficiencia, ancho de banda, ruido y banalidad

Tengo una cuenta en «La Red Social» desde hace años, pero empecé a usarlo activamente desde hace unos cinco meses. Iba a estar fuera de mi entorno mes y medio y quería saber que estaba pasando.

Desde entonces mis visitas a facebook se han convertido en un «mañana seguro que hay algo que no puedo perderme». Falso. En estos meses en Facebook apenas en dos o tres ocasiones leí algo, personal o profesional, de lo que no me hubiera enterado por otra vía o me hubiera parecido especialmente interesante. Hasta ahora sólo ha supuesto ruído.

Y si lo haces por los contactos, los mejores están en otros sitios.

Privacidad

Hace poco un meme recorría facebook, animando a pegar en su muro un mensaje prohibiendo a EEUU espiar nuestro perfil. Al poco uno de mis contactos escribía lo siguiente:

LE DOY PERMISO a cualquier persona, institución, agente, agencia o estructura gubernamental, incluyendo al Gobierno Federal de los Estados Unidos, al de Mordor y a los Lannister, para hacer lo que les salga del rabo con la mierda que pego en mi muro, pues considero que mi privacidad ya fue violada, desgarrada y tirada a la puta cuneta el mismo día en que decidí tener una cuenta de Facebook.

Quiero aprovechar para mandarle saludos a mis amigos que me están mirando y al agente de la CÍA que revisa las cuentas de Hotmail y mata a todos los niños desnutridos cuyas fotos no son reenviadas.

Pega esto en tu muro porque, si no, viene un enano y le cuenta a tu familia que te drogas…

Soberanía Digital y cuando el mañana es hoy

Así como algunos se preocupan de los tomates que consumen o de contribuír a un sistema usurero, algunos nos preocupamos de otras cosas.

El mundo de Facebook es el de Huxley. El de lo grande frente a lo pequeño, lo centralizado frente a lo distribuido, y no es el que yo quiero.

Por supuesto, sigo teniendo incoherencias, y hay otros servicios que me costará más cerrar, pero poco a poco. Los que querais seguir leyéndome tan sólo tenéis que añadir este blog a vuestro lector favorito.

PD1: Gracias a los asistentes a la comida de ayer, organizada mediante la tradicional lista de correo: Andrés, Pablo, Nacho, Adri y al resto, que aún estáis sin blog. Sólo tenéis que avisar cuando queráis uno.

PD2: No, no estoy preocupado por perder el contacto con gente. Lo contrario. A la gente de la que te preocupas no se la felicita por facebook. El esfuerzo será mayor, pero el resultado también.