3.6 La aplicación ¨arecord¨

arecord” es la aplicación que permite digitalizar una señal sonora cuando hemos instalado ALSA. Vamos a a ver cómo se utiliza.

arecord” es una utilidad del tipo command-line. Esto significa que necesitamos un shell para ejecutarla.

arecord” captura una secuencia de audio digital de la tarjeta de sonido y escribe la secuencia de muestras en la salida estándard (stdout). Por tanto, si escribimos:

arecord

llenaremos el terminal de caracteres extraños que no otra cosa que la reprentación ASCII de cada una de las muestras. Cuando no se establece ningún parámetro extra se utiliza una frecuencia de muestreo de 8K Hz (K=1000).

Para enviar la salida estándar a un fichero escribiremos:

arecord > fichero.wav

Como puede observarse se ha seleccionado la extensión ”wav” para el fichero de salida. Este es el formato por defecto usado por ”arecord”. Si queremos alterar este comportamiento:

arecord -t raw > fichero.raw # Formato "Read And Write"  
arecord -t voc > fichero.voc # Formato "SoundBlaster"  
arecord -t au > fichero.au   # Formato "Sun"  
arecord -t wav > fichero.wav # Formato "Windows" (el usado por defecto)

Bueno. Todos estos formatos son de tipo PCM, donde cada muestra se representa con un número de bits constante a lo largo del fichero de audio (en todos estos ejemplos estamos utilizando 8 bps). El formato RAW no tiene cabecera alguna: el primer bit del fichero pertenece a la primera muestra. En el resto de formatos existe una cabecera con una determinada longitud. El formato VOC es el diseñado para el software de audio que viene con las tarjetas de sonido SoundBlaster. El formato AU es el usado por las estaciones de trabajo Sun y Next. Finalmente, el formato WAVE es el diseñado por Microsoft para su sistema Windows.

Bien. Veamos ahora cómo seleccionar la frecuencia de muestreo, el tipo de cuantificador, el número de bits por muestra y el número de canales. En el resto de ejemplos usaremos el formato WAVE (el que se selecciona por defecto).

Determinando el número de canales:
arecord > f.wav        # 1 canal (mono)  
arecord -c 1 > f.wav   # 1 canal  
arecord -c 2 > f.wav   # 2 canales (estéreo)  
arecord -c 4 > f.wav   # 4 canales (cuadrafónico), I.A. (if available)

Determinado la frecuencia de muestreo:
(Aquí sólo se presentan los casos más frecuentes.)
arecord > f.wav              # 8K muestras/segundo  
arecord -r 8000 > f.wav      # 8K muestras/segundo  
arecord -r 22050 > f.wav     # 22.05K muestras/segundo  
arecord -r 44100 > f.wav     # Calidad CD  
arecord -r 48000 > f.wav     # Calidad DAT (Digital Audio Tape)

Determinando el cuantificador:
arecord -t raw > f.raw            # Lineal (por defecto), 8 bps.  
arecord -t raw -f MU_LAW > f.raw  # Logarítmico telefonía americana, 8 bps  
arecord -t raw -f A_LAW > f.raw   # Logarítmico telefonía europea, 8 bps

Determinando el número de bits por muestra:
arecord -t raw > f.raw           # Lineal, 8 bps, enteros con signo  
arecord -t raw -f S8 > f.raw     # Lineal, 8 bps, enteros con signo  
arecord -t raw -f U8 > f.raw     # Lineal, 8 bps, enteros sin signo  
arecord -t raw -f S16_LE > f.raw # Lineal, 16 bps, con signo, little endian  
arecord -t raw -f U16_LE > f.raw # Lineal, 16 bps, sin signo, LE  
arecord -t raw -f S16_BE > f.raw # Lineal, 16 bps, signed, big endian  
arecord -t raw -f U16_BE > f.raw # Lineal, 16 bps, unsigned, BE, I.A.  
arecord -t raw -f S24_LE > f.raw # Lineal, 24 bps, con signo, LE, I.A.  
arecord -t raw -f U24_LE > f.raw # Lineal, 24 bps, sin signo, LE, I.A.  
arecord -t raw -f S24_BE > f.raw # Lineal, 24 bps, signed, BE, I.A.  
arecord -t raw -f U24_BE > f.raw # Lineal, 24 bps, unsigned, BE, I.A.  
arecord -t raw -f S32_LE > f.raw # Lineal, 32 bps, con signo, LE, I.A.  
arecord -t raw -f U32_LE > f.raw # Lineal, 32 bps, sin signo, LE, I.A.  
arecord -t raw -f S32_BE > f.raw # Lineal, 32 bps, signed, BE, I.A.  
arecord -t raw -f U32_BE > f.raw # Lineal, 32 bps, unsigned, BE, I.A.

Muestreo calidad CD (Compact Disc):]
arecord -f cd > f.wav        # Equivalente a "-f S16_LE -c 2 -r 44100"

Muestreo calidad DAT (Digital Audio Tape):
arecord -f dat > f.wav       # Equivalente a "-f S16_LE -c 2 -r 48000"

Por supuesto, usando el manual on-line, podemos acceder al resto de información sobre ”arecord”.

man arecord