miércoles, 13 de marzo de 2019

bchunk: extracción de pistas de un disco de música con formato bin cue

En ocasiones podemos encontrar entre los extras de un DVD de una película la banda sonora. Como ya he dicho hace poco, estay con la idea de eliminar completamente todas las unidades ópticas de los ordenadores y los Cds y DVDs, que ocupan mucho sitio, se leen muy lentamente y, al contrario de lo que pensábamos hace años, ahora sabemos que no podemos asegurar su duración en el tiempo. El último DVD con el que he estado transformando para eliminarlo, la unidad con extras presenta una banda sonora que se extrae como un fichero bin,


una imagen en formato binario, cuyas pistas están referenciadas por un fichero cue. Este formato no es manejable en los dispositivos que usamos para escuchar la música. Muchas páginas Web recomiendan IsoBuster para la extracción de las pistas; pero IsoBuster es un programa para Windows, y aunque en su página Web nos recuerda que podemos usar Wine, creo que todos los usuaros de Linux preferimos usar un comando en terminal que tener que instalar un paquete de Windows. Y esto nos lleva a bchunk.
bchunk (BinChunker) es un programa que nos permite, como dice su página Web "binchunker converts a CD image in a ".bin / .cue" format (sometimes ".raw / .cue") to a set of .iso and .cdr tracks". Es decir, simplemente con esta orden

bchunk fichero.bin fichero.cue nombre.bso

nos extrae de una imagen bin de un disco de audio las pistas en formado cdr. Si queremos extraer un formato más sencillo de manejar (para la transformación de un cdr precisamos SoX —Sound eXchange, the Swiss Army knife of audio manipulation, como podéis ver en man sox—), con la opción -w extrae las pistas en formato WAV. Es decir,

bchunk -w fichero.bin fichero.cue nombre.bso

extrae las piezas de música en formato wav. Luego con cualquier conversor (a mi me gusta soundkonverter) lo podemos comprimir en flac sin pérdida y/o pasarlo al formato que queramos. Yo suelo guardar los originales ripeados en formato FLAC sin pérdida, que queda aproximadamente en la mitad de tamaño que un wav; si luego vuestros dispositivos necesitan otro formato, por ejemplo MP3, lo generáis desde el FLAC y siempre se conserva una copia sin pérdida.
Para más opciones, revisen man bchunk, donde explica algunas características especiales para imágenes bin en formatos PSX o raw.

viernes, 1 de marzo de 2019

De R en terminal a RStudio

Desde hace años realizo todas las pruebas estadísticas en R. Debido a mi edad (yo trabajaba en el siglo pasado con MS-DOS) y la costumbre al terminal de Linux, nunca he tenido problemas para usarlo en terminal.


Otros menos acostumbrados a la consola se han inclinado por RCommander, una máscara gráfica


que cumple las necesidades básicas y algunas de las avanzadas, pero no todas las que yo necesito, por lo que de nada me sirve escaparme de los comandos.
Sin embargo, tras un tiempo de resistencia, he decidido utilizar RStudio. En este caso, estamos ante un Entorno de Desarrollo Integrado para el uso del lenguaje R.


¿Qué me ha convencido para ello? Vamos a ir viendo algunas ventajas:
1. Tiene un editor de código incorporado que hace resalte de sintaxis; no es fundamental, ya que el código siempre lo he escrito en gedit, que también me hace resalte de sintaxis.
2. Autocompletado de código, y atajos de teclado para incluir algunos caracteres; interesante, pero no fundamental.
3. Ayuda integrada sobre la escritura de código, indicando sintaxis y argumentos; interesante también, pero tampoco fundamental.
4. Cuatro ventanas que te permite ver el código, los resultados, la ayuda y otras cosas al mismo tiempo. Interesante, pero no fundamental.
5. Se puede trabajar en proyectos separados. Nada que no pudiera hacer en R con diferentes terminales, uno (o más) para cada proyecto...
y otras muchas cosas que no uso. Lo que verdaderamente considero importante es el manejo de los gráficos. En general, la ventana de gráficos suponía la eliminación del anterior al generar uno nuevo, con lo cual debemos extraerlo antes de mandar uno nuevo; y eso es un problema cuando lanzas un script largo con muchos comandos. Sin embargo, con RStudio los gráficos se van almacenado en la pestaña "plots", los puedes analizar y luego guardar los que quieras.
Tiene también una segunda ventaja; como en mis clases también la estadística es una herramienta fundamental, una máscara gráfica impresiona menos que un terminal, ya que los alumnos no son ni matemáticos ni programadores.

miércoles, 20 de febrero de 2019

Solitario 48... en una sola vuelta

Pues sí, es la primera vez que lo logro. En el Solitario Cuarenta & Ocho de KPatience he terminado el solitario sin segunda vuelta.


En general, en este solitario tengo un porcentaje de acierto del 75%, y siempre lleva un rato, pero en este caso la combinación de las cartas fue tan sencilla que lo terminé muy rápidamente y sin tener que recurrir a la segunda vuelta, donde vas rellenando lo que falta si has acertado en las elecciones de cartas.

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