# Dispositivos de salida de audio

## Sincronización de Audio/Video

La interfaz de audio de MPlayer se llama libao2. Actualmente contiene los siguientes controladores:

Controlador | Comentario
--- | ---
oss | controlador OSS (ioctl) (soporta hardware AC3 passthrough)
sdl | controlador SDL (soporta demonios de sonido como ESD y ARTS)
nas | controlador NAS (Network Audio System)
alsa5 | controlador nativo ALSA 0.5
alsa9 | controlador nativo ALSA 0.9 (soporta hardware AC3 passthrough)
sun | controlador de sonido SUN (`/dev/audio`) para usuarios de BSD y Solaris8
macosx | controlador MacOSX nativo
win32 | controlador Win32 nativo
arts | controlador ARTS nativo (mayormente para usuarios de KDE)
esd | controlador ESD nativo (mayormente para usuarios de GNOME)
jack | controlador JACK (Kit de conección de audio Jack)

Los controladores para tarjetas de sonido en Linux tienen problemas de compatibilidad. Por ese motivo MPlayer tiene la característica de tener propiamente codificados los controladores de sonido que lo habilitan para mantener una sincronización audio/video correcta. Desgraciadamente, algunos autores de controladores no tienen cuidado en codificar esta característica debido a que no es necesaria para reproducir MP3s o efectos de sonido.

Otros reproductores de medios como aviplay o xine posiblemente funcionen out-of-the-box con estos controladores porque usan métodos simples con temporización interna. Las mediciones muestran que sus métodos no son tan eficientes como el de MPlayer.

Usando MPlayer con un controlador de sonido correctamente escrito nunca debe resultar en pérdida de sincronización de A/V relacionada con el audio, excepto con archivos muy mal creados (consulte la página de manual para solucionar el problema si ocurre).

Si piensa que tiene un controlador de audio en mal estado, pruebe la opción `-autosync`, lo que debe solucionar sus problemas. Vea la página de manual para información detallada.

### Algunas notas:

- Si tiene un controlador OSS, primero pruebe `-ao oss` (este es el que se usa por defecto). Si experimenta cortes, tirones o algo fuera de lo normal, pruebe `-ao sdl` (NOTA: necesita tener las bibliotecas SDL y los archivos de cabecera instalados). El controlador de audio SDL le ayudará en muchos casos y también soporta ESD (GNOME) y ARTS (KDE).

- Si tiene la versión 0.5 de ALSA, entonces casi siempre tendrá que usar `-ao alsa5`, porque ALSA 0.5 tiene un código de emulación de OSS que falla, y puede hacer fallar MPlayer con un mensaje como este:

      DEMUXER: Demasiados (945 en 8390980 bytes) paquetes de video en el buffer!

- En Solaris, use el controlador de audio de SUN con la opción `-ao sun`, si no lo hace no funcionará ni el video ni el audio.

- Si el sonido se entrecorta mientras se reproduce desde un CD-ROM, active el enmascaramiento de IRQ, e.g. `hdparm -u1 /dev/cdrom` (`man hdparm`). Normalmente siempre es buena idea y se describe con más detalle en la sección de CD-ROM.

## Experiencias con tarjetas de sonido, recomendaciones

En Linux, es altamente recomendado el uso de un kernel 2.4.x. El kernel 2.2 no ha sido probado.

Los controladores de sonido de Linux son principalmente proporcionados mediante una versión libre de OSS. Estos controladores han sido reemplazados por ALSA (Advanced Linux Sound Architecture (Arquitectura Avanzada de Sonido en Linux)) en las series de desarrollo de 2.5. Si su distribución no tiene ALSA puede que quiera probar esos controladores si tiene problemas con el sonido. Los controladores ALSA son generalmente superiores a OSS en compatibilidad, rendimiento y características. Pero algunas tarjetas de sonido solo están soportadas por los controladores de sonido comerciales OSS de 4Front Technologies. Estos también tienen soporte para varios sistemas no-Linux.

TARJETA DE SONIDO | CONTROLADOR | Max kHz | Max Canales | Max Opens el número de aplicaciones que pueden usar el dispositivo a la vez.
--- | --- | --- | --- | ---
OSS/Free | ALSA | OSS/Pro | otros
VIA onboard (686/A/B, 8233, 8235) | via82cxxx_audio | snd-via82xx |  |  | 4-48 kHz o 48 kHz solo, dependiendo del chipset |  |
Aureal Vortex 2 | no | no | OK | Linux Aureal Drivers tamaño del buffer incrementado a 32k | 48 | 4.1 | 5+
SB Live! | Analog OK, SP/DIF no funciona | Ambos OK | Ambos OK | Creative's OSS driver (soporte SP/DIF) | 192 | 4.0/5.1 | 32
SB 128 PCI (es1371) | OK | ? |  |  | 48 | stereo | 2
SB AWE 64 | max 44kHz | 48kHz sounds bad |  |  | 48 |  |
GUS PnP | no | OK | OK |  | 48 |  |
Gravis UltraSound ACE |  |  |  |  |  |  |
Gravis UltraSound MAX | OK | OK (?) |  |  | 48 |  |
ESS 688 | OK | OK (?) |  |  | 48 |  |
Tarjetas C-Media (CMI8338/8738) | OK | OK SP/DIF funciona con ALSA 0.9.x | ? |  | 44 | estéreo | 1
Tarjetas Yamaha (*ymf*) | no OK (?) (quizá `-ao sdl`) | OK solo con ALSA 0.5 con emulación OSS Y `-ao sdl` (!) (?) |  |  |  |  |
Tarjetas con chips envy24 (como Terratec EWS88MT) | ? | ? | OK |  | ? |  |
PC Speaker o DAC | OK | no |  | Linux PC speaker OSS driver | El controlador emula 44.1, quizá más. | mono | 1

La realimentación sobre este documento siempre es bienvenida. Por favor díganos como funcionan juntos MPlayer y su(s) tarjeta(s) de sonido.

## Filtros de audio

Los plugions de audio viejos han sido reemplazados por una nueva capa de filtros de audio. Los filtros de audio son usados para cambiar propiedades de los datos de audio antes de que alcancen la tarjeta de sonido. La activación y desactivación de los filtros normalmente se hace de manera automática pero puede también forzarse. Los filtros son activados cuando las propiedades de los datos de audio difieren de los requeridos por la tarjeta de sonido y desactivados si no son necesarios. La opción `-af filtro1,filtro2,...` se usa para forzar la activación automática de filtros o para insertar filtros que no se activan de manera automática. Los filtros son ejecutados en el orden en el que aparecen en la lista separados por comas.

Ejemplo:

    mplayer -af resample,pan movie.avi

enviaría el sonido a través del filtro de remuestreo seguido del filtro pan. Observe que la lista no debe contener espacios, si no fallará.

Los filtros también tienen opciones que cambian su comportamiento. Estas opciones son explicadas en detalle en las secciones siguientes. Un filtro se ejecutará usando la configuración por defecto si se omiten las opciones. Aquí hay un ejemplo de cómo usar los filtros en combinación con las opciones específicas del filtro:

    mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1 -srate 11025 media.avi

establecería la frecuencia de salida del filtro de remuestreo a 11025Hz y reduciría los canales de audio a 1 usando el filtro pan.

La ejecución general de la capa de filtros es controlada usando la opción `-af-adv`. Esta opción tiene dos subopciones:

`force` es un pequeño campo binario que controla cómo se insertarán los filtros y que optimizaciones de velocidad/precisión usarán:

`0`

  Usar inserción automática de filtros y optimizar de acuerdo a la velocidad de la CPU.

`1`

  Usar inserción automática de filtros y optimizar para la velocidad más alta. Advertencia: Algunas características en los filtros de audio pueden fallar sin avisar, y la calidad del sonido puede verse afectada.

`2`

  Usar inserción automática de filtros y optimizar para calidad.

`3`

  No usar inserción automática de filtros ni optimización. Advertencia: Es posible hacer fallar a MPlayer utilizando esta opción.

`4`

  Usar inserción automática de filtros igual que el 0 de más arriba, pero utilizando procesamiento de punto flotante cuando sea posible.

`5`

  Usar inserción automática de filtros como el 1 de más arriba, pero utilizando procesamiento de punto flotante cuando sea posible.

`6`

  Usar inserción automática de filtros como el 2 de más arriba, pero utilizando procesamiento de punto flotante cuando sea posible.

`7`

  No usar inserción automática de filtros como el 3 de más arriba, y utilizar procesamiento de punto flotante cuando sea posible.

`list` es un alias de la opción -af.

La capa de filtros también se ve afectada por las siguientes opciones generales:

`-v`

  Incrementa el nivel de verbosidad y hace que la mayoría de los filtros impriman mensajes de estado extras.

`-channels`

  Esta opción establece el número de canales de salida que desea que use su tarjeta de sonido. Esto también afecta al número de canales que se decodifican desde el medio. Si el medio contiene menos canales de los que se solicitan el filtro de canales (vea más abajo) será utomaticamente insertado. La ruta será la ruta por defecto para el filtro de canales.

`-srate`

  Esta opción selecciona la tasa de muestreo que quiere que use su tarjeta de sonido (por supuesto las tarjetas tienen límites en este aspecto). Si la frecuencia de muestreo de su tarjeta de sonido es diferente de la que tiene el medio actual, el filtro de remuestreo (vea más abajo) será insertado en la capa de filtros de audio para compensar la diferencia.

`-format`

  Esta opción establece el formato de muestreo entre la capa de filtros de audio y la tarjeta de sonido. Si el formato de muestreo solicitado de su tarjeta de sonido es diferente del que tiene el medio actual, un filtro de formato (vea más abajo) será insertado para rectificar la diferencia.

### Super/Submuestreo

MPlayer soporta completamente super/sub-muestreo de sonido a través del filtro `resample`. Puede ser usado si tiene una frecuencia fija para la tarjeta de sonido o si tiene una tarjeta de sonido antigua que solo tiene como capacidad máxima 44.1kHz. Este filtro es activado automáticamente si es necesario, pero también puede ser habilitado explícitamente en la línea de órdenes. Tiene tres opciones:

`srate <8000-192000>`

  es un entero usado para establecer la frecuencia de muestreo de salida en Hz. El rango válido para éste parámetro es de 8kHz a 192kHz. Si la frecuencia de muestreo de entrada y de salida son la misma o si este parámetro es omitido el filtro automáticamente es descargado. Una frecuencia de muestreo alta normalmente mejora la calidad el audio, especialmente si es usada en combinación con otros filtros.

`sloppy`

  es un parámetro binario opcional que permite que la frecuencia de salida sea ligeramente diferente que la frecuencia dada por `srate`. Esta opción puede ser usada si el inicio de la reproducción es extremadamente lento. Está activado por defecto.

`type <0-2>`

  es un entero opcional entre `0` y `2` que elije el método de muestreo a usar. Aquí `0` representa interpolación lineal como método de muestreo, `1` representa muestreo usando un banco de filtros de poli-fase y procesamiento con enteros y `2` representa muestreo usando un banco de filtro de poli-fase y procesamiento de punto flotante. La interpolación lineal es extremadamente rápida, pero sufre de pobre calidad de sonido especialmente cuando se usa para sobre-muestreo. La mejor calidad se obtiene con `2` pero este método también sufre de una gran carga de la CPU.

Ejemplo:

    mplayer -af resample=44100:0:0

establecería la frecuencia de salida del filtro de muestreo a 44100Hz usando escalado exacto de la frecuencia de salida e interpolación lineal.

### Cambiando el número de canales

El filtro `channels` puede ser usado para añadir y quitar canales, también puede usarse para enrutar o copiar canales. Es activado automáticamente cuando la salida de la capa de filtro de audio difiere de la capa de entrada o cuando es pedido por otro filtro. Este filtro se descarga a sí mismo si no es necesario. El número de opciones es dinámico:

`nch <1-6>`

  es un entero entre `1` y `6` que es usado para establecer el número de canales de salida. Esta opción es requerida, dejarla vacía resultará en un error en tiempo de ejecución.

`nr <1-6>`

  es un entero entre `1` y `6` que es usado para especificar el número de rutas. Este parámetro es opcional, Si se omite se usará el enrutamiento por defecto.

`from1:to1:from2:to2:from3:to3...`

  son pares de números entre `0` y `5` que definen donde debe ser enrutado cada canal.

Si solo se da `nch` se usa el enrutado por defecto, funciona de la siguiente manera: Si el número de canales de salida es mayor que el número de canales de entrada se insertarán canales vacíos (excepto al mezclar de mono a estéreo, entonces el canal mono es repetido en ambos canales de salida). Si el número de canales de salida es menor que el número de canales de entrada los canales sobrantes serán truncados.

Ejemplo 1:

    mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.avi

cambiaría el número de canales a 4 y establecería 4 rutas que cambian el canal 0 y el canal 1 y dejan el canal 2 y 3 intactos. Observe que si el medio en reproducción contiene dos canales, los canales 2 y 3 contendrían silencio pero 0 y 1 serían intercambiados.

Ejemplo 2:

    mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avi

cambiaría el número de canales a 6 y estableceriá 4 rutas que copian el canal 0 a los canales desde el 0 al 3. Canal 4 y 5 contendrán silencio.

### Conversor del formato de muestreo

El filtro `format` convierte entre diferentes formatos de muestreo. Se activa automáticamente cuando es necesario por la tarjeta de sonido u otro filtro.

`bps <number>`

  puede ser `1`, `2` o `4` y denota el número de bytes por muestra. Esta opción es requerida, dejarla vacía producirá un error en tiempo de ejecución.

`f <format>`

  es una cadena de texto que describe el formato de muestreo. La cadena es una concatenación de: `alaw`, `mulaw` o `imaadpcm`, `float` o `int`, `unsigned` o `signed`, `le` o `be` (little o big endian). Esta opción es requerida, dejarla vacía resultará en un error en tiempo de ejecución.

Ejemplo:

    mplayer -af format=4:float media.avi

establecerá el formato de salida a 4 bytes por muestra en datos en punto flotante.

### Retardo

El filtro `delay` retarda el sonido en los altavoces de manera que el sonido de diferentes canales llega a la posición del oyente simultáneamente. Esto solo es útil si tiene más de 2 altavoces. Este filtro tiene un número variable de parámetros:

`d1:d2:d3...`

  son números de punto flotante que representan retardos en ms que deben ser impuestos en los diferentes canales. El retardo mínimo es 0ms y el máximo es 1000ms.

Para calcular el retardo requerido para los diferentes canales haga lo siguiente:

1. Mida la distancia a los altavoces en metros en relación con la posición del oyente, dando las distancias de s1 a s5 (para un sistema 5.1). No hay punto en compensación para el sub-woofer (de ningún modo oirá la diferencia).

2. Restele las distancias s1 a s5 a la distancia máxima, p.e. s[i] = max(s) - s[i]; i = 1...5

3. Calcule el retardo requerido en ms como d[i] = 1000*s[i]/342; i = 1...5

Ejemplo:

    mplayer -af delay=10.5:10.5:0:0:7:0 media.avi

retardaría delantero izquierdo y derecho en 10.5ms, los dos canales traseros y el sub en 0ms y el canal central en 7ms.

### Control de volumen por software

El control de volumen de software está implementado mediante el filtro de audio `volume`. Use este filtro con precaución porque puede reducir la relación señal ruido para el sonido. En la mayoría de los casos es mejor establecer el nivel para el sonido PCM al máximo, dejar este filtro sin usar y controlar el nivel de salida de sus altavoces con el control de volumen master del mezclador. En el caso de que su tarjeta de sonido tenga un mezclador PCM digital en lugar de analógico, y oiga distorsión, use el mezclador MASTER en su lugar. Si hay un amplificador externo conectado al ordenador (este es casi siempre el caso), el nivel de ruido puede minimizarse ajustando el nivel del master y el volumen knob del amplificador hasta que desaparezca el sonido de silbido de fondo. Este filtro tiene dos opciones:

`v <-200 - +60>`

  es un número de punto flotante entre `-200` and `+60` que representa el nivel de volumen en dB. El valor por defecto es 0dB.

`c`

  es un control binario que activa y/o desactiva el soft clipping. Soft-clipping puede hacer el sonido mucho más suave si se usan altos niveles de volumen. Active esta opción si el rango dinámico de los altavoces es muy bajo. Tenga cuidado ya que esta característica crea distorsión y debe ser considerada como última opción.

Ejemplo:

    mplayer -af volume=10.1:0 media.avi

amplificariá el sonido por 10.1dB y hard-clip si el nivel de sonido es demasiado alto.

Este filtro tiene una segunda característica: Mides el nivel de sonido máximo y lo muestra cuando MPlayer termina. Esta estimación del volumen puede usarse para establecer el nivel de sonido en MEncoder y asi utilizar el máximo rango dinámico.

### Ecualizador

El filtro `equalizer` representa un ecualizador de 10 bandas gráficas en octavas, implementado usando filtros paso banda IIR de orden 10. Esto significa que funciona sin importar el tipo de audio que está siendo reproducido. Las frecuencias centrales para las 10 bandas son:

Banda No. | Frecuencia central
--- | ---
0 | 31.25 Hz
1 | 62.50 Hz
2 | 125.0 Hz
3 | 250.0 Hz
4 | 500.0 Hz
5 | 1.000 kHz
6 | 2.000 kHz
7 | 4.000 kHz
8 | 8.000 kHz
9 | 16.00 kHz

Si la tasa de muestreo de sonido que está siendo reproducido es menor que la frecuencia central para una banda de frecuencia, entonces esta banda es deshabilitada. Un fallo conocido con este filtro es que las características para la banda más alta no son completamente simétricas si la tasa de muestreo es cercana a la frecuencia central de la banda. Este problema puede ser solucionado sobre-muestreando el sonido usando el filtro de remuestreo antes de que se use este filtro.

Este filtro tiene 10 parámetros:

`g1:g2:g3...g10`

  son números de punto flotante entre `-12` y `+12` que representan la ganancia en dB para cada banda de frecuencia.

Ejemplo:

    mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi

amplificaría el sonido en la región superior e inferior de frecuencia mientras cancela casi por completo alrededor de 1kHz.

### Filtro de panning

Use el filtro `pan` para mezclar canales arbitrariamente. Básicamente se trata de una combinación del conrol de volumen y el filtro de canales. Hay dos usos principales para este filtro:

1. Sub-Mezclando varios canales a solo unos pocos, estéreo a mono por ejemplo.

2. Variando el "ancho" del altavoz central en un sistema de sonido surround.

Este filtro es dificil de usar, y requiere un poco de análicis antes de obtener los resultados deseados. El número de opciones para este filtro depende el número de canales de salida:

`nch <1-6>`

  es un entero entre `1` and `6` y es usado para establecer el número de canales de salida. Esta opción es requerida, dejarla vacía resultará en un error en tiempo de ejecución.

`l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...`

  son números de punto flotante entre `0` y `1`. `l[i][j]` determina cuanto del canal de entrada j es mezclado en el canal de salida i.

Ejemplo 1:

    mplayer -af pan=1:0.5:0.5 -channels 1 media.avi

Sub-mezclará de estéreo a mono.

Ejemplo 2:

    mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.avi

Produciría 3 canales de salida dejando los canales 0 y 1 intactos, mezclandolos , ademas, en el canal de salida 2 (que puede ser enviado a un sub-woofer por ejemplo).

### Sub-woofer

El filtro `sub` añade un canal de sub woofer al flujo de audio. Los datos de audio usados para crear el canal de sub-woofer son una media del sonido en el canal 0 y el canal 1. El sonido resultante es entonces filtrado paso-baja por un filtro de Butterworth de 4º orden con una frecuencia de corte por defecto de 60Hz y añadido a un canal separado en el flujo de audio. Advertencia: Desactive este filtro cuando reproduzca DVDs con sonido Dolby Digital 5.1, de otro modo este filtro puede estropear el sonido del sub-woofer. Este filtro tiene dos parámetros:

`fc <20-300>`

  es un número opcional de punto flotante usado para establecer la frecuencia de corte del filtro en Hz. El rango válido es 20Hz a 300Hz. Para el mejor resultado pruebe una frecuencia de corte tan baja como sea posible. Esto mejorará la experiencia de sonido estéreo o surround. La frecuencia de corte por defecto es 60Hz.

`ch <0-5>`

  es un entero opcional entre `0` y `5` que determina el número de canal en el que se insertará el sub-canal de audio. Por defecto se usa el canal número `5`. Observe que el número de canales automáticamente será incrementado a ch si es necesario.

Ejemplo:

    mplayer -af sub=100:4 -channels 5 media.avi

añadiría un canal de sub-woofer con una frecuencia de corte de 100Hz al canal de salida 4.

### Decodificador de Surround-sound

El sonido codificado con matriz de codificación de surround puede ser decodificado con el filtro `surround`. Dolby Surround es un ejemplo de formato codificado en matriz. Muchos archivos con audio en 2 canales actualmente contienen audio surround en matrices. Para usar esta característica necesita una tarjeta de sonido que soporte al menos 4 canales. Este filtro tiene un parámetro:

`d <0-1000>`

  es un número de punto flotante opcional entre `0` y `1000` usado para establecer el tiempo de retardo en ms para los altavoces traseros. Este retardo debe se establecido de la siguiente manera: si d1 es la distandia desde la posición del oyente hasta los altavoces frontales y d2 es la distancia desde la posición del oyente hasta los altavoces traseros, entonces el retardo d debe ser de 15ms si <= d2 y a 15 + 5*(d1-d2) si d1 > d2. El valor por defecto para d es 20ms.

Ejemplo:

    mplayer -af surround=15 -channels 4 media.avi

añadiría decodificación de sonido surround con 15ms de retardo para el sonido de los altavoces traseros.

### Exportador de audio

Este filtro de audio exporta la señal entrante de otro proceso usando mapeado de memoria (`mmap()`). Las zonas de memoria mapeada contienen una cabecera:

    int nch		/* número de canales */
    int size	/* tamaño del buffer */
    unsigned long long counter	/* Usado para mantener la sincronización, es
    				   actualizado cada vez que se exportan nuevos
    				   datos */

El resto son datos de 16bit de carga (no-interpolados).

`mmapped_file`

  El archivo al que quiere que este filtro exporte. Por defecto se mapea a `~/.mplayer/mplayer-af_export`.

`nsamples`

  Número de muestras por canal. Por defecto es `512` muestras.

Ejemplo:

    mplayer -af export=/tmp/mplayer-af_export:1024 medio.avi

exportaría 1024 muestras por canal a `/tmp/mplayer-af_export`.

## Plugins de audio (desaprobado)

Los plugins de audio han sido supercedidos por los filtros de audio y serán eliminados pronto.

MPlayer tiene soporte para plugins de audio. Los plugins de audio pueden usarse para cambiar las propiedades de los datos de audio antes de que alcancen la tarjeta de sonido. Se activan usando la opción `-aop` que toma como argumento `list=plugin1,plugin2,...`. El argumento `list` es requerido y determina qué plugins deben usarse y en qué orden deben ser ejecutados. Ejemplo:

    mplayer media.avi -aop list=resample,format

enviará el sonido a través del plugin de remuestreo seguido por el plugin de formato.

Los plugins también pueden tener opciones que modifican su comportamiento. Estas opciones son explicadas en detalle en las secciones siguientes. Un plugin se ejecutará usando su configuración por defecto si se omiten opciones. Aquí hay un ejemplo de cómo usar los plugins en combinación con sus opciones específicas:

    mplayer media.avi -aop list=resample,format:fout=44100:format=0x8

establecería la frecuencia de salida del plugin de remuestreo a 44100Hz y el formato de salida del plugin de formato a AFMT_U8.

Actualmente los plugins de audio no pueden usarse en MEncoder.

### Sobre/Submuestreo

MPlayer soporta por completo sobre/submuestreo del sonido. Este plugin puede usarse si tiene una tarjeta de sonido con una frecuencia fija o si tiene una tarjeta de sonido antigua que solo es capaz como máximo de usar 44.1 kHz. Las limitaciones de su hardware no son detectadas automáticamente, por lo que debe especificar la frecuencia de muestreo explícitamente. Este plugin tiene una opcion: `fout` que se usa para establecer la frecuencia de muestreo de salida deseada. Por defecto es 48 kHz, y viene dada en Hz.

Uso:

    mplayer media.avi -aop list=resample:fout=freq

donde `freq` es la frecuencia en Hz, como `44100`.

La frecuencia de salida no debe ser escalada por encima del valor por defecto. Escalar por encima de este valor puede causar que los flujos de audio y video sean reproducidos en movimiento lento además de distorsión del audio.

### Decodificación de Sonido Surround

MPlayer tiene un plugin de audio que puede decodificar sonido codificado con matriz de sonido surround. Dolby Surround es un ejemplo de un formato codificado en matriz. Algunos archivos con 2 canales de audio actualmente contienen sonido surround en matriz. Para usar esta característica necesita una tarjeta de sonido que soporte al menos 4 canales.

Uso:

    mplayer media.avi -aop list=surround

### Conversor de formato de muestreo

Si el controlador de su tarjeta de sonido no soporta tipos de datos enteros de 16-bit con signo, este plugin puede usarse para cambiar el formato a uno que su tarjeta de sonido pueda entender. Tiene una opción, `format`, que puede establecer a uno de los números encontrados en `libao2/afmt.h`. Es muy raro que vaya a necesitar este plugin alguna vez, ademas es para usuarios avanzados. Tenga en mente que este plugin solo cambia el formato de muestreo y no la frecuencia de muestreo o el número de canales.

Uso:

    mplayer media.avi -aop list=format:format=outfmt

donde `outfmt` es el formato de salida requerido.

### Retardo

Este plugin retarda el sonido y está hecho como un ejemplo de cómo se pueden desarrollar nuevos plugins. No puede ser usado para nada útil desde el punto de vista de los usuarios y se menciona aquí únicamente por completitud. No use este plugin a menos que sea un desarrollador.

### Control de volumen por software

Este plugin es un reemplazo de sofware para el control de volumen, y puede ser usado en máquinas con un dispositivo mezclador en mal estado. También puede usarse si se quiere cambiar el volumen de salida de MPlayer sin cambiar la configuración de volumen PCM en el mezclador. Tiene una opción `volume` que se usa para establecer el nivel inicial de sonido. El nivel inicial de sonido puede ser establecido con valores entre 0 y 255 y por defecto 101 que es igual a 0dB de amplificación. Use este plugin con cuidado porque puede reducir la relación señal ruido de el sonido. En la mayoría de los casos es mejor establecer el nivel máximo para el canal PCM, no usar este plugin y controlar el nivel de salida de sus altavoces con el control de volumen principal del mezclador. Si hay un amplificador externo conectado al ordenador (casi siempre es el caso), el nivel de ruido puede minimizarse ajustando el nivel principal y el botón de volumen de el amplificador hasta que el silbido de fondo deje de oirse.

Uso:

    mplayer media.avi -aop list=volume:volume=0-255

Este plugin tiene también capacidades de compresor o "soft-clipping". La compresión puede usarse si el rango dinámigo del sonido es muy alto o si el rango dinámico de los altavoces es muy bajo. tenga en cuenta que esta característica crea distorsión y debe ser considerada como último recurso.

Uso:

    mplayer media.avi -aop list=volume:softclip

### Extrastereo

Este plugin incrementa la diferencia entre los canales izquierdo y derecho linealmente (como el plugin extraestereo de XMMS) lo que produce una especie de efecto "live" durante la reproducción.

Uso:

    mplayer media.avi -aop list=extrastereo
    mplayer media.avi -aop list=extrastereo:mul=3.45

El coeficiente por defecto (`mul`) es un número de punto flotante que vale 2.5, Si lo deja en `0.0`, obtendrá sonido mono (la media de ambos canales). Si lo deja en `1.0`, no obtendrá cambios, si lo deja en `-1.0`, los canales izquierdo y derecho serán intercambiados.

### Normalizador de volumen

Este plugin maximiza el volumen sin distorsionar el sonido.

Uso:

    mplayer media.avi -aop list=volnorm