[LinuxFocus-icon]
<--  | Hogar  | Mapa  | Indice  | Busqueda

Noticias | Arca | Enlaces | Sobre LF
Este documento está disponible en los siguientes idiomas: English  Castellano  Deutsch  Francais  Nederlands  Portugues  Russian  Turkce  Arabic  

[Photo of the Author]
por Philip de Groot
<philipg(at)authors.linuxfocus.org>

Sobre el autor:

Pronto conseguirá su doctorado en la Universidad de Nijmegen en química analítica. Le gusta trabajar con Linux y escribe sus experiencias de forma regular.



Traducido al español por:
David Losada <losadaz(en)euskalnet.net>

Contenidos:

 

Grabación MP3 en tiempo real, 2da. parte

[Illustration]

Resumen:

Este artículo es la continuación de una publicación anterior concerniente a la realización de grabaciones MP3 en tiempo real, como emisiones de radio. En el artículo anterior, se ha visto el tamaño de los archivos obtenidos, por ejemplo 650 MB en 12 horas o 1.3 Gigabytes de 24 horas de música con una calidad cercana a la de un CD (128 kbit/s; stereo). ¿Cómo manejar un archivo tan grande? ¿Es posible hacer grabaciones aún más grandes o comprimir la música de forma más eficiente? ¿Qué hay sobre la calidad de las grabaciones MP3?, nos concentraremos en responder a estas cuestiones.

_________________ _________________ _________________

 

Editando archivos MP3

Imagine que ha hecho una bonita grabación de 24 horas, por ejemplo Eighties Top 300, multidifundido por Loostad Radio, y quiere partir este archivo en otros archivos más pequeños y más apropiados. Durante el proceso de partición, también quiere quitar los anuncios y emisiones de noticias. ¿Cuál es la mejor forma de hacerlo? Una forma podría ser:
Este procedimiento teóricamente funcionaría y al contrario de la creencia común la recodificación de una señal MP3 con el mismo algoritmo MP3 no da como resultado una pérdida de calidad. De todas formas tiene algunos problemas en la práctica:

Además, necesitas un programa capaz de editar los archivos MP3 por sí mismo. Esos programas existen, pero no (por el momento) para Linux. Están disponibles unos cuantos de esos programas en Windows, pero la mayoría tienen un gran problema: ¡No pueden manejar un archivo de 650 MB!. He encontrado un programa que es capaz de hacerlo, si eres paciente: 'Manns' MP3 edit'. Utilizo este programa en Windows 98. En la interfaz gráfica puedes indicar el principio y el final del trozo deseado del archivo MP3 original. Puedes copiar este trozo en un nuevo archivo con el comando "trim". Este programa es "donationware", lo que significa que no estás obligado a pagar por él, pero te indica amablemente que lo hagas en caso de que satisfaga tus necesidades. Este programa tiene dos problemas: es terriblemente LENTO sobre un archivo de 650 MB y sólo puede tratar radios de bit CONSTANTES. Buscando el comienzo de la última hora, por ejemplo, en una grabación MP3 de 24 horas, lleva mucho tiempo e implica mucho acceso a disco. Ajustando el trozo deseado del archivo MP3, por otro lado, es muy rápido (sin pérdida de calidad MP3). Hasta ahora no he encontrado ningún problema utilizando los archivos MP3 después de usar este editor. Sin embargo, siempre compruebo los archivos finales volviendo a cargarlos en el editor MP3. Si la carga funciona correctamente, los archivos están bien. Durante mis primeras comprobaciones con este editor, seleccionaba el botón "trim" mientras todavía había un gran acceso a disco. Esto daba como resultado archivos MP3 dañados que no se pueden volver a escuchar. Para darte una idea, editar un archivo de 650 MB me lleva 1 hora, la mayor parte de esto es la espera (¡lo que puede ser muy frustrante algunas veces!)

 

Realizando largas grabaciones en MP3 (>24 horas)

No es problema hacer una grabación de 24 horas de una radio de multidifusión. El archivo se mantiene razonablemente pequeño (por ejemplo, 1.3 Gigabytes en 24 horas) y puede ser fácilmente almacenado en el disco duro. Esto cambia si quieres hacer una grabación por ejemplo; de una semana. Lo más probable es que no cabrá en tu disco duro y querrás superar este problema. Encontré este problema con la difusión de los "Alltimes Top 2000" durante las navidades del año 2000 (¡144 horas de música!), difundido por la estación de radio nacional y pública holandesa: Radio 2. Mi disco duro era de primera mano muy pequeño para almacenar todas las grabaciones, por lo que tuve que resolver el problema de forma diferente. Aquí tienes la receta:
He utilizado el procedimiento anterior para grabar el Top2000 al completo y, ¡sin ningún problema!, he utilizado 12 discos para copia que no serán utilizados nunca más, pero se tienen que hacer algunos gastos para conseguir ese tipo de grabaciones satisfactoriamente. ¿Cómo funciona todo? Obtuve la idea leyendo el CD-Burning-Howto> y son necesarios los pasos siguientes:


El beneficio de esta aproximación es el uso limitado del procesador, que es necesario para crear los CD's MP3. ¡Las imágenes ya existen!. Puedes automatizar todo el proceso utilizando un script: montar las imágenes, empezar la grabación de MP3, finalizando la grabación de MP3 y desmontando la imagen después de 12 horas de grabación, montando una segunda imagen y continuando la grabación MP3, etc. Grabé los CD's a mano, sólo en el caso de algún problema apareciese (lo cual sucedió una vez, debido a medio defectuoso) Por esta razón, cree 4 imágenes: 3 imágenes de seguridad en caso de encontrar problemas de grabación de CD (dándome un máximo de 36 horas para resolver el problema). El script que utilicé es como sigue:


#!/bin/sh
echo "loading modules for sound support..."
modprobe -k snd-card-sb16
modprobe -k snd-pcm-oss
modprobe -k snd-mixer-oss
echo "setting mixer..."
amixer set Line 31 unmute capture; amixer set Master 31; amixer set
PCM 31
cd /where/ever/you/stored/the/images/
for i in 1 2 3; do
for ii in 1 2 3 4; do
echo "mounting image_$ii on /mnt ..."
mount -t ext2 -o loop=/dev/loop1 imagen_$ii /mnt
echo "starting mpegrec ..."
mpegrec -b 128 -x -mj -o /mnt/top2000_$ii.MP3
echo "umount /mnt"
umount /mnt
done
done

Hice todo SIN XWindow, utilizando el intérprete de comandos bash. Cargé el soporte de sonido a mano, así como la emulación OSS (necesario para el funcionamiento correcto de los controladores ALSA) y el controlador de mezclas (por supuesto puedes automatizar esto utilizando sistema de pre-instalación/post-instalación en /etc/conf.modules). La cuarta línea configura el mezclador correctamente: grabando la fuente en la línea de entrada "line-in" y el volumen ha sido habierto al máximo. Después de establecer estas opciones, el script controla el montaje y desmontaje de las imágenes. Sobre las opciones mpegrec: "-mj" indica una grabación estéreo unida. Lo hice así porque esperaba archivos más pequeños utilizando esta opción (todo debía entrar en 670-680 MB). Esto parece no ser cierto: ¡no importa si se utilizan grabaciones estéreo o estéreo-mezcladas!. Cuando hago nuevas grabaciones, utilizo el estéreo normal, el "mpegrec" debería parar después de 12 horas. Para conseguir esta tarea, adapté el código fuente y cambié el máximo de 24 horas (que se detalla simplemente en el código fuente) a 12 horas. Desafortunadamente, esta solución no funcionó: ¡el programa continuó grabando después de 12 horas! Tuve que romper la grabación cada 12 horas. El script controla las partes restantes. No entiendo nada más de "mpegrec": debería estudiar el código fuente detenidamente...

Nota:
La versión más reciente de cdrecord (cdrecord-1.9) me causó problemas creando CDs. La versión previa, cdrecord-1.8.1, funcionó sin ningún problema. Resolví estos problemas actualizando el firmware de mi grabadora de CD, una Philips CDD 3610, de la versión 3.02 a la versión 3.09. Inicialmente, esperaba que los problemas de grabación fueron causadas por el kernel 2.4.3, ¡pero esto al parecer no era cierto!

 

La calidad de las grabaciones MP3

Debido a la explicación de mi artículo previo a través del Talkback page en inglés, recibí un acceso a una página web conteniendo interesante información sobre la grabación MP3. Especialmente la calidad MP3 y la relación con el bitrate MP3 están excelentemente explicadas, concentrándose en el programa Lame. La dirección es: r3mix.net.


Resumiendo las cuestiones más importantes:

¡Todo esto está detallado en la página web mencionada arriba!  

Creando grabaciones MP3 tan pequeñas como sea posible

Abajo, transcribo un script que ha sido remitido por un lector.
El script es como sigue:


#!/bin/bash

echo "record $1 named ($3) for $2 seconds"
aumix -f ~/.aumixrc
/usr/bin/yes x | /usr/bin/radio $1 >/dev/null 2>/dev/null
sox -V -r 44100 -c 2 -t ossdsp -w -s /dev/dsp -t WAV - 2>/dev/null
|
lame - ~/$3.`/bin/date "+%H%M.%m-%d-%y"`.MP3 --resample 16
-b 8 -a -m
m -h --lowpass 4 --highpass .12 --voice&
sleep $2
kill -9 $!
# Copia la salida a un directorio diferente. Si quieres puedes
# reemplazar cp por scp y copiarlo a una computadora diferente.
cp $3.*`/bin/date "+.%m-%d-%y"`.MP3 /tmp/outputdir

¡El principal objetivo del script es conseguir grabaciones de radio inteligibles que sólo necesitan 3.5 Megabytes/hora de espacio en disco!. Con inteligible quiero decir que debe ser posible interpretar la voz grabada. Por supuesto, la calidad de la música es horrible!. La primera línea configura el mezclador y arranca un programa de radio y "sox". El "truco" reside en las -opciones del "Lame", que investigaremos ahora.

--resample 16 -b 8 -a -m m -h --lowpass 4 --highpass .12 --voice
--resample 16 Redefine la frecuencia de muestreo del archivo de salida de 44 kHz a 16 kHz.
-b 8 Especifica el ratio de muestreo en 8 kbit/s.
-a Combinar las pistas estéreo en una grabación mono.
-m m Forzar grabación MP3 mono.
-h Una opción para usar grabación MP3 de alta calidad (más lento).
--lowpass 4 Establece el filtro de paso-bajo en un valor de 4 kHz. Todas las señales (frecuencias) más altas de 4 kHz son eliminadas.
--highpass .12 Establece el filtro de paso-alto a un valor de 12 kHz. Todas las frecuencias por debajo de 12 kHz son eliminadas.
--voice Usa una técnica de compresión MP3 optimizada para discurso.

Está claro que se puede conseguir una gran compresión para discurso. La mayoría de las veces, esto no es necesario. Ahora, ¡por lo menos se indica la posibilidad!

 

Un script estándar para crear grabaciones MP3

Este script fué enviado a través del TalkBack (estoy agradecido por ello, ¡todos se pueden beneficiar de esta información!). Este es el gran beneficio de las "Paginas de retroalimentación" que se hacen disponibles para el artículo previo (y también para el artículo actual). Todo el mundo puede colocar sus propias experiencias, pedir consejo a otros visitantes si aparecen problemas, en resumen: una cantidad tremenda de información es reunida y es (afortunadamente) ¡disponible para todos!. El script, llamado 'MP3_record', es como sigue:

#!/bin/sh
/usr/local/bin/mpegrec \
-l 5400 \
-x '--preset fm \
--tt "Computers in Your Life" \
--tl "Open Line with Tom Wieble" \
--ta "Tom Wieble" --ty `date +%Y` \
--tg "Speech" \
--tc "Copyright (c) 1997 - `date +%Y` WOSU" -c' \
-o open_line_`date +%d%b%y`_`date +%H%M`.MP3

La opción '-l 5400' establece el tiempo de grabación en 90 minutos. Todas las opciones después de '-x' son directamente conectadas a 'lame' (líneas 4 a 9) y la opción '-o' guarda el archivo como 'fecha_y_hora.MP3'. Estas líneas se pueden adaptar como se quiera. Para este propósito, puede ser útil conocer las opciones 'lame' más de cerca. Las opciones actuales se explican en la tabla de más abajo:

--preset fm Lame conoce algunas configuraciones estándar. 'fm' está indicado para realizar grabaciones de difusión-fm, pero no me gusta la calidad de grabación comparada al radio estándar de 128 kbit/s. La causa principal son los filtros aplicados en 'lame'.
--tt "Computadoras en tu vida" '--tt' define el título de la grabación (30 caracteres max).
--tl "Open Line with Tom Wieble" '--tl': album, o: fuente original (30 caracteres max).
--ta "Tom Wieble" --ty `date +%Y` '--ta': artista (30 caracteres max).
--tg "Discurso" '--tg': género (nombre o número).
--tc "Copyright (c) 1997 - `date +%Y` WOSU" -c" '--tc': comentario (información adicional; 30 caracteres máximo).

En resumen: una buena forma de crear un archivo MP3, incluyendo la fecha de grabación e incorporando todo tipo de información adicional. Requiere algo de tiempo para escribir todo en un script, ¡pero es agradable ver que todas estas cosas son posibles!

 

Formulario de "talkback" para este artículo

Cada artículo tiene su propia página de "talkback". A través de esa página puedes enviar un comentario o consultar los comentarios de otros lectores
 Ir a la página de "talkback" 

<--, regresar al índice de este número

Contactar con el equipo de LinuFocus
© Philip de Groot, FDL
LinuxFocus.org
Información sobre la traducción:
nl --> -- : Philip de Groot <philipg(at)authors.linuxfocus.org>
en --> es: David Losada <losadaz(en)euskalnet.net>

2003-11-24, generated by lfparser version 2.41