domingo, 20 de enero de 2019

División de ficheros de sonido mediante ficheros cue: versión mejorada

Ya había hablado hace años respecto a la división en terminal de discos de música comprimidos en un solo fichero. Creo que merece la pena hacer una revisión, ya que en estos momentos podemos hacerlo mediante una orden más corta y ya no es necesario disponer de una librería externa fuera de repositorio para la compresión monkey audio. Gstreamer plugin contiene codecs para monkey audio, y ya no es necesario busca por ahí adelante una librería que nos permita la convertir ficheros ape a flac. En estos momento sí estoy en el proceso de eliminación de CDs de música, que ocupan mucho (tengo más de 15 metros) y solo me quedan dos lectores capaces de leerlos, la grabadora del ordenador principal y una cadena de música del siglo pasado. Esto lleva a un engorroso procesado de lectura, extracción en calidad digital en piezas flac, para evitar pérdida de calidad y posterior etiquetado id3 para que mantenga información del álbum, autor y título de pieza. Sin embargo, en la red disponemos de copias digitales sin pérdida que nos permite evitar en engorroso y lento proceso de extracción digital. Estos ficheros suelen estar disponibles como un fichero flac o ape —de ahí esa información previa sobre el sonido monkey— y un fichero cue que indica los metadatos asociados a ese disco. En la entrada que señalo al principio describía los comandos que utilizaba para dividir estos ficheros, pero hemos mejorado el proceso:
1. División del fichero. Usaremos el comando shnsplit (instalar previamente shntool: su -c 'dnf install shntool')

shnsplit -f CDImage.cue -o "flac flac" -t "%n %t" CDImage.ape

Sobre las opciones de shnsplit, mirar aquí o poner shnsplit -h. En este caso:
-f file.cue para indicar de donde extraer los metadatos correspondientes a este fichero
-o codec deseado en la salida (en est caso flac de salia usando el codec flac; la otra opción en mi máquina era "flac ffmpeg"
-t poner en el nombre de los ficheros salida %n el número de pieza y %t el título


2. Etiquetar las piezas. Usaremos el comando cuetag.sh (instalar previamene cuetools: su -c 'dnf install cuetools')

cuetag.sh file.cue *.flac

lo que etiqueta las piezas con los metadatos del fichero cue.

y listo. Sencillo y ahorra un tiempo precioso al evitar extraer uno a uno los CDs de música que tengáis en casa y que ya no podemos leer por falta de dispositivos. No es difícil, Sound-Juicer configurado adecuadamene os extrae la música en flac sin problemas, pero consume mucho tiempo y hay que ir de uno en uno. Una vida entera para recuperar la música (si recuerdo lo que me llevó digitalizar las cintas de audio y vídeo me entra un dolor la cabeza).

martes, 8 de enero de 2019

Conversión de un PDF a imagen. Imagemagick, convert y la calidad obtenida

Al contrario que la entrada anterior, ahora me han pedido que convirtiera una ficha editable en una imagen. Lo más sencillo es convertir el ODT en writer a pdf y este a una imagen con convert (comando de imagemagick),


sin importar el número de páginas, ya que convert convierte a cada una en una imagen.

$ convert fichero.pdf fichero.png  # o jpg, según las posibilidades del programa destino

El problema es la calidad de salida. Para PDFs con texto e imágenes, los resultados salen mejor introduciendo algunos parámetros

$ convert -density 300 -quality 96 fichero.pdf fichero.png

Y así sale de manera adecuada. Y si no, que cada uno se ajuste a las muchas posibilidades de convert

man convert

Nada como un terminal pata negra



viernes, 21 de diciembre de 2018

OCR de una imagen: tesseract y gImageReader

El otro día tuve que comprobar si dos documentos eran idénticos. Ambos eran grandes y lo mejor era hacer un diff sobre ellos, pero uno venía como un documento editable (un doc de toda la vida) y el otro era un PDF en que cada página era una imagen escaneada. Eso llevaba a una lectura larga de un documento sobre otro, o bien hacer un OCR —Reconocimiento Óptico de Caracteres— en el segundo fichero (sí, debería ser ROC en español, pero eso me lleva a confusión sobre la curva ROC, que es español debería ser COR etc; dejémoslo ahí). En  Linux disponemos de Tesseract, a través de terminal. Curiosamente, al buscar si tenía instalada la librería tesseract (Super + tesseract), lo primero que salía era un icono con nombre gImageReader.


Nunca lo había usado, pero la verdad es que es muy sencillo, aplica directamente Tesseract y se obtiene una salida. Finalmente comparé los dos textos mediante meld; eran idénticos, lo que quiere decir varias cosas:
- El trabajo se hizo en 2 minutos (no en tres o cuatro horas de comparación). Muchas gracias a OCR.
- Tesseract es muy fino, por que no hubo prácticamente errores de identificación (hubo que comprobar muy pocas cosas).

Lo que no sé es cuando instalé gImageReader, ya que por lo que veo no forma parte de las aplicaciones de Gnome, y por tanto no se instala con el sistema; o al menos no lo creo.
Seguramente me saldría igual con el terminal (tesseract y diff), pero el resultado ha sido magnífico en muy poco tiempo; no discutiremos lo que sale bien

jueves, 29 de noviembre de 2018

¿Editando vídeos en un smartphone? A dónde vas...

Me he encontrado con un caso que para mi, a mi edad, me parece bien extraño. Alguien (Mr X, que no quiere ser reconocido en esta oscura historia) quiere hacer un vídeo introductorio corto y para ello decide instalar un programa (se dice app, ¡carca!) en el teléfono, un tal Kinemaster. Hace con cuatro clics un vídeo, le mete música de fondo, y todo orgulloso me lo enseña. Incluye, ya que es la versión gratuita, una marca de agua. Pregunté yo si necesitaba el vídeo en ese mismo momento, y resulta que no. Así que hice una foto del objeto principal de la historia (sí, la hice sin bajarla de ningún lado, y con una cámara de fotos, no con el teléfono); en gimp hice un desenfoqué para que hiciera el mismo efecto que Kinemaster, creé un logo similar al que había cogido en la red, corregí su gamma y 4 cositas más. Con esa foto y openshot generé un vídeo de los mismos 11 segundos, introduje un aumento hacia delante similar al logrado por Kinemaster e incluí la misma música (solo 11 segundos, por cuestión de derechos de autor), y quedó perfecto. Ni una marca de agua, sin problemas de derechos de autor de la foto o del logo, por que los hice yo, edité con software libre (free en libre y free en gratuito) y me quedó igual de bien y sin marca de agua.
¿Para qué narices necesitamos editar un vídeo en un teléfono, o pagar para evitar una marca de agua? Tenemos todo lo necesario a nuestro alcance y nunca ha existido la necesidad de mandar un vídeo editado de manera inmediata.
Cada día me gusta menos la velocidad que está desarrollando el mundo. Ya he pasado de Facebook, pero el siguiente éxito verdadero será poder tirar el móvil a la basura.




miércoles, 31 de octubre de 2018

Actualización de Fedora 28 a 29... pero por terminal

Siguiendo las indicaciones de Fedora Magazine, hoy he actualizado Fedora 28 a 29. Eso si, al contrario de su primera indicación, de realizarlo sobre Software, he preferido hacerlo en el terminal, con los comandos habituales desde la primera vez:

su -c 'dnf upgrade --refresh'
su -c 'dnf install dnf-plugin-system-upgrade'
# su -c 'dnf system-upgrade download --releasever=29' Este comando necesito ser:
su -c 'dnf system-upgrade download --allowerasing --releasever=29'
su -c 'dnf system-upgrade reboot'

Ese allowerasing se debe a una incompatibilidad de vlc y una librería. Al acabar la actualización simplemente he instalado vlc. Ejecuté los comandos en unos minutos y lo dejé reiniciando mientras comía.
Listo.
PD. Lo único que me falta son un montón de fondos de pantalla que tendré que volver a poner (o no).




lunes, 22 de octubre de 2018

Cuando nos olvidamos de tune2fs...

Cada vez que compramos un disco duro y lo formateamos para nuestro uso no debemos olvidarnos de revisar como se distribuye su espacio, por que el sistema operativo puede estar "sisándonos" parte del espacio. Cada vez que formateamos a ext4 un disco, reserva un 5% para root; sí, ese que solo es necesario de vez en cuando. Solo es necesario mantener una parte del disco para root en el disco de sistema; los demás no necesitan darle medio diezmo al administrador, y muchas veces nos olvidamos. Y lo digo por que yo me he olvidado en las últimas adquisiciones, como descubrí el otro día. Pero no hay que preocuparse, tune2f nos lo soluciona, como ya había señalado aquí y aquí y luego olvidado.
Para estar seguros, primero comprobamos como se distribuye el disco tras su formateo:

su -c 'tune2fs -l /dev/sdxn' # o sudo para los amantes del riesgo

y buscamos:

...
Block count:                   x # Según en disco
Reserved block count:              1/5 x # Seguro que no da cero

...

Ejemplo para disco sistema 256GB:

Block count:              244190456
Reserved block count:     12209522

Si es así, podemos aplicar la medicina

su -c 'tune2fs -r 0 /dev/sdxn'  # -r reserved-block-count

o

su -c 'tune2fs -m 0 /dev/sdxn' # -m reserved-block-percentage

El valor x depende según la identificación del dispositivo (a, b, c...) y n según la partición, lo que vuelve a cero los bloques reservados. En el caso de ser un disco de sistema debemos dejar algo para root, para evitar que en algún momento el disco pueda quedar sin espacio y el sistema no pueda escribir los ficheros log. Es decir, hay que mantener un porcentaje razonable en función del tamaño de disco, que visto el tamaño de los discos de hoy, y aunque antes haya recomendado un 2%, creo que ahora con un 1% es más que se sobra.

No os olvidéis. Lo digo por que un 5% de los discos actuales es mucho espacio.



viernes, 21 de septiembre de 2018

Emparejamiento de los dispositivos PLC

El PLC es mi mano derecha en la distribución de red en mi casa desde hace mucho tiempo. Como ya he explicado hace unos meses, he cambiado mis dispositivos dLink DHP-P306AV originales a unos con una capacidad mayor, un TP-Link TL-PA9020P, estándar HomPlug AV2, con tasas de transferencia de alta velocidad (2000Mbps), que puede establecer múltiples conexiones simultáneas y con 2 Puertos gigabit dirigidas a la SmartTV 4k y multiconexión. Para mejorar el uso de la WiFi, he incluido un TP-Link TL-WPA4530, y para cubrir el resto de las conexiones (PS4, otro ordenador fijo y portátiles) mantengo dos TL-PA4010P. Eso supone la conexión de 6 dispositivos PLC simultáneamente. A la vuelta de vacaciones no funcionaba prácticamente ninguno de los dispositivos, y el emparejamiento se hizo casi imposible. La solución fue emparejarlos en enchufes cercanos al router todos al mismo tiempo, lo que supuso poner tres en un enchufe, unos conectados sobre los otros, y otros tres en otro enchufe al lado y presionar la tecla de emparejamiento dentro del período de unos pocos segundos. Ninguna de las otras maneras había funcionado, supongo que por la distancia entre enchufes y el tiempo entre apretar la primera tecla y la última. Aviso para los que por no poder utilizar las aplicaciones solo disponibles para Windows y Mac se encuentren con un problema parecido.

martes, 18 de septiembre de 2018

Renovación de Kindle

Después del verano toca la limpieza de despachos y renovación de material electrónico. El primero en actualizarse, el lector de libros electrónicos. Tengo desde finales del 2009 un Kindle 2, que ha servido todos estos años, y mi intención era mantenerlo hasta que se estropeara, pero este verano ha sido utilizado intensivamente por más de un usuario, y los años pasan y dejan huella, sobre todo en la batería. En fin, casi había que cargarlo cada dos días, lo que lo hace poco útil; justo en el meollo de la aventura, la batería se acaba. Así que he incorporado un Kindle Paperwhite.


Es bastante más barato que el Kindle 2, se retroilumina automáticamente, tiene más memoria (4GB frente a 2), es táctil, lo que facilita su uso y el software moderno permite manejar mejor la presentación, el tamaño de las fuentes etc. Con la misma área de lectura, es apreciablemente más pequeño, ya que no tiene teclado físico ni teclas, salvo la de activar/desactivar. La biblioteca de los ejemplares comprados pasa automáticamente y los incorporados por mi los he copiado y vuelto a distribuir en colecciones; en un par de horas estaba con la misma configuración que el anterior. Esto además hace que cuando queremos usar un lector dos usuarios diferentes, podamos leer hasta el mismo libro al mismo tiempo (yo me he quedado con el nuevo).
Para los posibles interesados, los dispositivos kindle no admiten cualquier formato de libro (por ejemplo, no admite epub), pero todo se soluciona con calibre. Este gestor de bibliotecas transforma de la manera más adecuada cualquier formato al propio del dispositivo disponible, siempre que se lo indiquemos, o mejor aún, lo conectemos para que calibre lo identifique. Le pedimos que lo inyecte y el programa ya te dice si hay que transformarlo. Y de paso te permite mantener organizada tu biblioteca digital.

sábado, 28 de julio de 2018

Fedora 28. Problemas asociados a sudo (o no?) y otras menudencias

Como ya habíamos mencionado en la entrada anterior, Fedora 28 Workstation Live instala un Linux sin usuario administrador. Eso solo me ha pasado con uno de mis ordenadores, al que cambié el SSD del sistema por necesidades de espacio —esta es otra historia que si tenemos tiempo contaremos algún día— y lo instalé de nuevo desde un Fedora 28 Live. Lo primero que hice tras la sorpresa fue crear un usuario root desde sudo. Sin embargo, esta situación genera un problema; todo lo que realizábamos como root ahora tiene que hacerse desde sudo (configurar cortafuegos, llamar a aplicaciones de sistema...). Pero además me encontré con dos problemas nuevos:
1. Amule tomaba el control de sistema hasta su congelación completa. Este problema se soluciona poniendo emule por wine (véase aquí), pero solo fue necesario una semana, por que era un "bug" de amule que ya ha sido controlado en su última actualización. Pero este era el menor de los problemas...
2. Este segundo problema era doble. Si lanzaba nautilus (ahora denominado "Gnome Files" o Gnome Archivos) tardaba horas en aparecer de forma gráfica, lo que me obligó a instalar Thunar para poder trabajar de forma gráfica. Curiosamente, si lo lanzaba desde root aparecía inmediatamente, pero no debemos trabajar como administrador con nautilus. Pero aún hay más; tanto con nautilus (al día siguiente de haberlo lanzado) o con thunar, al copiar cualquier bloque mayor de 1 GB, cuando llevaba unos segundos copiando, se congelaba el sistema de manera completa, sin respuesta a Alt+F2, Ctrl+Alt+Fx ni a las teclas mágicas REISUB, lo que obligaba a reiniciarlo por las "malas" (y la pérdida de ficheros de los discos duros que se estaban copiando en ese momento). Este segundo problema me ha tenido preocupado hasta esta semana, por que en pleno fin de curso el trabajo aprieta y no podemos arriesgarnos a que una instalación no salga a la primera. Esta situación se ha encontrado en muy pocas ocasiones con diferentes causas:
- Tarjetas Nvidia. No es el caso, por que este ordenador lleva un i7 3770 con HD4000 integrada y nunca he tenido problemas gráficos.
- Errores asociados a Nautilus (véase bug 1208993 o bug 1133477). Parece que nautilus llena la memoria del sistema antes de enviarlo a la copia física al dispositivo destino y el sistema se congela. En algunos de estos casos recomiendan controlar el máximo de memoria que puede ocupar estas "dirty pages" en /etc/sysctl.d/90-override.conf (o el fichero de configuración inicial que use cada uno) mediante
vm.dirty_background_ratio = 5 # Memoria total que se puede llenar hasta copiar en el dispositivo destino
vm.dirty_ratio = 10 # Memoria total que se puede llenar con las "páginas sucias"
En mi caso he intentado superar el problema dando diferentes valores (5-10, 10-20, 20-40... a esta configuración sin resultado (si se quiere mirar algo más sobre esto, mirar aquí).
Ahora que he podido reinstalar el sistema de nuevo, en este caso desde el formato netinst, con root como siempre y sin abrir sudo a nadie, todo funciona correctamente.

Como todo lo demás es igual, ¿quién era el culpable? Así que no nos interesa sudo. Si fuera así instalaríamos Ubuntu, y no es el caso.



viernes, 27 de julio de 2018

Y aquí tenemos a sudo, sin haberlo pedido

Así es; en Fedora 28 Workstation tenemos sudo sí o sí. En Fedora magazine tenemos la noticia. La cosa queda más o menos en "In the end they opted for just always skipping the user and root configuration screens in Anaconda and just configuring a user with sudo rights in Gnome Initial Setup."
Es decir, cuando instalamos de manera limpia la version Fedora 28 Workstation Live no aparece la indicación de palabra de administrador; además, el usuario se configura después. En resumen, vivimos en el mundo de sudo, ni blanco ni negro, gris. Desde mi punto de vista:
1. ¿Para que quiero sudo si puedo ejecutar como administrador lo que necesito?
2. ¿Desde cuando un usuario puede pensar que puede hacerlo todo? De ahí a acabar como Windows diciendo Sí a cualquier tontería falta un paso muy pequeño.
3. ¿Y si sudo trae errores de seguridad en su código? Otro posible agujero de seguridad.
Y lo peor de todo es que si lo instalamos así no existe administrador. Después de años de ejecutar bajo el paraguas del administrador toda modificación del sistema, ahora lo tiene que hacer todo el usuario. Ejemplo, de repente me veo configurando el cortafuegos como usuario; me entró una angustia existencial...
No, no me gusta; lo evitaré todo lo que pueda.


Estoy seguro que con sudo el sandwich es de brocoli.

Mientras tanto, instalación desde formato netinst, con administrador incluido. Además, en mi caso sudo es el principal sospechoso de problemas mucho más importantes. Lo veremos en una próxima entrada.