|
|
Este documento está disponible en los siguientes idiomas: English Castellano Deutsch Francais Nederlands Portugues Russian Turkce Arabic |
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. Traducido al español por: David Losada <losadaz(en)euskalnet.net> Contenidos: |
Grabación MP3 en tiempo real, 2da. parteResumen:
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.
|
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!)
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!
Resumiendo las cuestiones más importantes:
#!/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 | 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!
#!/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!
|
Contactar con el equipo de LinuFocus
© Philip de Groot, FDL LinuxFocus.org |
Información sobre la traducción:
|
2003-11-24, generated by lfparser version 2.41