<?xml version="1.0" encoding="iso-8859-1"?>
<!-- synced with 1.18 -->
<sect2 id="audio-dev">
<title>Dispositivos de salida de audio</title>
<sect3 id="sync">
<title>Sincronización de Audio/Video</title>

<para>
La interfaz de audio de <application>MPlayer</application> se llama
<emphasis>libao2</emphasis>. Actualmente contiene los siguientes
controladores:
</para>

<informaltable>
<tgroup cols="2">
<thead>
  <row><entry>Controlador</entry><entry>Comentario</entry></row>
</thead>
<tbody>
<row><entry>oss</entry><entry>
  controlador OSS (ioctl) (soporta hardware AC3 passthrough)
  </entry></row>
<row><entry>sdl</entry><entry>
  controlador SDL (soporta demonios de sonido como <emphasis role="bold">ESD</emphasis>
  y <emphasis role="bold">ARTS</emphasis>)
  </entry></row>
<row><entry>nas</entry><entry>
  controlador NAS (Network Audio System)
  </entry></row>
<row><entry>alsa5</entry><entry>
  controlador nativo ALSA 0.5
  </entry></row>
<row><entry>alsa9</entry><entry>
  controlador nativo ALSA 0.9 (soporta hardware AC3 passthrough)
  </entry></row>
<row><entry>sun</entry><entry>
  controlador de sonido SUN (<filename>/dev/audio</filename>) para usuarios de BSD y Solaris8
  </entry></row>
<row><entry>macosx</entry><entry>
  controlador MacOSX nativo
  </entry></row>
<row><entry>win32</entry><entry>
  controlador Win32 nativo
  </entry></row>
<row><entry>arts</entry><entry>
  controlador ARTS nativo (mayormente para usuarios de KDE)
  </entry></row>
<row><entry>esd</entry><entry>
  controlador ESD nativo (mayormente para usuarios de GNOME)
  </entry></row>
<row><entry>jack</entry><entry>
  controlador JACK (Kit de conección de audio Jack)
</entry></row>
</tbody>
</tgroup>
</informaltable>

<para>
Los controladores para tarjetas de sonido en Linux tienen problemas
de compatibilidad. Por ese motivo <application>MPlayer</application>
tiene la característica de tener <emphasis>propiamente</emphasis>
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.
</para>

<para>
Otros reproductores de medios como
<ulink url="http://avifile.sourceforge.net">aviplay</ulink>
o <ulink url="http://xine.sourceforge.net">xine</ulink> 
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
<application>MPlayer</application>.
</para>

<para>
Usando <application>MPlayer</application> 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).
</para>

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

<itemizedlist>
<title>Algunas notas:</title>
<listitem><para>
  Si tiene un controlador OSS, primero pruebe <option>-ao oss</option> (este
  es el que se usa por defecto). Si experimenta cortes, tirones o algo fuera
  de lo normal, pruebe <option>-ao sdl</option> (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).
  </para></listitem>
<listitem><para>
  Si tiene la versión 0.5 de ALSA, entonces casi siempre tendrá que usar
  <option>-ao alsa5</option>, porque ALSA 0.5 tiene un código de emulación
  de OSS que falla, y puede <emphasis role="bold">hacer fallar
  <application>MPlayer</application></emphasis> con un mensaje como este:
  <screen>
DEMUXER: Demasiados (945 en 8390980 bytes) paquetes de video en el buffer!<!--
--></screen>
  </para></listitem>
<listitem><para>
  En Solaris, use el controlador de audio de SUN con la opción <option>-ao sun</option>,
  si no lo hace no funcionará ni el video ni el audio.
  </para></listitem>
<listitem><para>
  Si el sonido se entrecorta mientras se reproduce desde un CD-ROM, active
  el enmascaramiento de IRQ, e.g. <command>hdparm -u1 /dev/cdrom</command>
  (<command>man hdparm</command>). Normalmente siempre es buena idea y se
  describe con más detalle en la sección de <link linkend="drives">CD-ROM</link>.
 </para></listitem>
</itemizedlist>
</sect3>

<sect3 id="experiences">
<title>Experiencias con tarjetas de sonido, recomendaciones</title>
<para>
En Linux, es altamente recomendado el uso de un kernel 2.4.x. El kernel 2.2
no ha sido probado.
</para>

<para>
Los controladores de sonido de Linux son principalmente proporcionados
mediante una versión libre de OSS. Estos controladores han sido reemplazados
por <ulink url="http://www.alsa-project.org">ALSA</ulink> (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
<ulink url="http://www.opensound.com/">4Front Technologies</ulink>.
Estos también tienen soporte para varios sistemas no-Linux.
</para>

<informaltable>
<tgroup cols="8">
  <colspec colname="c1"/>
  <colspec colname="c2"/>
  <colspec colname="c3"/>
  <colspec colname="c4"/>
  <colspec colname="c5"/>
  <colspec colname="c6"/>
  <colspec colname="c7"/>
  <colspec colname="c8"/>
  <spanspec spanname="driver" namest="c2" nameend="c5"/>
  <spanspec spanname="ossfree" namest="c2" nameend="c2"/>
  <spanspec spanname="alsa" namest="c3" nameend="c3"/>
  <spanspec spanname="osspro" namest="c4" nameend="c4"/>
  <spanspec spanname="others" namest="c5" nameend="c5"/>
<thead>
  <row>
    <entry morerows="2" valign="middle">TARJETA DE SONIDO</entry>
    <entry spanname="driver">CONTROLADOR</entry>
    <entry morerows="2" valign="middle">Max kHz</entry>
    <entry morerows="2" valign="middle">Max Canales</entry>
    <entry morerows="2" valign="middle">Max Opens
      <footnote id="maxopens">
        <para>el número de aplicaciones que pueden usar el dispositivo
          <emphasis>a la vez</emphasis>.</para>
      </footnote>
    </entry>
  </row>

  <row>
    <entry spanname="ossfree">OSS/Free</entry>
    <entry spanname="alsa">ALSA</entry>
    <entry spanname="osspro">OSS/Pro</entry>
    <entry spanname="others">otros</entry>
  </row>
</thead>

<tbody>
  <row>
    <entry>VIA onboard (686/A/B, 8233, 8235)</entry>
    <entry>
      <ulink url="http://sourceforge.net/project/showfiles.php?group_id=3242&amp;release_id=59602">via82cxxx_audio</ulink>
    </entry>
    <entry>snd-via82xx</entry>
    <entry></entry>
    <entry></entry>
    <entry>4-48 kHz o 48 kHz solo, dependiendo del chipset</entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>Aureal Vortex 2</entry>
    <entry>no</entry>
    <entry>no</entry>
    <entry>OK</entry>
    <entry>
      <ulink url="http://aureal.sourceforge.net">Linux Aureal Drivers</ulink>
      <ulink url="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2">tamaño del buffer incrementado a 32k</ulink>
    </entry>
    <entry>48</entry>
    <entry>4.1</entry>
    <entry>5+</entry>
  </row>

  <row>
    <entry>SB Live!</entry>
    <entry>Analog OK, SP/DIF no funciona</entry>
    <entry>Ambos OK</entry>
    <entry>Ambos OK</entry>
    <entry>
      <ulink url="http://opensource.creative.com">Creative's OSS driver (soporte SP/DIF)</ulink>
    </entry>
    <entry>192</entry>
    <entry>4.0/5.1</entry>
    <entry>32</entry>
  </row>

  <row>
    <entry>SB 128 PCI (es1371)</entry>
    <entry>OK</entry>
    <entry>?</entry>
    <entry></entry>
    <entry></entry>
    <entry>48</entry>
    <entry>stereo</entry>
    <entry>2</entry>
  </row>

  <row>
    <entry>SB AWE 64</entry>
    <entry>max 44kHz</entry>
    <entry>48kHz sounds bad</entry>
    <entry></entry>
    <entry></entry>
    <entry>48</entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>GUS PnP</entry>
    <entry>no</entry>
    <entry>OK</entry>
    <entry>OK</entry>
    <entry></entry>
    <entry>48</entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>Gravis UltraSound ACE</entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>Gravis UltraSound MAX</entry>
    <entry>OK</entry>
    <entry>OK (?)</entry>
    <entry></entry>
    <entry></entry>
    <entry>48</entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>ESS 688</entry>
    <entry>OK</entry>
    <entry>OK (?)</entry>
    <entry></entry>
    <entry></entry>
    <entry>48</entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>Tarjetas C-Media (CMI8338/8738)</entry>
    <entry>OK</entry>
    <entry>OK SP/DIF funciona con ALSA 0.9.x</entry>
    <entry>?</entry>
    <entry></entry>
    <entry>44</entry>
    <entry>estéreo</entry>
    <entry>1</entry>
  </row>

  <row>
    <entry>Tarjetas Yamaha (*ymf*)</entry>
    <entry>no OK (?) (quizá <option>-ao sdl</option>)</entry>
    <entry>OK solo con ALSA 0.5 con emulación OSS
      <emphasis role="bold">Y</emphasis> <option>-ao sdl</option> (!) (?)</entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>Tarjetas con chips envy24 (como Terratec EWS88MT)</entry>
    <entry>?</entry>
    <entry>?</entry>
    <entry>OK</entry>
    <entry></entry>
    <entry>?</entry>
    <entry></entry>
    <entry></entry>
  </row>

  <row>
    <entry>PC Speaker o DAC</entry>
    <entry>OK</entry>
    <entry>no</entry>
    <entry></entry>
    <entry>
      <ulink url="http://www.geocities.com/stssppnn/pcsp.html">Linux PC speaker OSS driver</ulink>
    </entry>
    <entry>El controlador emula 44.1, quizá más.</entry>
    <entry>mono</entry>
    <entry>1</entry>
  </row>

</tbody>
</tgroup>
</informaltable>

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

<sect3 id="af">
<title>Filtros de audio</title>
<para>
  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
  <option>-af filtro1,filtro2,...</option> 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.
</para>

<para>
Ejemplo:
<screen>mplayer -af resample,pan <replaceable>movie.avi</replaceable></screen>
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á.
</para>

<para>
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:
<screen>mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1 -srate 11025 <replaceable>media.avi</replaceable></screen>
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.
</para>


<para>
La ejecución general de la capa de filtros es controlada usando la
opción <option>-af-adv</option>. Esta opción tiene dos subopciones:
</para>

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

<variablelist>
<varlistentry>
<term><option>0</option></term>
<listitem><para>
Usar inserción automática de filtros y optimizar de acuerdo a la velocidad de la CPU.
</para></listitem>
</varlistentry>

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

<varlistentry>
<term><option>2</option></term>
<listitem><para>
Usar inserción automática de filtros y optimizar para calidad.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>3</option></term>
<listitem><para>
No usar inserción automática de filtros ni optimización.
<emphasis>Advertencia:</emphasis> Es posible hacer fallar a <application>MPlayer</application> utilizando esta opci&oacute;n.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>4</option></term>
<listitem><para>
Usar inserción automática de filtros igual que el 0 de más arriba,
pero utilizando procesamiento de punto flotante cuando sea posible.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>5</option></term>
<listitem><para>
Usar inserción automática de filtros como el 1 de más arriba,
pero utilizando procesamiento de punto flotante cuando sea posible.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>6</option></term>
<listitem><para>
Usar inserción automática de filtros como el 2 de más arriba,
pero utilizando procesamiento de punto flotante cuando sea posible.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>7</option></term>
<listitem><para>
No usar inserción automática de filtros como el 3 de más arriba,
y utilizar procesamiento de punto flotante cuando sea posible.
</para></listitem>
</varlistentry>
</variablelist>

<para>
<option>list</option> es un alias de la opción -af.
</para>

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

<variablelist>
<varlistentry>
<term><option>-v</option></term>
<listitem><para>
Incrementa el nivel de verbosidad y hace que la mayoría de
los filtros impriman mensajes de estado extras.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-channels</option></term>
<listitem><para>
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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>-srate</option></term>
<listitem><para>
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.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-format</option></term>
<listitem><para>
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.
</para></listitem>
</varlistentry>
</variablelist>

<sect4 id="af_resample">
<title>Super/Submuestreo</title>

<para>
<application>MPlayer</application> soporta completamente
super/sub-muestreo de sonido a través del filtro <option>resample</option>.
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:
</para>

<variablelist>
<varlistentry>
<term><option>srate &lt;8000-192000&gt;</option></term>
<listitem><para>
    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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>sloppy</option></term>
<listitem><para>
    es un parámetro binario opcional que permite que la frecuencia de salida
    sea ligeramente diferente que la frecuencia dada por <option>srate</option>.
    Esta opción puede ser usada si el inicio de la reproducción es extremadamente
    lento. Está activado por defecto.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>type &lt;0-2&gt;</option></term>
<listitem><para>
    es un entero opcional entre <literal>0</literal> y <literal>2</literal> que
    elije el método de muestreo a usar. Aquí <literal>0</literal> representa
    interpolación lineal como método de muestreo, <literal>1</literal> representa
    muestreo usando un banco de filtros de poli-fase y procesamiento con enteros y
    <literal>2</literal> 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 <literal>2</literal>
    pero este método también sufre de una gran carga de la CPU.
</para></listitem>
</varlistentry>
</variablelist>

<para>Ejemplo:
<screen>mplayer -af resample=44100:0:0</screen>
establecería la frecuencia de salida del filtro de muestreo a 44100Hz usando
escalado exacto de la frecuencia de salida e interpolación lineal.
</para>
</sect4>

<sect4 id="af_channels">
<title>Cambiando el número de canales</title>
<para>
El filtro <option>channels</option> 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:
</para>

<variablelist>
<varlistentry>
<term><option>nch &lt;1-6&gt;</option></term>
<listitem><para>
  es un entero entre <literal>1</literal> y <literal>6</literal> 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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>nr &lt;1-6&gt;</option></term>
<listitem><para>
  es un entero entre <literal>1</literal> y <literal>6</literal> que es usado para
  especificar el número de rutas. Este parámetro es opcional, Si se omite
  se usará el enrutamiento por defecto.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>from1:to1:from2:to2:from3:to3...</option></term>
<listitem><para>
  son pares de números entre <literal>0</literal> y <literal>5</literal>
  que definen donde debe ser enrutado cada canal.
</para></listitem>
</varlistentry>
</variablelist>

<para>
  Si solo se da <option>nch</option> 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.
</para>

<para>
Ejemplo 1:
<screen>mplayer -af channels=4:4:0:1:1:0:2:2:3:3 <replaceable>media.avi</replaceable></screen>
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.
</para>

<para>
Ejemplo 2:
<screen>mplayer -af channels=6:4:0:0:0:1:0:2:0:3 <replaceable>media.avi</replaceable></screen>
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.
</para>
</sect4>

<sect4 id="af_format">
<title>Conversor del formato de muestreo</title>
<para>
El filtro <option>format</option> convierte entre diferentes formatos de muestreo.
  Se activa automáticamente cuando es necesario por la tarjeta de sonido u otro
  filtro.
</para>

<variablelist>
<varlistentry>
<term><option>bps &lt;number&gt;</option></term>
<listitem><para>
    puede ser <literal>1</literal>, <literal>2</literal> o <literal>4</literal> 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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>f &lt;format&gt;</option></term>
<listitem><para>
    es una cadena de texto que describe el formato de muestreo. La cadena es
    una concatenación de: <option>alaw</option>, <option>mulaw</option> o
    <option>imaadpcm</option>, <option>float</option> o <option>int</option>,
    <option>unsigned</option> o <option>signed</option>, <option>le</option> o
    <option>be</option> (little o big endian). Esta opción es requerida,
    dejarla vacía resultará en un error en tiempo de ejecución.
</para></listitem>
</varlistentry>
</variablelist>

<para>
Ejemplo:
<screen>mplayer -af format=4:float <replaceable>media.avi</replaceable></screen>
establecerá el formato de salida a 4 bytes por muestra en datos en punto flotante.
</para>
</sect4>

<sect4 id="af_delay">
<title>Retardo</title>
<para>
El filtro <option>delay</option> 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:
</para>

<variablelist>
<varlistentry>
<term><option>d1:d2:d3...</option></term>
<listitem><para>
    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></listitem>
</varlistentry>
</variablelist>

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

<orderedlist>
<listitem><para>
    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).
</para></listitem>
<listitem><para>
Restele las distancias s1 a s5 a la distancia máxima, p.e.
    s[i] = max(s) - s[i]; i = 1...5
</para></listitem>
<listitem><para>
Calcule el retardo requerido en ms como
    d[i] = 1000*s[i]/342; i = 1...5
</para></listitem>
</orderedlist>

<para>
Ejemplo:
<screen>mplayer -af delay=10.5:10.5:0:0:7:0 <replaceable>media.avi</replaceable></screen>
retardaría delantero izquierdo y derecho en 10.5ms, los dos canales traseros
y el sub en 0ms y el canal central en 7ms.
</para>

</sect4>

<sect4 id="af_volume">
<title>Control de volumen por software</title>
<para>El control de volumen de software está implementado mediante el
filtro de audio <option>volume</option>. 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:
</para>

<variablelist>
<varlistentry>
<term><option>v &lt;-200 - +60&gt;</option></term>
<listitem><para>
    es un número de punto flotante entre <literal>-200</literal> and <literal>+60</literal>
    que representa el nivel de volumen en dB. El valor por defecto es 0dB.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>c</option></term>
<listitem><para>
    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.
</para></listitem>
</varlistentry>
</variablelist>

<para>
Ejemplo:
<screen>mplayer -af volume=10.1:0 <replaceable>media.avi</replaceable></screen>
amplificariá el sonido por 10.1dB y hard-clip si el nivel de sonido es demasiado alto.
</para>

<para>
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
<application>MEncoder</application> y asi utilizar el máximo rango dinámico.
</para>
</sect4>

<sect4 id="af_equalizer">
<title>Ecualizador</title>
<para>
El filtro <option>equalizer</option> 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:
</para>

<informaltable>
<tgroup cols="2">
<thead>
  <row>
    <entry>Banda No.</entry><entry>Frecuencia central</entry>
  </row>
</thead>
<tbody>
  <row><entry>0</entry><entry>31.25 Hz</entry></row>
  <row><entry>1</entry><entry>62.50 Hz</entry></row>
  <row><entry>2</entry><entry>125.0 Hz</entry></row>
  <row><entry>3</entry><entry>250.0 Hz</entry></row>
  <row><entry>4</entry><entry>500.0 Hz</entry></row>
  <row><entry>5</entry><entry>1.000 kHz</entry></row>
  <row><entry>6</entry><entry>2.000 kHz</entry></row>
  <row><entry>7</entry><entry>4.000 kHz</entry></row>
  <row><entry>8</entry><entry>8.000 kHz</entry></row>
  <row><entry>9</entry><entry>16.00 kHz</entry></row>
</tbody>
</tgroup>
</informaltable>

<para>
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.
</para>

<para>
Este filtro tiene 10 parámetros:
</para>

<variablelist>
<varlistentry>
<term><option>g1:g2:g3...g10</option></term>
<listitem><para>
son números de punto flotante entre <literal>-12</literal> y <literal>+12</literal>
que representan la ganancia en dB para cada banda de frecuencia.
</para></listitem>
</varlistentry>
</variablelist>

<para>
Ejemplo:
<screen>mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 <replaceable>media.avi</replaceable></screen>
amplificaría el sonido en la región superior e inferior de frecuencia mientras
cancela casi por completo alrededor de 1kHz.
</para>
</sect4>

<sect4 id="af_panning">
<title>Filtro de panning</title>
<para>
Use el filtro <option>pan</option> 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:
</para>

<orderedlist>
<listitem><para>
Sub-Mezclando varios canales a solo unos pocos, estéreo a mono por ejemplo.
</para></listitem>
<listitem><para>
Variando el &quot;ancho&quot; del altavoz central en un sistema de sonido surround.
</para></listitem>
</orderedlist>

<para>
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:
</para>

<variablelist>
<varlistentry>
<term><option>nch &lt;1-6&gt;</option></term>
<listitem><para>
es un entero entre <literal>1</literal> and <literal>6</literal> 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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...</option></term>
<listitem><para>
son números de punto flotante entre <literal>0</literal> y <literal>1</literal>.
<option>l[i][j]</option> determina cuanto del canal de entrada j es 
mezclado en el canal de salida i.
</para></listitem>
</varlistentry>
</variablelist>

<para>
Ejemplo 1:
<screen>mplayer -af pan=1:0.5:0.5 -channels 1 <replaceable>media.avi</replaceable></screen>
Sub-mezclará de estéreo a mono.
</para>

<para>
Ejemplo 2:
<screen>mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 <replaceable>media.avi</replaceable></screen>
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).
</para>
</sect4>

<sect4 id="af_sub">
<title>Sub-woofer</title>
<para>
El filtro <option>sub</option> 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:
</para>

<variablelist>
<varlistentry>
<term><option>fc &lt;20-300&gt;</option></term>
<listitem><para>
    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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>ch &lt;0-5&gt;</option></term>
<listitem><para>
    es un entero opcional entre <literal>0</literal> y <literal>5</literal>
    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 <literal>5</literal>. Observe que el
    número de canales automáticamente será incrementado a
    <replaceable>ch</replaceable> si es necesario.
</para></listitem>
</varlistentry>
</variablelist>

<para>
Ejemplo:
<screen>mplayer -af sub=100:4 -channels 5 <replaceable>media.avi</replaceable></screen>
añadiría un canal de sub-woofer con una frecuencia de corte de
100Hz al canal de salida 4.
</para>
</sect4>

<sect4 id="af_surround">
<title>Decodificador de Surround-sound</title>
<para>
El sonido codificado con matriz de codificación de surround puede ser
decodificado con el filtro <option>surround</option>. 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:
</para>

<variablelist>
<varlistentry>
<term><option>d &lt;0-1000&gt;</option></term>
<listitem><para>
es un número de punto flotante opcional entre <literal>0</literal> y
<literal>1000</literal> 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 &lt;= d2 y
a 15 + 5*(d1-d2) si d1 &gt; d2. El valor por defecto para d es 20ms.
</para></listitem>
</varlistentry>
</variablelist>

<para>
Ejemplo:
<screen>mplayer -af surround=15 -channels 4 <replaceable>media.avi</replaceable></screen>
añadiría decodificación de sonido surround con 15ms de retardo para el
sonido de los altavoces traseros.
</para>
</sect4>

<sect4 id="af_export">
<title>Exportador de audio</title>
<para>
Este filtro de audio exporta la señal entrante de otro proceso usando mapeado
de memoria (<literal>mmap()</literal>). Las zonas de memoria mapeada contienen
una cabecera:

<programlisting>
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 */
</programlisting>

El resto son datos de 16bit de carga (no-interpolados).
</para>

<variablelist>
<varlistentry>
<term><option>mmapped_file</option></term>
<listitem><para>
El archivo al que quiere que este filtro exporte. Por defecto se mapea a
<filename>~/.mplayer/mplayer-af_export</filename>.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>nsamples</option></term>
<listitem><para>
Número de muestras por canal. Por defecto es <literal>512</literal> muestras.
</para></listitem>
</varlistentry>
</variablelist>

<para>
Ejemplo:
<screen>mplayer -af export=/tmp/mplayer-af_export:1024 medio.avi</screen>
exportaría 1024 muestras por canal a <filename>/tmp/mplayer-af_export</filename>.
</para>
</sect4>

</sect3>

<sect3 id="audio-plugins">
<title>Plugins de audio (desaprobado)</title>
<note><para><emphasis role="bold">Los plugins de audio han sido supercedidos 
por los filtros de audio y serán eliminados pronto.</emphasis></para></note>

<para>
<application>MPlayer</application> 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 <option>-aop</option> que toma como argumento
<option>list=plugin1,plugin2,...</option>. El argumento <option>list</option>
es requerido y determina qué plugins deben usarse y en qué orden deben ser
ejecutados. Ejemplo:

<screen>mplayer <replaceable>media.avi</replaceable> -aop list=resample,format</screen>
enviará el sonido a través del plugin de remuestreo seguido por el plugin
de formato.
</para>

<para>
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:

<screen>mplayer <replaceable>media.avi</replaceable> -aop list=resample,format:fout=44100:format=0x8</screen>
establecería la frecuencia de salida del plugin de remuestreo a 44100Hz y el
formato de salida del plugin de formato a AFMT_U8.
</para>

<para>
Actualmente los plugins de audio no pueden usarse en
<application>MEncoder</application>.
</para>


<sect4 id="updn-sampling">
<title>Sobre/Submuestreo</title>

<para>
<application>MPlayer</application> 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: <option>fout</option>
que se usa para establecer la frecuencia de muestreo de salida deseada. Por defecto es
48 kHz, y viene dada en Hz.
</para>

<para>
Uso:

<screen>
mplayer <replaceable>media.avi</replaceable> -aop list=resample:fout=<replaceable>freq</replaceable></screen>

donde <literal><replaceable>freq</replaceable></literal> es la frecuencia
en Hz, como <literal>44100</literal>.
</para>

<note>
<para>
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.
</para>
</note>
</sect4>


<sect4 id="surround-decode">
<title>Decodificación de Sonido Surround</title>

<para>
<application>MPlayer</application> 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.
</para>

<para>
Uso:
<screen>mplayer <replaceable>media.avi</replaceable> -aop list=surround</screen>
</para>
</sect4>


<sect4 id="sample-format-conv">
<title>Conversor de formato de muestreo</title>

<para>
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,
<option>format</option>, que puede establecer a uno de los números encontrados
en <filename>libao2/afmt.h</filename>. 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.
</para>

<para>
Uso:

<screen>
mplayer <replaceable>media.avi</replaceable> -aop list=format:format=<replaceable>outfmt</replaceable></screen>

donde <literal><replaceable>outfmt</replaceable></literal> es el
formato de salida requerido.
</para>
</sect4>


<sect4 id="audio-delay">
<title>Retardo</title>
<para>
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.
</para>
</sect4>


<sect4 id="sw-volume">
<title>Control de volumen por software</title>

<para>
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
<application>MPlayer</application> sin cambiar la configuración de volumen
PCM en el mezclador. Tiene una opción <option>volume</option> 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.
</para>

<para>
Uso:
<screen>
mplayer <replaceable>media.avi</replaceable> -aop list=volume:volume=<replaceable>0-255</replaceable></screen>
</para>

<para>
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.
</para>

<para>
Uso:
<screen>
mplayer <replaceable>media.avi</replaceable> -aop list=volume:softclip</screen>
</para>
</sect4>

<sect4 id="extrastereo">
<title>Extrastereo</title>

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

<para>
Uso:
<screen>
mplayer <replaceable>media.avi</replaceable> -aop list=extrastereo
mplayer <replaceable>media.avi</replaceable> -aop list=extrastereo:mul=3.45<!--
--></screen>

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


<sect4 id="volnorm">
<title>Normalizador de volumen</title>

<para>
Este plugin maximiza el volumen sin distorsionar el sonido.
</para>

<para>
Uso:
<screen>mplayer <replaceable>media.avi</replaceable> -aop list=volnorm</screen>
</para>
</sect4>
</sect3>
</sect2>
