cdrecord 1.8Puede obtener la última alpha del servidor FTP
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/.
Descripción de los nuevos comandos para la nueva versión:
Utiliza los archivos de extensión .inf sobreescribiendo las opciones por defecto.
Muestra la información referente al CD y sale. Esta información tambien la ofrecia la version anterior pero sólo cuando se disponia a grabar.
Graba el medio en Disc-At-Once.
Ejemplo de como se usa la opción -atip se tiene en la sección referente
a crear un sistema ext2 con el
mke2fs en un
archivo.
Para usar la opción -useinfo necesitamos primero haber extraido con el
cdda2wav un CD-Audio al disco duro sin poner la opción -H.
cdrecord -v dev=0,3,0 fs=16m speed=4 -useinfo *.wav
Pues sí, cdrecord tambien graba en DAO, pero sólo a partir de la
versión de desarrollo 1.8a20. La forma de usar cdrecord es
prácticamente la misma solo que para usar las características de la
grabación en DAO ha de tener una grabadora que soporte MMC y utilizar
la opción -dao; salvo esto, puede usarlo como haría normalmente.
Cuando utilizemos esta opción notaremos una forma distinta de grabar los CDs.
En primer lugar veremos una nueva frase que nos muestra el cdrecord,
Sending CUE Sheet. que nos indica que lo primero que está haciendo es
escribir las separaciones de las pistas, los gaps y pregap para luego grabar
todo, incluida la TOC sin desactivar el laser de grabación. Gracias a esta
opción se puede ahorrar unos segundos o minutos si se tiene que grabar un CD
con muchas pistas de audio.
Un ejemplo podria ser:
cdrecord -v dev=3,0 fs=16m speed=4 -dao /imagen.iso /audio/*.wav
y tambien si se pretende copiar directemente desde un CD
cdrecord dev=3,0 speed=4 fs=16m -v -dao -isosize /dev/sr0 -audio /wavs/*.wav
Prometedora aplicación, con entorno gráfico en X-Window, que permitirá generar escaletas (cue sheets para la creación de CDs, así como de subcódigos, como CD-G, CD-TEXT, etc.
En la actualidad está en su primera etapa (alpha de desarrollo, aunque dotado de cierta funcionalidad.
Puede obtenerlo de
http://www.ccs.neu.edu/home/bchafy/cdb/cdb.html.
Al parecer se ha abandonado el desarrollo de este programa.
cdrdaoEste programa ha evolucionado tanto que la copia en DAO y al vuelo está empezando a dar sus frutos. Es posible copiar CDs al vuelo sin volcar los datos al disco duro incluso con las pistas de audio; el problema en este último aspecto es que no soporta todas las unidades lectoras a pesar de incorporar código del CDParanoia para realizar la extracción de audio.
Echándole un vistazo a la documentación se puede ver qué unidades están soportadas; tanto unidades grabadoras, incluyendo modelos SCSI e IDE, como unidades lectoras que hayan sido probadas sin problema.
También se pide que si su unidad está soportada para extraer Audio con
cdparanoia, pero no con cdrdao, le envíe la información que se
obitene de ejecutar el comando cdparanoia -v a la dirección de correo del
autor, que tratará de incorporarar su unidad lo antes posible.
Todo lo referente a las unidades soportadas se encuentra en el archivo
README del paquete del código fuente. En el mismo paquete se encuentran
otras utilidades bastante interesantes que comentaré seguidamente una vez
explicados los comandos de esta utilidad.
La última versión, recomendada y realmente funcional, la 1.1.3, se puede
obtener de
http://www.ping.de/sites/daneb/cdrdao.html.
Descripción de los comandos del programa:
cdrdao comando [opciones] archivo-toc
indicamos al programa qué es lo que queremos hacer. Los comandos disponibles son:
show-toc Muestra la TOC y sale.toc-info Muestra una pequeña descripcion de la información del
archivo TOC extraido previamente.toc-size Muestra el número total de bloques para la TOC.read-toc Crea un archivo TOC desde un CD.read-cd Crea el archivo TOC y extrae el contenido del CD.show-data Muestra el contenido de los datos y sale.read-test Realiza una prueba de lectura de todas las pistas y
sale.disk-info Mustra información sobre el disco que hay en unidad.unlock Desbloquea la unidad despues de un fallo de escritura.simulate Ya no se utiliza, ahora es write --simulate.write Graba un CD.copy Copia, esto se utiliza para la copia al vuelo.Aqui se describen las diferentes opciones que soporta el programa.
--device (x,y,z) Especifica el dipositivo de la grabadora. Se
puede suprimir si existe un enlace simbólico del dispositivo correspondiente a
su grabadora a /dev/cdrecorder. Se puede indicar tanto la del
dispositivo directo como el identificador SCSI, ejemplo: 0,3,0 o
/dev/sr1
--source-device (x,y,z) Aquí especificamos la unidad desde la
cual tomaremos los datos para realizar la copia. Se puede especificar tanto un
dispositivo como un identificador SCSI. Es necesaria si usamos el comando
copy.
--driver (id) Forzamos al programa a usar un controlador
específico para la grabadora.
--source-driver (id) Forzamos al programa a usar un controlador
específico para la unidad lectora. Es necesaria si usamos el comando copy,
aunque no si el programa identifica correctamente esta unidad.
--simulate Para realizar una copia con el láser desactivado, en
modo de simulación o prueba.
--multi No cierra el CD, para poder crear un CD multisesión.--eject Expulsa el CD una vez grabado.--swap Invierte el orden de palabra de las pistas de audio.--on-the-fly Realiza una copia al vuelo, no crea imagen.
--datafile (archivo) Nombre del archivo de datos en donde se
encuentran los datos a los que hace referencia el archivo TOC. Usado por
read-cd, read-toc y copy.
--buffers (número) Expecifica el tamaño del buffer (min. 10).--session (número) Selecciona la sesión para read-toc/read-cd.--fast-toc No extrae los pre-gaps ni las marcas índice.--read-raw Lee los sectores raw para read-cd.
--paranoia-mode (número) nivel de paranoia para la
extracción de audio (0..3).
--reload Relee el disco si es necesario para grabar.--force Fuerza la ejecución de la operación.-v (número) Expecifica el nivel de muestra de datos.-n (número) No hace una pausa después de grabar.De aqui hay que comentar que el comando copy sólo se usa para copiar un CD
directamente, si tenemos una imagen y la queremos copiar hay que usar el
comando write. Un tamaño muy recomendado del buffer es 64, y de ahí en
adelante, aunque con 64 creo que es más que suficiente.
Ahora una breve descripción de lo que más nos interesa del programa, la copia directa (al vuelo) sin imagen.
cdrdao copy -v 2 --device 0,3,0 --source-device 0,1,0 --speed 4 --buffers 64 \
--reload --eject --on-the-fly --fast-toc
Este es el comando que utilizo para duplicar cualquier tipo de CD al vuelo. Al ponerle la opción --fast-toc realiza una lectura rápida de la tabla de contenidos del CD, de lo contrario primero leerá y comprobará el CD fuente, lo que tardará lo que necesite su lector, y luego lo copiará. Si le indicamos el susodicho parámetro, leerá la TOC de forma rápida y empezará enseguida a copiar. El resto de parámetros no necesitan de una explicacion más detallada.
Es recomendable que cuando se copie un CD de música o mixto se utilice de la
siguiente manera con la opción --paranoia-mode:
cdrdao copy -v 2 --device 0,3,0 --source-device 0,1,0 --speed 4 --buffers 64 \
--reload --eject --on-the-fly --fast-toc --paranoia-mode 0
Con la opción --paranoia-mode le especificamos en que modo ha de ser
paranoico a la hora de extraer las pistas de audio, si le especificamos 0,
será lo menos posible y es el que se recomienda a la hora de grabar al vuelo ya
que se desactiva la verificacion de errores, que como es normal, reduce la
transeferencia de datos ya que la unidad lectora se dedica más tiempo a
comprobar los posibles defectos de las pistas e intentar corregirlos que a
pasarle los datos a la grabadora, por lo que si no le ponemos este modo es muy
posible que se produzca un buffer underrun y perder el CD.
Si lo que queremos es que los verifique le indicamos modo 3 y será tan
paranoico que para extraer una pista de audio en un lector 32X SCSI (como mi
TEAC) tardará más tiempo que dura la misma cancion al reproducirla; con esto el
programa se asegura de que no pierda calidad y de correguir posibles errores en
el CD. Este modo es recomendable cuando tengamos algun CD en mal estado y la
única forma de poder grabarlo sea volcando primero a disco duro.
Otra de las funciones que nos puede interesar muchisimo es la de extraer una imagen al disco duro, como por ejemplo para lo dicho anteriormente, para cuando tengamos algun CD que no podamos grabar al vuelo por estar defectuoso, o bien, para grabarlo mas tarde. El comando a utilizar es el siguiente:
cdrdao read-cd -v 2 --device 0,1,0 --read-raw --datafile imagen.bin imagen.toc
De esta forma conseguimos extraer una imagen en el archivo imagen.bin del
contenido del CD-ROM fuente y el en archivo imagen.toc almacenamos la
información que nos servirá posteriormente para poder grabar y dejar el nuevo
CD tal y como estaba el original. El comando a utilizar es el siguiente:
cdrdao write -v 2 --device 0,3,0 --speed 4 --buffers 64 imagen.toc
Como habrá notado, no hemos indicado el nombre de la imagen ya que la toma del
archivo que contiene la información TOC. El indicarle la opción --datafile
con el nombre de la imagen es sólo para identificarla, por si tenemos más de
una extraida en el disco duro; sino, por defecto la imagen se llamará
data.bin. Si diese la casualidad de que ya hubiera un archivo con el
mismo nombre, el programa detendrá el proceso mostrando una advertencia,
indicando de que ya existe el archivo.
También se puede usar el cdrdao para copiar una imagen de datos que
hayamos hecho, pero no lo recomiendo; ya que primero tenemos que crear un
archivo TOC, cosa que resulta más laborioso que copiarla con el cdrecord.
Se puede usar cdrdao para copiar archivo .wav, y que gracias a un
script en PERL que incluye en el directorio /contrib/wav2dao/ del
paquete del código fuente podamos copiar dichas pistas sin que al final de las
mismas nos ponga 2 segundos de silencio.
Para obtener la ayuda del programa ponemos:
wav2dao.pl -H
Deberia funcionar simplemente con
wav2dao.pl -d /dev/sr0 -w -n *.wav
En el directorio de los fuentes /contrib/mp32dao/ encontramos otro
script en PERL para realizar de forma automática la extracción de los archivo
.mp3 a .wav, nos crea la TOC y nos graba el CD, interesante, ¿no?.
Debido a la falta de algunos archivos en la distribución del PERL en mi sistema
no he podido probarlo. Este script hace uso del programa mpg123 que se
encuentra en la mayoria de distribuciones del mercado o bien por internet.
Puede que necesite completar su distribución perl con módulos del CPAN
(Comprehensive Perl Archive Network)
http://www.cpan.org para hacer uso de
este script.
Por último tenemos en el directorio /contrib/psxcopy-x.y/ dos
programas y dos scripts para la extracción y copia de los dichosos CDs de
PlayStation. Lo siento por aquellos que quieran copiar dichos CDs al vuelo,
pero de momento no soportan dicha función, tal vez mas adelante, pero hay que
reconocer que ya es un comienzo que por lo menos se puedan grabar, ¿no?.
Pues bien, lo primero es compilar los dos programas que son necesarios y luego
instalarlos. Una vez compilados sin errores hacemos que los scripts
read-psx y write-psx sean ejecutables. Como son dos scripts normales,
habrá que editarlos y modicicar los parámetros para que apunten a nuestra
unidad lectora y grabadora respectivamente en cada archivo. Una vez hecho eso
simplemente introducimos el CD fuente en la unidad lectora, tecleamos:
read-psx cd1
y una vez extraído
write-psx cd1
Hay más posibilidades pero las descritas anteriormente son las que son más faciles de usar y que más nos pueden interesar. En próximas versiones ampliaremos el contenido dedicado a este fabuloso programa.
Tambien indicar que en el mismo paquete de las fuentes se encuentra un interfaz para X, el problema es que no soporta la grabación al vuelo.
ATENCION: Durante la utilización del programa para la duplicación de un CD-ROM al vuelo, no se podrá acceder de ninguna de las maneras a la unidad. Si se intenta montar la unidad fuente, por ejemplo, el proceso de grabación terminará con errores y el CD origen no se completará, perdiedo un disco. Esto se puede comprobar grabando un disco en modo de pruebas o de simulación y accediendo a la unidad desde donde se obtienen los datos.