escuchando y trabajando con la música y el sonido en linux
Escuchando y trabajando con la música y con el sonido desde GNULinux.
Bueno, tras tantas entregas de estos apuntes, supongo que ya os comenzabais a
desesperar pensando que no podríais hacer las mismas cosas que en Windows desde
las consolas. En cierto modo podría ser así, pero sólo en cierto modo. No se
pueden hacer las cosas, como es lógico, de la misma manera, pero sí se pueden
hacer casi todas las que tenemos en Windows.
Bien, el tema quizás resulte algo espeso ya que según he ido escribiéndolo y
probando programas no me he dado cuenta de la extensión y me ha quedado
posiblemente el capítulo más largo, de momento, de estos apuntes, pero creo que
a poco que completéis estas notas podréis utilizar la consola de Linux para algo
más que para trastear con las órdenes del sistema operativo. No obstante, tened
en cuenta que hablaré de varios programas y que, por ello, no comentaré más que
unas cuantas de las opciones que cada uno tiene, las que considero básicas para
poder empezar a hacer algo con ellos sin excesivos problemas.
Escuchando audio comprimido; mp3 y ogg:
Para escuchar archivos en formato mp3, la aplicación más extendida, aunque no la
única (si por algo se caracteriza GNULinux es por tener infinidad de programas),
es mpg123.
Antes de nada deberemos tener en cuenta que, dado que el mp3 no es una
tecnología de código abierto ni gratuita, es muy probable que nuestra
distribución no lo traiga, por ejemplo mi ubuntu no la trae instalada. Así que,
como siempre, desde el usuario root haremos:
Apt-get install mpg123
Para reproducir una canción o archivo en formato mp3 basta con escribir la línea
de órdenes "mpg123 NombreArchivo", donde NombreArchivo es la canción que
queremos escuchar.
Con este programa también podremos reproducir música siguiendo el patrón de una
lista de reproducción o playlist a través de la orden "mpg123 -@ archivo", donde
Archivo es la lista de reproducción. Estas listas de reproducción pueden ser
generadas a través de varios programas reproductores de mp3, entre ellos el
Winamp de Windows y el XMMS del entorno gráfico de Linux.
Si probamos a reproducir una de estas listas no tardaremos en advertir que la
consola o terminal queda inutilizada para seguir trabajando. Si ponemos los
conocimientos que ya hemos adquirido a lo largo de estos apuntes: ¡Nada más
fácil!, ¡Utilizaremos la potencia de la multitarea de GNULinux!. Para hacer esto
tenemos dos modos:
mpg123 -@ archivo &
Esto reproducirá la lista de música en segundo plano mientras nosotros podemos
seguir trabajando normalmente con el sistema op'erativo en cualquier otra tarea
que queramos. Y, en cuanto queramos volver a traer la reproducción al primer
plano nada más sencillo que la utilización del comando fg, utilizando como
modificador el número de tarea que tenga al haberlo enviado a segundo plano,
posiblemente 1.
El otro modo de enviar el proceso a segundo plano es mientras el programa está
en ejecución. Por ejemplo :
mpg123 -@ archivo
Con la línea de órdenes anterior ejecutamos de nuevo el programa mpg123
reproduciendo la playlist Archivo.
Esto nos deja el programa mpg123 en primer plano. Ahora si presionamos Control+z
nos sacará por la pantalla algo similar a esto:
[1]+ Stopped mpg123 Archivo
Lo que sucede es que el programa mpg123 quedará en un estado de pausa regresando
al prompt. Para seguir escuchando la lista de reproducción, pero esta vez en
segundo plano, tecleamos en el terminal lo siguiente :
bg
[1]+ mpg123 -@ archivo
Como te darás cuenta el proceso en pausa ( o sea mpg123 ) continuará su
funcionamiento, pero en segundo plano, dejándonos con el prompt libre.
Todo esto está muy bien, seguro que piensas ahora; pero: ¡en mi reproductor mp3
al uso puedo avanzar, retroceder, pausar!... ¿Es posible hacerlo aquí? La
respuesta es sí, colocando en la línea de órdenes el modificador -C (¡ojo!, esa
C va en mayúscula) tal como sigue el ejemplo:
mpg123 -C archivo
Por omisión puedes usar las siguientes teclas mientras se está reproduciendo: p
= pausar; s = detener (en realidad la pausa hace que la música se detenga en un
punto predeterminado por nosotros al pulsarla pero el sonido sigue repitiéndose
de un modo parecido a cuando un cd está sucio, mientras que el parado hace una
pausa efectiva y cuando se vuelve a pulsar, la reproducción comienza desde el
punto en que pausamos; f = saltar a la siguiente canción (si es la última o si
solamente hay una se detendrá el programa y nos retornará a la consola); b =
retrocede canción (si solamente hay una se pone al principio y la reproducción
comienza nuevamente); , (coma) = rebobinar; . (punto) = avanzar; q = abandonar
el programa (detiene la reproducción y nos retorna al prompt).
ogg123:
Otro tipo de ficheros de audio comprimido que cada día es más utilizado es el
OGG Vorbis. Posiblemente tiene una mejor ratio de compresión que el mp3 y mejor
calidad de sonido. No obstante, la diferencia más grande es que los algoritmos
de compresión de audio de este formato son libres de uso, distribución y
modificación. Conocido es lo restrictivo de la tecnología mp3 y que la mayor
parte de las veces en las que la usamos, estamos haciéndolo ilegalmente. Se
supone que poco a poco se irá utilizando cada vez más y, posiblemente cuando
aparezcan pen drives capaces de decodificarlo, su uso se hará más amplio.
Para instalarlo, si tu distribución no lo trae, deberás instalar las
herramientas de Vorbis que, además de un reproductor, traen también
codificadores y conversores de audio así como herramientas de partición de
archivos y de edición de las tablas de propiedades, pero de ello hablaremos más
adelante, ahora, simplemente, instalaremos el paquete desde el usuario root de
la siguiente manera:
apt-get install vorbis-tools
Si tenemos archivos de audio comprimidos OGG, para reproducirlos lo haremos con
la utilidad ogg123. Este pequeño programa nos permitirá reproducir archivos o
listas de reproducción, cambiar de dispositivo de ejecución, pero es mucho más
limitado que el mpg123.
ogg123 nombrearchivo.ogg reproducirá la canción llamada NombreArchivo.ogg
ogg123 /música/* reproducirá todos los archivos .ogg que existan en el
directorio /música Si queremos ir pasando de canción en canción iremos pulsando
control`c sucesivamente.
Mp3blaster
Este es un reproductor de música que no tiene que envidiar nada, funcionalmente
hablando, a otros del tipo de winamp o xmms. Con el vamos a poder escuchar
nuestras canciones favoritas así como crear listas y convertir los mp3 en
archivos wav de una manera muy sencilla. Eso sí, tiene ciertas peculiaridades
que pueden llegar a ser molestas al usarlo con un lector de pantallas como yasr;
al estar basado en las librerías de control de pantalla ncurses, al pasar las
flechas por las listas nos repetirá tal cual ocurría con otros menús. Asimismo
tiene una peculiaridad molesta y es que continuamente nos lee los segundos que
va contando al reproducir, con lo que si no tenemos un sintetizador externo para
bajarle el volumen, podría dificultarnos el disfrute de la música.
Como siempre, para instalarlo, desde el súper usuario root haremos:
apt-get install mp3blaster
Para ejecutarlo, nada más fácil que escribir en el prompt la orden mp3blaster.
Se imprimirá entonces en la pantalla una interface de texto bastante amigable e
intuitiva. En la parte izquierda se verá el listado de las canciones (la primera
vez estará vacío), en la parte superior se podrá leer una breve ayuda de teclas
rápidas que el lector de pantallas leerá cada vez que cambiemos entre el modo de
selección de canciones y el modo normal. Tiene muchas capacidades y en estas
notas me limitaré a las que considero más útiles.
Con F1 añadiremos ficheros a la lista Con F3 cargaremos listas de reproducción
que tengamos y con F4 las crearemos.
Bien, vamos a cargar archivos en el programa pulsando F1. Como posiblemente no
tengamos ninguna canción en el directorio, a no ser que le hubiésemos dado uno
como parámetro al arrancarlo, tendremos que fijar uno donde tengamos canciones.
Esto lo haremos pulsando F4. Nos aparecerá un diálogo con un área de edición
para escribir la vía donde tengamos los mp3 y dos opciones para elegir con
flechas arriba o abajo: replace para poner una vía nueva o insert para añadir a
la que tengamos por omisión. En este caso dejaremos la primera y escribiremos
toda la ruta, por ejemplo: /home/army/música y pulsaremos intro. Esto hará que
aparezca la lista de canciones a la izquierda. Si queremos seleccionarlas todas
pulsaremos F3, de lo contrario, navegaremos por la lista con las flechas e
iremos marcando los que queramos con la tecla espaciadora. Ahora, si queremos
que esta selección sea una playlist pulsaremos F4 y la siguiente vez que
activemos el programa simplemente deberemos cargarla con F3. También podremos
manejar los modos repetición y aleatorio con las teclas F6 y F7 respectivamente.
Cuando ya tengamos la lista hecha, ya sea para crear una playlist o para
reproducirla en el momento o, por supuesto, también si se trata de una playlist
hecha con antelación, el manejo de la reproducción es realmente sencillo:
Para comenzar la reproducción pulsaremos el cinco, si bloqueamos el numpad
también servirá. Para pausar volveremos a pulsar el 5. El 2 hará la función de
stop y provocará que el sistema vaya a la primera canción la siguiente vez que
se arranque la reproducción.
El 6 irá a la siguiente canción y el 4 pasará a la anterior. Igualmente el 3 y
el 1 sirven para avanzar y rebobinar rápido respectivamente.
Esto es todo, el funcionamiento resulta sencillo y eficaz, aunque posiblemente
serán más rápidas otras aplicaciones del tipo de mpg123. Así que, finalmente,
para abandonar el programa y regresar a la consola pulsaremos la letra q.
Por cierto, me olvidaba de comentaros que este programa también es capaz de
reproducir archivos en formato OGG vorvis y onda wave. Sospecho que también
leerá algunos más pero de momento no lo he probado.
Escuchando CDs:
Cómo no, desde la consola también podremos escuchar todos nuestros CDs con
aplicaciones múltiples, intuitivas y fáciles de manejar. Una de éstas se llama
cdcd y se puede controlar toda la reproducción con comandos relativamente
obvios.
Para instalarla haremos lo de siempre, es decir, desde el root:
apt-get install cdcd
El programa se invocará escribiendo cdcd si queremos el modo interactivo o
lanzando una línea de órdenes compuesta por cdcd -opciones órdenes. Las órdenes
son prácticamente las mismas tanto en línea como en modo interactivo, y las
opciones no son estrictamente necesarias.
¡Muy importante! ten en cuenta que para reproducir un cd NUNCA has de montar la
unidad, principalmente porque lo más probable es que no puedas y, caso de
haberte dejado montar, el reproductor no funcionará. Esta norma es válida para
toda reproducción de audioCD, ya sea en consola o en modo gráfico. No ocurrirá
lo mismo si fuesen archivos de audio comprimido tipo MP3 u OGG.
Cuando invoques a cdcd por primera vez preguntará si el dispositivo es /dev/cdrom,
el cual suele ser así. Si fuera otro el caso deberás decírselo al programa, si
no, pulsa intro. Luego te preguntará si tienes conexión a la Web para conectarse
a las bases de datos de canciones. Haz lo que veas, nada es obligatorio aquí.
Finalmente quedarás en el modo interactivo con el programa en espera de tus
órdenes.
Escribe eject para expulsar la bandeja del cd, coloca un disco y pulsa el botón
de recogida o escribe la orden close. Con las órdenes open también detendrás la
reproducción y abrirás la bandeja del CD.
Con la orden help imprimirás en pantalla un listado de todas las que soporta el
programa y, tecleando help NombreDeOrden imprimirás una breve explicación de la
utilidad de dicho comando.
Si escribimos play haremos que el reproductor nos toque un cd desde la primera
canción hasta el final o hasta que escribamos cualquier otro tipo de orden. Si
tras el comando play separado por un espacio ponemos el número de una pista a
escuchar, el cdcd irá directamente a ella y nos la reproducirá continuando con
el resto del disco a partir de ahí.
Con pause haremos una pausa y el programa quedará en espera de una nueva orden.
Si escribimos resume, el reproductor seguirá tocando la canción desde el lugar
donde la habíamos pausado anteriormente. Con toggle conmutaremos entre estos dos
estados, es decir, pausa y reproducción. Y con stop detendremos la reproducción.
Con la orden next avanzaremos a la siguiente canción y con el comando prev
retrocederemos a la canción anterior. Igualmente con ff avanzaremos por la
canción en pequeños tramos y con rew retrocederemos también por pequeños tramos
en la canción donde estemos en ese momento.
Escribiendo la orden rndplay haremos que el cdcd reproduzca aleatoriamente
canciones en el cd actualmente en ejecución.
Finalmente las órdenes quit o exit salen del programa este respecto tened en
cuenta que, al contrario de lo que se pudiera pensar, si salimos con quit o con
exit sin haber parado la reproducción del cd con stop, seguiremos escuchando la
música, sólo que tendremos el control sobre la consola. Para retornarlo al
programa simplemente hemos de invocarlo de nuevo.
Existen varias órdenes más, pero orientadas a recibir información de lo que está
pasando en el programa y siempre podréis mirarlas con la ayuda pertinente.
Reproduciendo discos de audio con cdtool:
cdtool es un programa en modo texto para controlar y reproducir CDS de audio
bajo el sistema de consolas de GNULinux. Tiene una sintaxis muy sencilla y es
muy controlable desde el modo texto siendo casi transparente de cara al usuario.
Para instalarlo, si no lo estuviera ya, se hace como siempre, desde el root:
Apt-get install cdtool
Sus órdenes principales se dan escribiéndolas en el prompt y son las siguientes:
Cdplay o cdplay Start comienzan la reproducción del CD desde el inicio.
Cdplay stop o cdstop detienen la reproducción.
Cdplay + o cdplay - (signos más y guión)avanzan o retroceden pistas en el cd.
Cdplay resume vuelve a reproducir la pista actual.
Cdplay pause o Cdpause pausará la pista hasta que se vuelva a escribir la orden
cdplay.
Cdplay x comienza a reproducir de nuevo desde la primera pista del disco.
Cdplay dir o Cdir muestra información disponible del cd en la pantalla.
Cdplay ejec. O cdeject expulsan la bandeja del cd.
Cdplay close o cdclose recoge la bandeja del cd.
Existen algunas otras órdenes interesantes que podéis, como siempre, estudiar
mediante las manpages escribiendo man cdtool o man cdplay o leer la ayuda breve
ejecutando cdplay con el modificador -h.
Reproducir CDS con cdp y workbone:
cdp es un programa interactivo en modo texto para reproducir CDS de audio bajo
Linux. Se basa en WorkBone, que a su vez se basa en los módulos "hardware",
"database.c" y "struct.c" del avanzado reproductor de CDS para X11 conocido como
WorkMan. cdp muestra las bases de datos de CDS generadas por Workman. Permite
también editar esta información. cdp espera encontrar el dispositivo /dev/cdrom.
Si no tienes este dispositivo, cambia a /dev y haz un enlace simbólico entre tu
dispositivo y 'cdrom'. Por ejemplo, si tu dispositivo lector de CDS se llama
'mcd0', entonces haz lo siguiente:
cd /dev
ln -sf mcd0 cdrom
Otra alternativa sería editar el archivo 'hardware' para que figure el nombre de
tu dispositivo lector de CDS y recompilar el programa. cdp usa el teclado
numérico como panel de control para permitirte cambiar de pista, reproducir,
hacer pausa, parar y continuar reproduciendo CDS de audio.
No sé por qué pero yo he sido incapaz de localizar este programa y lo que os he
escrito arriba es a base de lecturas en la Web, sin embargo sí conseguí
encontrar el programa del que deriva que se llama workbone que funciona
exactamente igual, pero que es un poco menos completo. Un problema por el cual
no lo aconsejo es que, mientras reproduce la música con el entorno visible está
todo el rato refrescando el sintetizador y haciéndolo hablar, ya que mientras se
está ejecutando, el programa muestra el número de pista en reproducción y el
tiempo total de duración del CD y de la pista actual reproducidos hasta ese
momento. En mi caso tiene arreglo porque estoy utilizando como síntesis de voz
para yasr un ciber232 p, pero los que vayáis a manejar esto con un sintetizador
software podréis tener problemas.
Para instalarlo, desde el usuario root haremos el consabido apt-get install
workbone
Ahora os pongo las teclas que comandan el programa, para usarlo tenéis que
pulsar el blocnum para hacer que el teclado de la calculadora escriba números en
lugar de ordenar acciones del teclado extendido. Seguidamente escribimos
workbone y el reproductor de cd se activa en modo stop.
la tecla '9' del teclado numérico es "reproducir"
la tecla '8' del teclado numérico es "pausa/continuar"
la tecla '7' del teclado numérico es "parar"
la tecla '6' del teclado numérico es "pista siguiente"
la tecla '5' del teclado numérico es "volver a reproducir"
la tecla '4' del teclado numérico es "pista anterior"
la tecla '3' del teclado numérico es "avanzar 15 segundos"
la tecla '2' del teclado numérico es "parar en seco" (la música para)
la tecla '1' del teclado numérico es "retroceder 15 segundos"
la tecla '0' del teclado numérico es "salida suave" (la música continúa)
la tecla '.' del teclado numérico es "ayuda"
Mezcladores en la consola.
Como en cualquier otro sistema, en la consola tenemos varios mezcladores que
podemos utilizar para controlar el volumen de nuestra tarjeta de sonido.
Podríamos hacerlo con el propio mezclador que traen las librerías de sonido alsa,
pero bajo mi punto de vista es sensiblemente más sencillo el aumix, por lo que
he optado por mostrároslo. Eso sí, es probable que vuestra distribución no lo
traiga instalado, al menos mi ubuntu no lo traía, así que, si se diera ese caso
ya sabéis, desde el root:
Apt-get install aumix
Este mezclador trae dos modalidades, una con una especie de interface que bajo
mi punto de vista no resulta demasiado manejable o, al menos yo no me
desenvuelvo bien con ella, y otra con línea de órdenes que es más llevadera.
La dinámica general de manejo es: aumix -opción +valor o -valor, donde valor es
una cantidad de incremento o decremento. Los márgenes van desde el 0 que
significa sin volumen hasta el 100 que significa volumen a tope (tened en cuenta
que algunos de los controles pueden avanzar hasta el valor 255). Pongamos por
ejemplo que el valor del volumen está fijado por omisión en 50, si ponemos un
incremento +10 quedará fijado en 60; si seguidamente ponemos un decremento -5
quedaría fijado a 55; si ahora ponemos un incremento +100 pondríamos el valor a
tope. Imaginaros que estáis moviendo una barra de desplazamiento en vuestro
mezclador habitual, pero en lugar de mover el indicativo tendréis que escribir
su valor a mano.
Aumix -v +100 subiría el volumen general del sistema a tope.
Con la opción -h podréis imprimir por pantalla una ayuda breve sobre el
mezclador y con man aumix leeréis el manual en línea; no obstante, os pondré
unas cuantas opciones aquí:
V = volumen general.
W = volumen de onda (posiblemente afecte a los sintetizadores software como
festival).
S = volumen del sintetizador midi (no confundir con el sintetizador de voz
software)
C = volumen del cd.
M = volumen del micrófono.
Como ya os dije tiene bastantes más opciones ya que es un mezclador muy
completo, pero estas posiblemente sean las principales que nos puedan interesar
en un primer momento.
Finalmente para terminar con este breve repaso del aumix os comentaré un comando
muy útil: si utilizamos la opción -q sin ningún otro parámetro, el mezclador
verificará todos los parámetros del audio y nos imprimirá su estado por pantalla
mostrándonos la situación de cada uno de los canales y su valor actual.
Rippear CDs: cdparanoia
Con este palabro tan raro nos vamos a referir a la acción de extraer datos desde
un CD o un DVD. Generalmente se refiere a tomar las pistas de audio o o vídeos
de estos soportes. En este caso nos vamos a parar exclusivamente en los CDs de
música.
Este programa se ha convertido prácticamente en el Standard para extraer audio
en forma digital de un CD desde la plataforma GNULinux. Lo más importante de
cdparanoia es que cuenta con unas librerías propias para desarrollar programas
que tengan que extraer AUDIO de manera digital.
Para instalarla en tu sistema, caso que todavía no lo estuviera, haremos lo de
siempre; desde el súper usuario root:
apt-get install cdparanoia
El manejo básico es sencillísimo y no tendrá dificultades para nadie. Con la
siguiente línea de órdenes extraeremos del cd la pista número 7:
cdparanoia 7
Como resultado, tendremos un fichero con el nombre cdda.wav conteniendo toda la
pista extraída en formato wav. También podríamos indicar en la orden el nombre
de la pista que tendrá al ser extraída y su ubicación en el sistema de ficheros:
cdparanoia 7 /home/música/cancion.wav
Cdparanoia, con el modificador -Q, nos imprimirá por pantalla el número de
pistas que tiene el CD y la duración de cada una de ellas. Esto podemos
utilizarlo para información a la hora del rippeado de CDs cuando no queremos
todas sus pistas o también para hacernos una idea de lo que van a ocupar en
disco.
Con la opción -B, cdparanoia realiza un rippeo en modo BATCH. es decir, en lugar
de extraer todo el cd en un solo archivo; cdda.wav, cosa que ocurre si lanzamos
el programa sin ningún modificador, con esta opción se obtendrá un archivo bajo
el nombre track0xcdda.wav, por cada uno de los temas que existan en el disco. Es
una manera rápida de rippear "TODO" el cd pero obteniendo un archivo individual
por cada pista del CD.
Ciertamente disponemos de bastantes más comandos que podremos usar, por lo que
si quieres ir más allá siempre queda leer las man pages (man cdparanoia) o con
la ayuda en línea del mismo programa que se obtiene con el modificador -h.
Comprimiendo audio:
Visto ya el rippeo, en esta sección dedicada al audio no puede faltarnos también
el proceso de codificarlo a los formatos comprimidos mp3 y OGG, lo que los
complementará en una gran medida.
lame
Lame es uno de los compresores de audio más conocidos, sobre todo por que tiene
una calidad respetable y una buena velocidad de codificación. Se trata de una
versión basada en la versión original, pero bajo una licencia GNU. Por supuesto
que no puede competir con las versiones comerciales, pero tiene una calidad lo
suficientemente buena para las expectativas del público en general.
Puedes descargarlo desde su Web original en http://www.mp3dev.org/mp3/, cosa que
no te recomiendo ya que es un desastre. O también directamente desde sourceforge
que es más sencillo; simplemente elige un mirror y descarga los fuentes para
luego compilarlos en el sistema: http://prdownloads.sourceforge.net/lame/lame-3.97b2.tar.gz?download
Usando lame
El problema de los codificadores de mp3 es la patente tan restrictiva que tiene
dicho formato, lo que causa que no se pueda distribuir empaquetado en .deb o .rpm,
con lo que el proceso de instalación es más complejo. Debes descargarte el
paquete de las direcciones de arriba, copiarlo en un directorio temporal que
tengas para tal ocasión y descomprimirlo desde el usuario root del modo
siguiente:
tar xvfz lame-3.97b2.tar.gzDonde lame-3.97b2.tar.gz es el nombre del paquete,
pero podría ser diferente si estuvieras descargando una versión anterior o
superior del programa.
Para Instalarlo dar los siguientes pasos:
1º. ./configure Esto lanza el script de configuración del sistema.
2º. make Esto hace la compilación del programa, tardará unos minutos y puede dar
algún warning.
3º. make install Esto hace la instalación del programa en el sistema.
4º. make clean Esto limpia los archivos temporales de la compilación.
5º. Ahora, si lo deseas, puedes eliminar el directorio de los fuentes como
sigue: rm -r NombreDirectorio. Recuerda que la opción -r en la orden rm fuerza
al sistema a que borre recursivamente cargándose todo lo que haya dentro del
directorio, ya sean archivos o directorios, así que sé cauto cuando borres de
este modo.
la línea de órdenes para codificar un archivo que previamente hayamos extraído
con un ripper como cdparanoia es:
lame -b 128 cancion.wav
la opción -b establece el bitrate; si se omite, 128Kb/s, que es el valor por
omisión, será utilizado. Esto nos dará como resultado un archivo con el mismo
nombre y la extensión .mp3 agregada al final
Si utilizamos la opción -f especificaremos un modo para que la codificación sea
más rápida, pero perderemos cierto grado en la calidad en el resultado final.
Si, por el contrario, preferimos obtener una mayor calidad y sacrificar, en su
lugar, un poco la velocidad, mediante la opción -h podremos hacerlo así.
Lame también soporta la posibilidad de tener un BitRate Variable, mediante la
opción -v. De este modo el programa tratará de determinar en cada momento cuál
es el bitrate mas aconsejable para cada parte de la pista de audio.
Con la opción -V n, dónde n será un numero del 0 al 9 nos permitirá seleccionar
el nivel de calidad que deseemos en un Bitrate Variable, donde 0 es el valor que
se corresponde con la mayor calidad. Por omisión vendrá ajustado en 4.
Aquí solamente he reflejado las órdenes básicas de este programa, pero lo que se
puede hacer con él es muchísimo y tiene una amplia manpage en inglés que podéis
revisar para más información. Asimismo puedes acceder a una breve ayuda si
escribes la opción -h en la línea que invoca a lame.
notlame
notlame es otro codificador de mp3 basado en lame, es totalmente compatible con
el anterior y tiene los mismos comandos, por lo que no necesita de ninguna otra
explicación. Parece ser que este codificador es más rápido y tiene más calidad
que el mismo lame, pero en realidad yo no le he hecho pruebas de medición, así
que me creeré los comentarios que he leído.
Puedes descargarlo en http://users.rsise.anu.edu.au/~conrad/not_lame/ donde lo
podrás encontrar empaquetado en diferentes tipos, incluyendo .deb y rpm, así que
lo descargas como mejor te convenga y usas el método de instalación pertinente:
tar, dpkg o rpm.
bladenc
http://bladeenc.mp3.no
bladeenc se publicita a si mismo como una versión GNU de la imagen ISO del
algoritmo de codificación de Fraunhofer. En una época se podían bajar los
binarios directamente, pero debido a problemas de patentes, hoy esto no es
posible. Sin embargo se encuentran los paquetes para descargar en otros puntos
ofrecidos por personas que viven o tienen sus servidores en países donde el no
cumplimiento de la patente de mp3 no supone problemas. De todos modos, el
programa ya no está en desarrollo y posiblemente no se continuará con él.
Bladeenc está optimizado para bitrates de más de 128Kb/s,es mas se recomienda
160Kb/s para obtener una buena calidad. Por ello resulta un programa lento pero
da mucha calidad a los mp3, pero es mucho más limitado, ya que no tiene tantas
opciones como lame y notlame; tampoco tiene modificadores para optimizar
velocidad, o calidad.
una línea de órdenes para bladeenc es como sigue a continuación:
bladeenc -br 160 cancion.wav cancion.mp3
-br permite seleccionar el bitrate deseado para la codificación de los mp3;
asimismo, existen algunas otras opciones, pero que realmente no son demasiado
interesantes como podría ser codificar en mono, intercambiar canales, etc..
Crear mp3 rippeando en un solo paso:
En lo que hemos visto hasta el momento, obteníamos en primer lugar el archivo .wav
con el cdparanoia, para después pasarlo por el codificador pertinente de mp3.
Esto trae como consecuencia que sea necesario disponer de un promedio de unos 50
megas por canción extraída, o mucho más si estamos extrayendo un cd completo, y
luego comprimirlo al archivo mp3 que ocupará una media de 3 megas. . Por ello,
vamos a aprovechar las capacidades que nos ofrece GNULinux, y utilizaremos el
sistema de redirección por tuberías que nos permitirá hacerlo todo de un tirón y
con una sola línea de órdenes, enviando la salida Standard del ripper a la
entrada Standard del codificador. Un modo de hacerlo sería como sigue:
cdparanoia - -Y -Z|lame - -f cancion.mp3
en cdparanoia el - (guión) especifica que se redirija todo a la salida Standard
y el - (guión) en lame indica que los datos (.wav) serán obtenidos de la entrada
Standard. Si utilizásemos notlame, las órdenes serían las mismas.
Si estuviésemos utilizando el codificador bladeenc, la línea de órdenes que
deberíamos utilizar sería la siguiente:
cdparanoia - -Y -Z|bladeenc STDIN cancionn.mp3
STDIN indica a bladeenc que use la entrada Standard como archivo a codificar.
Sin embargo bladeenc enlentece "el rippeo" por que va haciendo el proceso de
codificación en pequeños tramos de tiempo.
Vorbis Tools
Como ya vimos con anterioridad, El paquete Vorbis Tools contiene herramientas de
línea de comandos para ficheros de sonido OGG. Es útil para codificar,
reproducir o editar ficheros usando el CODEC de Ogg. Para su instalación
referiros más arriba cuando hablábamos de la reproducción de los archivos en
formato .ogg.
El paquete Vorbis Tools contiene las utilidades oggdec, oggenc, ogg123 vcut y
vorbiscomment.
oggdec
oggdec es un decodificador simple para convertir ficheros Ogg Vorbis en ficheros
de sonido PCM (WAV o RAW). Para convertir un archivo .ogg a .wav, nada tan fácil
como lo siguiente:
oggdec cancion.ogg lo que convertirá cancion.ogg en cancion.wav. Tiene algunas
opciones más pero raramente las vas a usar. Si necesitas más ayuda ejecuta
oggdec con el modificador -h o lee su manual con man oggdec.
oggenc
oggenc es el codificador que convierte ficheros RAW, WAV o AIFF en ficheros Ogg
Vorbis. Escribe la orden oggenc NombreArchivo.wav para que cree otro con el
mismo nombre pero codificado al formato .ogg.
La opción -b indica al codificador con que bitrate debe comprimir el archivo. No
deberías ponerlo muy bajo si quieres que suene bien.
Con la opción -q definiremos la calidad que queremos que tenga el archivo .ogg.
Se mide de 0 a 10, así que cuanto mayor sea la calidad más grande será el
archivo resultante, con lo que en la mayor parte de los casos interesa una
calidad intermedia.
Con la opción -o NombreArchivo.ogg podremos decirle al oggenc que el fichero
resultante se llame NombreArchivo.ogg en lugar de tomar el nombre del fichero
fuente.
También dispones del modificador -h para pedir ayuda en línea y de su
correspondiente página man. Puedes mirar allí el resto de las opciones que
soporta el codificador, entre las que podrás encontrar las que manejan las
etiquetas tag de meta datos que controlan salidas como el título de la canción
que mostrará el reproductor. Dispondrás también de un editor para poder
modificarlas.
ogg123
Como ya vimos en estos apuntes, ogg123 es un reproductor de ficheros Ogg Vorbis
para la línea de comandos.
ogginfo
ogginfo muestra toda la información almacenada en el fichero de sonido a la hora
de haber sido codificado.
vcut
vcut es una herramienta que dividirá un fichero en dos a partir de un punto de
corte definido por nosotros.
vorbiscomment
vorbiscomment es un editor para cambiar la información contenida en las
etiquetas de meta datos de un fichero de sonido. No lo vamos a comentar en estos
apuntes porque no nos parece relevante para nuestro propósito general, pero si
quieres más información ya sabes que dispones de la ayuda en línea con el
modificador -h en la orden, o leyendo su manpage.
El formato Ogg Vorbis, al igual que mp3, utiliza compresión con pérdida de
información, es decir, que de la pista de audio digital original en .wav, .au o
.cdr, al hacer la codificación se va a perder, en teoría, toda aquella
información redundante e inaudible al oído humano. Cuanto más cuidadosamente se
haya realizado el proceso de compresión, tanto mejor será la calidad del fichero
comprimido. No obstante, si tratamos de pasar un archivo comprimido a .wav, .au
o .cdr, el resultado nunca será igual al original ya que esa información
eliminada en el proceso de compresión nunca será posible recuperarla. Asimismo
podrás convertir un archivo mp3 a ogg, pero, al ser mp3 una codificación con
pérdida similar al ogg, lo más probable es que el resultado del cambio de uno a
otro formato haga que sea todavía peor, por lo que es aconsejable codificar
directamente desde formatos que no hayan sido creados con ningún sistema de
codificación con pérdida.
Reproduciendo archivos en formato MIDI.
En GNULinux también es posible reproducir archivos en formato MIDI. Para este
propósito, entre muchos otros, podremos utilizar una aplicación muy interesante
llamada tiMidity. Su principal característica es que permite trabajar con
tarjetas de sonido que no posean sintetizadores Midi dado que gestiona el sonido
mediante una emulación software, cosa que los drivers de alsa, al menos que yo
sepa, todavía no son capaces de hacer; lo cual nos lleva a otra ventaja, que no
es más que su muy buena calidad de sonido por utilizar muestras pregrabadas.
Esto nos lleva también a su gran inconveniente, es decir, debido al tipo de
tareas que lleva a cabo, el microprocesador se recarga bastante de trabajo, pero
puede ser utilizado perfectamente en la mayor parte de los ordenadores de la
actualidad, al menos yo hago las pruebas en un pentium III a 450 mhz y no tengo
problemas.., conozco a gente que lo hizo correr en un 486 y ciertamente allí si
tenía ciertas dificultades y el programa se comía notas o tramos de la canción.
Para instalar el timidity haremos lo de siempre, desde el usuario root
escribiremos:
apt-get install timidity lo cual nos sugiere también la instalación de pmidi y
recomienda la instalación jackd y freepats. Es recomendable instalar, al menos,
el freepats para obtener los patches de sonido para el timidity y el pmidi como
un reproductor midi más ligero.
¿Cómo funciona el midi por software?
El proceso se lleva a cabo de una manera idéntica al midi por hardware. Un
fichero midi solamente contiene las notas musicales que se han de interpretar,
todos los eventos que afectan a esas notas y los nombres de los instrumentos que
se deben usar y son independientes a cualquier dispositivo o aparato en el que
se vayan a reproducir. El dispositivo midi dispone de una lista de samples de
sonido real grabado con cada uno de los instrumentos y al pasarle un fichero
midi, se interpretará en tiempo real la partitura que va en el fichero. Timidity
hace lo mismo, pero para ello necesita un conjunto de samples o patches. En la
calidad que tengan estos patches va a residir la calidad del sonido final
obtenido. Existen conjuntos de patches gratuitos e incluso libres (en Debian,
Ubuntu y derivados está el paquete freepats), que es el que vamos a usar en
nuestro caso, también existen conjuntos de patches comerciales de una calidad
altísima, pero que no son necesarios para un uso cotidiano.
Pues bien, una vez instalados los paquetes timidity y freepats, solo tienes que
hacer lo siguiente:
Timidity NombreArchivo.mid
Esto hará que comencemos a escuchar la composición llamada NombreArchivo.mid con
una muy buena calidad de audio.
Reproduciendo con pmidi.
Para utilizar el secuenciador interno de la tarjeta a través de los dispositivos
ALSA la cuestión se nos dificulta un poquito dado que es necesario tocar
archivos y cambiar la configuración y, aun así, yo no he obtenido buenos
resultados, el midi me suena algo distorsionado y da saltos. En las siguientes
líneas os comento como se hace, es material que he encontrado por Internet, y
luego vosotros, si lo queréis así, hacéis las pruebas, a lo mejor, con un poco
de suerte y una tarjeta de sonido mejor que la mía lográis algo. De todos modos,
si lo que queréis es simplemente escuchar archivos midi sin complicaros la vida
podéis hacerlo tal cual lo que os expliqué hasta aquí e ignorar el resto.
Vamos a revisar ahora cierta configuración y a realizar algunas modificaciones.
Lo primero es cargar ciertos módulos del sonido. Entra en el usuario root si no
estuvieras ya. Esto puede hacerse de dos maneras:
1. Edita el archivo /etc/modules con tu editor de texto favorito y añade las
siguientes líneas:
snd-seq-device
snd-seq-midi
snd-seq-oss
snd-seq-midi-event
snd-seq
Sé cuidadoso y no toques ningún otro texto que haya en el archivo o correrás el
riesgo de desestabilizar el sistema o, incluso, hacerlo inservible.
2. La otra manera de cargar los módulos es más segura ya que evitas tocar lo que
no debes, pero se pierde el automatismo del caso anterior. También desde el root
se ponen las siguientes órdenes:
modprobe snd-seq-device
modprobe snd-seq-midi
modprobe snd-seq-oss
modprobe snd-seq-midi-event
modprobe snd-seq
Archivos de configuración
En el archivo /etc/timidity/timidity.cfg es donde se declara el set de samples
que vas a utilizar en la emulación software del sonido para los midis que
reproduzcas, a no ser que instales otros patches diferentes no vas a necesitar
tocarlo.
Seguidamente edita El fichero /etc/init.d/timidity. Ahí debes buscar una línea
que comienza con lo siguiente: TIM_ALSASEQPARAMS= la cual debes modificar para
que quede de este modo:
TIM_ALSASEQPARAMS="-iA -B2,8 -Os1l -s 44100"
Nota: tened mucho cuidado con respetar las mayúsculas ya que Linux es sensible
al caso y, si no se ponen tal cual, la línea no es válida.
Ahora editaremos el fichero /etc/default/timidity en el cual tendremos que hacer
un par de modificaciones:
En primer lugar buscaremos una línea comentada idéntica a la siguiente:
#TIM_ALSASEQ=true
y la descomentaremos, si me permitís el palabro, eliminando el # (signo de
número o almohadilla), que precede a toda la línea.
En segundo lugar buscamos una línea que comienza por TIM_ALSASEQPARAMS= y
hacemos que quede del siguiente modo:
TIM_ALSASEQPARAMS="-iA -B2,8 -Os1l -s 44100"
Si en vuestro caso tuvierais una CPU limitada o por cualquier cuestión
particular quisierais reducir la carga de la tarea podéis probar a modificar la
línea anterior de la siguiente manera:
TIM_ALSASEQPARAMS="-B2,8 -Os -EFreverb=0 -EFresamp=1 -EFchorus=0"
De esta forma se desactivará el efecto Reverb y Chorus y el resampleado de los
patches se hace con un algoritmo lineal en vez del gaussiano que utiliza por
omisión. Al parecer
esto hace descender en gran medida el uso de CPU al tiempo que apenas se nota un
descenso en la calidad del sonido. Digo al parecer, porque en mi caso no lo he
probado, esto lo encontré en algún sitio por Internet y, dado que no me apetece
ponerme a medir tiempos de proceso y de sobrecarga del microprocesador, opto por
creérmelo.
Por último, editando el fichero ~/.bashrc añadiremos la siguiente línea:
export ALSA_OUTPUT_PORTS="128:0"
También es posible ponerla como línea de órdenes en el prompt del sistema, ya
que simplemente es la importación de las variables.
Una vez hecho esto, basta con arrancar el servicio timidity.
/etc/init.d/timidity start
Nos debería sacar por pantalla un texsto similar al siguiente:
Starting TiMidity++ ALSA midi emulation: timidity.
Emulating midi on ports: 128:0 128:1 128:2 128:3
Si nos dice en la salida que el servicio timidity ya está arrancado podremos
poner la siguiente orden para rearrancarlo:
/etc/init.d/timidity restart
Para probar que el emulador midi está funcionando podemos utilizar el
reproductor pmidi de esta forma:
pmidi -p 128:0 fichero.mid
Si suena es que está funcionando correctamente. De todos modos, en mi caso he
obtenido unos resultados muy anómalos de esta segunda manera con el pmidi
cuando, por lo contrario, con timidity NombreArchivo.mid sin haber tocado la
configuración funcionó a la primera y con muy buena calidad de sonido. Podría
ocurrir, asimismo, que fuera necesario reiniciar el sistema tras la carga de los
módulos, si no funcionase el comando pmid que hemos puesto antes haced un reboot
desde root y volved a probar.
Supongo que os habréis dado cuenta que no he hablado en estos apuntes y en esta
subsección nada acerca de los secuenciadores de midi. Ciertamente no lo he hecho
intencionadamente, sino por la sencilla razón de que no existen para la consola,
o al menos que yo sepa. Si los hay para el entorno gráfico, el más usado de
ellos es el rosegarden, pero de momento queda fuera de nuestro ámbito porque en
estos momentos hablamos del modo texto y porque, hoy por hoy, el acceso al
entorno x window no se puede hacer con suficientes garantías, aunque no pierdo
la esperanza que antes de la finalización de esta serie de apuntes podamos
entrar a manejar un poco el escritorio gnome.
Grabación de audio desde la tarjeta de sonido:
Para grabar desde un dispositivo externo a través de la tarjeta de sonido, desde
la línea de órdenes se puede hacer con la orden rec perteneciente al paquete sox
(Sound eXchange) que es un paquete de programas comunmente utilizado para
convertir entre diferentes formatos y para dar ciertos efectos a los archivos de
audio, que de momento vamos a dejar apartado en estos apuntes, no obstante, si
tenéis interés siempre podréis leeros su manpage (en inglés) e intentar dar
efectos a vuestros archivos de audio. Con su misma sintaxis pueden reproducirse
sonidos con la orden play, aunque éste último posiblemente sea capaz de detectar
y reproducir automáticamente los diferentes archivos sin la necesidad de tener
que teclear la ristra de comandos que soporta.
El modificador -c especifica el número de canales a utilizar, normalmente serán
2, aunque hay tarjetas y sistemas de sonido, como es bien conocido, que soportan
más, pero desde luego eso me supera bastante..., ciertamente todo el paquete sox
me supera porque a penas si lo he usado, pero me interesa mencionarlo para que
sepáis que existe la posibilidad de grabar desde la consola.
Con el modificador -d podemos especificar un dispositivo diferente por el que
grabar o reproducir el sonido.
Con -f se especifica el bit format de la muestra. Sus opciones son: s, u, U, A,
a, o g.
El modificador -r especifica el ratio de codificación de los datos de audio, es
decir, las muestras (o samples) por segundo que se toman al grabar y reproducir.
por ejemplo, si quisiéramos un sonido tipo CD la ratio a usar debería de ser
44100.
La opción -s especifica el tamaño de cada una de las muestras. Son: b, w, l, f,
d, o D, donde b es la más grande y D la más pequeña. Ello influye en la calidad
del sonido y en su tamaño resultante.
Con el modificador -t podemos especificar el formato del fichero de audio a
utilizar.
Con -v podremos cambiar el volumen del audio.
Un ejemplo de grabación sería el que sigue:
rec -c 2 -r 44100 -s w ArchivoDeSonido.wav
Bien, de momento, esto es todo; no son todos los programas, ¡ni mucho menos! en
linux hay muchos más, incluso muchos que no conocerá la mayoría del común de los
mortales. De hecho se me quedan algunas cosas que de momento no os comento
porque, o yo no he sido capaz de manejar todavía, o he tenido problemas para
instalar..., no obstante, es posible que en entregas futuras podamos volver
sobre el sonido y las podamos ver. Ahora os toca probar a vosotros y, si
queréis, a seguir investigando y buscando a lo largo de internet otro tipo de
aplicaciones que os puedan ayudar.
VOLVER A LA PORTADA DE LOS APUNTES