Mercurial > mplayer.hg
diff DOCS/en/sound.html @ 9382:1b3444713694
Move English files to en/ subdirectory.
author | diego |
---|---|
date | Mon, 10 Feb 2003 00:00:00 +0000 |
parents | DOCS/sound.html@e23939b2ac30 |
children | 6c6ea2b4cfdb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/en/sound.html Mon Feb 10 00:00:00 2003 +0000 @@ -0,0 +1,848 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + +<HEAD> + <TITLE>Sound - MPlayer - The Movie Player for Linux</TITLE> + <LINK REL="stylesheet" TYPE="text/css" HREF="default.css"> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> +</HEAD> + +<BODY> + + +<H3><A NAME="audio">2.3.2 Audio output devices</A></H3> + +<H4><A NAME="sync">2.3.2.1 Audio/Video synchronisation</A></H4> + +<P>MPlayer's audio interface is called <I>libao2</I>. It currently + contains these drivers:</P> + +<DL> + <DT>oss</DT> + <DD>OSS (ioctl) driver (supports hardware AC3 passthrough)</DD> + + <DT>sdl</DT> + <DD>SDL driver (supports sound daemons like <B>ESD</B> and <B>ARTS</B>)</DD> + + <DT>nas</DT> + <DD>NAS (Network Audio System) driver</DD> + + <DT>alsa5</DT> + <DD>native ALSA 0.5 driver</DD> + + <DT>alsa9</DT> + <DD>native ALSA 0.9 driver (supports hardware AC3 passthrough)</DD> + + <DT>sun</DT> + <DD>SUN audio driver (<CODE>/dev/audio</CODE>) for BSD and Solaris8 users</DD> + + <DT>arts</DT> + <DD>native ARTS driver (mostly for KDE users)</DD> + + <DT>esd</DT> + <DD>native ESD driver (mostly for GNOME users)</DD> +</DL> + +<P>Linux sound card drivers have compatibility problems. This is because MPlayer + relies on an in-built feature of <EM>properly</EM> coded sound drivers that + enable them to maintain correct audio/video sync. Regrettably, some driver + authors don't take the care to code this feature since it is not needed for + playing MP3s or sound effects. </P> + +<P>Other media players like <A HREF="http://avifile.sourceforge.net">aviplay</A> + or <A HREF="http://xine.sourceforge.net">xine</A> possibly work + out-of-the-box with these drivers because they use "simple" methods with + internal timing. Measuring showed that their methods are not as efficient + as MPlayer's. </P> + +<P>Using MPlayer with a properly written audio driver will never result + in A/V desyncs related to the audio, except only with very badly created + files (check the man page for workarounds).</P> + +<P>If you happen to have a bad audio driver, try the <CODE>-autosync</CODE> + option, it should sort out your problems. See the man page for detailed + information.</P> + +<P>Some notes:</P> + +<UL> + <LI>If you have an OSS driver, first try <CODE>-ao oss</CODE> (this is the + default). If you experience glitches, halts or anything out of the + ordinary, try <CODE>-ao sdl</CODE> (NOTE: You need to have SDL libraries + and header files installed). The SDL audio driver helps in a lot of cases + and also supports ESD (GNOME) and ARTS (KDE).</LI> + <LI>If you have ALSA version 0.5, then you almost always have to use + <CODE>-ao alsa5</CODE> , since ALSA 0.5 has buggy OSS emulation code, and + will <B>crash MPlayer</B> with a message like this:<BR> + <CODE>DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</CODE></LI> + <LI>On Solaris, use the SUN audio driver with the <CODE>-ao sun</CODE> option, + otherwise neither video nor audio will work.</LI> + <LI>If the sound clicks when playing from CD-ROM, turn on IRQ unmasking, e.g. + <CODE>hdparm -u1 /dev/cdrom</CODE> (<CODE>man hdparm</CODE>). This is + generally beneficial and described in more detail in the + <A HREF="cd-dvd.html#drives">CD-ROM section</A>.</LI> + </UL> + + +<H4><A NAME="experiences">2.3.2.2 Sound Card experiences, recommendations</A></H4> + +<P>On Linux, a 2.4.x kernel is highly recommended. Kernel 2.2 is not tested.</P> + +<P>Linux sound drivers are primarily provided by the free version of OSS. These + drivers have been superceded by <A HREF="http://www.alsa-project.org">ALSA</A> + (Advanced Linux Sound Architecture) in the 2.5 development series. If your + distribution does not already use ALSA you may wish to try their drivers if + you experience sound problems. ALSA drivers are generally superior to OSS in + compatibility, performance and features. But some sound cards are only + supported by the commercial OSS drivers from + <A HREF="http://www.opensound.com/">4Front Technologies</A>. They also support + several non-Linux systems.</P> + +<TABLE BORDER="1" WIDTH="100%"> + + <TR> + <TH ROWSPAN="2"><B>SOUND CARD</B></TH> + <TH COLSPAN="4"><B>DRIVER</B></TH> + <TH ROWSPAN="2"><B>Max kHz</B></TH> + <TH ROWSPAN="2"><B>Max Channels</B></TH> + <TH ROWSPAN="2"><B>Max Opens<FONT SIZE="-2"><A HREF=#note1>[1]</A></FONT></B></TH> + </TR> + + <TR> + <TH><B>OSS/Free</B></TH> + <TH><B>ALSA</B></TH> + <TH><B>OSS/Pro</B></TH> + <TH><B>other</B></TH> + </TR> + + <TR> + <TD><B>VIA onboard (686/A/B, 8233, 8235)</B></TD> + <TD><A HREF="http://sourceforge.net/project/showfiles.php?group_id=3242&release_id=59602">via82cxxx_audio</A></TD> + <TD>snd-via82xx</TD> + <TD> </TD> + <TD> </TD> + <TD>4-48 kHz or 48 kHz only, depending on the chipset</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>Aureal Vortex 2</B></TD> + <TD>none</TD> + <TD>none</TD> + <TD>OK</TD> + <TD><A HREF="http://aureal.sourceforge.net">Linux Aureal Drivers</A><BR> + <A HREF="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2">buffer size increased to 32k</A></TD> + <TD>48</TD> + <TD>4.1</TD> + <TD>5+</TD> + </TR> + + <TR> + <TD><B>SB Live!</B></TD> + <TD>Analog OK, SP/DIF not working</TD> + <TD>Both OK</TD> + <TD>Both OK</TD> + <TD><A HREF="http://opensource.creative.com">Creative's OSS driver (SP/DIF support)</A></TD> + <TD>192</TD> + <TD>4.0/5.1</TD> + <TD>32</TD> + </TR> + + <TR> + <TD><B>SB 128 PCI (es1371)</B></TD> + <TD>OK</TD> + <TD>?</TD> + <TD> </TD> + <TD> </TD> + <TD>48</TD> + <TD>stereo</TD> + <TD>2</TD> + </TR> + + <TR> + <TD><B>SB AWE 64</B></TD> + <TD>max 44kHz</TD> + <TD>48kHz sounds bad</TD> + <TD> </TD> + <TD> </TD> + <TD>48</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>GUS PnP</B></TD> + <TD>none</TD> + <TD>OK</TD> + <TD>OK</TD> + <TD> </TD> + <TD>48</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>Gravis UltraSound ACE</B></TD> + <TD>not OK</TD> + <TD>OK</TD> + <TD> </TD> + <TD> </TD> + <TD>44</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>Gravis UltraSound MAX</B></TD> + <TD>OK</TD> + <TD>OK (?)</TD> + <TD> </TD> + <TD> </TD> + <TD>48</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>ESS 688</B></TD> + <TD>OK</TD> + <TD>OK (?)</TD> + <TD> </TD> + <TD> </TD> + <TD>48</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>C-Media cards (which ones?)</B></TD> + <TD>not OK (hissing) (?)</TD> + <TD>OK</TD> + <TD> </TD> + <TD> </TD> + <TD>?</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>Yamaha cards (*ymf*)</B></TD> + <TD>not OK (?) (maybe <CODE>-ao sdl</CODE>)</TD> + <TD>OK only with ALSA 0.5 with OSS emulation <B>AND</B> + <CODE>-ao sdl</CODE> (!) (?)</TD> + <TD> </TD> + <TD> </TD> + <TD>?</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>Cards with envy24 chips (like Terratec EWS88MT)</B></TD> + <TD>?</TD> + <TD>?</TD> + <TD>OK</TD> + <TD> </TD> + <TD>?</TD> + <TD> </TD> + <TD> </TD> + </TR> + + <TR> + <TD><B>PC Speaker or DAC</B></TD> + <TD>OK</TD> + <TD>none</TD> + <TD> </TD> + <TD><A HREF="http://www.geocities.com/stssppnn/pcsp.html">Linux PC speaker OSS driver</a></TD> + <TD>The driver emulates 44.1, maybe more.</TD> + <TD>mono</TD> + <TD>1</TD> + </TR> + +</TABLE> + +<P><A NAME="note1"><B>[1]</B></A>: the number of applications that are able to use the + device <I>at the same time</I>.</P> + +<P>Feedback to this document is welcome. Please tell us how MPlayer + and your sound card(s) worked together.</P> + + +<H4><A NAME="af">2.3.2.3 Audio filters</A></H4> + +<P>The old audio plugins have been superseded by a new audio filter layer. Audio + filters are used for changing the properties of the audio data before the + sound reaches the sound card. The activation and deactivation of the filters + is normally automated but can be overridden. The filters are activated when + the properties of the audio data differ from those required by the sound card + and deactivated if unnecessary. The <CODE>-af filter1,filter2,...</CODE> + option is used to override the automatic activation of filters or to insert + filters that are not automatically inserted. The filters will be executed as + they appear in the comma separated list.</P> + +<P>Example:<BR> + <CODE>mplayer -af resample,pan movie.avi </CODE></P> + +<P>would run the sound through the resampling filter followed by the pan filter. + Observe that the list must not contain any spaces, else it will fail.</P> + +<P>The filters often have options that change their behavior. These options + are explained in detail in the sections below. A filter will execute using + default settings if its options are omitted. Here is an example of how to use + filters in combination with filter specific options:</P> + +<P> <CODE>mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1 + -srate 11025 media.avi</CODE></P> + +<P>would set the output frequency of the resample filter to 11025Hz and downmix + the audio to 1 channel using the pan filter.</P> + +<P>The overall execution of the filter layer is controlled using the + <CODE>-af-adv</CODE> option. This option has two suboptions:</P> + +<DL> + <DT><CODE>force</CODE><DT> + <DD>is a Bit field that controls how the filters are inserted and what + speed/accuracy optimizations they use: + <DL> + <DT><CODE>0</CODE></DT> + <DD>Use automatic insertion of filters and optimize according to CPU + speed.</DD> + <DT><CODE>1</CODE></DT> + <DD>Use automatic insertion of filters and optimize for the highest + speed.<BR> + <EM>Warning:</EM> Some features in the audio filters may silently fail, + and the sound quality may drop.</DD> + <DT><CODE>2</CODE></DT> + <DD>Use automatic insertion of filters and optimize for quality.</DD> + <DT><CODE>3</CODE></DT> + <DD>Use no automatic insertion of filters and no optimization.<BR> + <I>Warning:</I> It may be possible to crash MPlayer using this + setting.</DD> + <DT><CODE>4</CODE></DT> + <DD>Use automatic insertion of filters according to 0 above, but use + floating point processing when possible.</DD> + <DT><CODE>5</CODE></DT> + <DD>Use automatic insertion of filters according to 1 above, but use + floating point processing when possible.</DD> + <DT><CODE>6</CODE></DT> + <DD>Use automatic insertion of filters according to 2 above, but use + floating point processing when possible.</DD> + <DT><CODE>7</CODE></DT> + <DD>Use no automatic insertion of filters according to 3 above, and use + floating point processing when possible.</DD> + </DL> + </DD> + + <DT><CODE>list</CODE></DT> + <DD>is an alias for the -af option.</DD> +</DL> + +<P>The filter layer is also affected by the following generic options: + +<DL> + <DT><CODE>-v</CODE></DT> + <DD>Increases the verbosity level and makes most filters print out extra + status messages.</DD> + <DT><CODE>-channels</CODE></DT> + <DD>This option sets the number of output channels you would like your + sound card to use. + It also affects the number of channels that are being decoded from the + media. If the media contains less channels than requested the channels + filter (see below) will automatically be inserted. The routing will be the + default routing for the channels filter.</DD> + <DT><CODE>-srate</CODE></DT> + <DD>This option selects the sample rate you would like your sound card to + use (of course the cards have limits on this). If the sample + frequency of your sound card is different from that of the current media, + the resample filter (see below) will be inserted into the audio filter layer + to compensate for the difference.</DD> + <DT><CODE>-format</CODE><DT> + <DD>This option sets the sample format between the audio filter layer and the sound + card. If the requested sample format of your sound card is different from + that of the current media, a format filter (see below) will be inserted to + rectify the difference.</DD> +</DL> + + +<H4><A NAME="af_resample">2.3.2.3.1 Up/Down-sampling</A></H4> + +<P>MPlayer fully supports sound up/down-sampling through the + <CODE>resample</CODE> filter. It can be used if you + have a fixed frequency sound card or if you are stuck with an old sound card + that is only capable of max 44.1kHz. This filter is automatically enabled if + it is necessary, but it can also be explicitly enabled on the command line. It + has three options:</P> + +<DL> + <DT><CODE>srate <8000-192000></CODE></DT> + <DD>is an integer used for setting the output sample + frequency in Hz. The valid range for this parameter is 8kHz to 192kHz. If + the input and output sample frequency are the same or if this parameter is + omitted the filter is automatically unloaded. A high sample frequency + normally improves the audio quality, especially when used in combination + with other filters.</DD> + + <DT><CODE>sloppy</CODE></DT> + <DD>is an optional binary parameter that allows the output frequency to differ + slightly from the frequency given by <CODE>srate</CODE>. This option can be + used if the startup of the playback is extremely slow. It is enabled by + default.</DD> + + <DT><CODE>type <0-2></CODE><DT> + <DD>is an optional integer between <CODE>0</CODE> and <CODE>2</CODE> that + selects which resampling method to use. Here <CODE>0</CODE> represents + linear interpolation as resampling method, <CODE>1</CODE> represents + resampling using a poly-phase filter-bank and integer processing and + <CODE>2</CODE> represents resampling using a poly-phase filter-bank and + floating point processing. Linear interpolation is extremely fast, but + suffers from poor sound quality especially when used for up-sampling. The + best quality is given by <CODE>2</CODE> but this method also suffers from + the highest CPU load.</DD> +</DL> + +<P>Example:<BR> + <CODE>mplayer -af resample=44100:0:0</CODE></P> + +<P>would set the output frequency of the resample filter to 44100Hz using exact + output frequency scaling and linear interpolation.</P> + + +<H4><A NAME="af_channels">2.3.2.3.2 Changing the number of channels</A></H4> + +<P>The <CODE>channels</CODE> filter can be used for adding and removing + channels, it can also be used for routing or copying channels. It is + automatically enabled when the output from the audio filter layer differs from + the input layer or when it is requested by another filter. This filter unloads + itself if not needed. The number of options is dynamic:</P> + +<DL> + <DT><CODE>nch <1-6></CODE></DT> + <DD>is an integer between <CODE>1</CODE> and <CODE>6</CODE> that is used for + setting the number of output channels. This option is required, leaving it + empty results in a runtime error.</DD> + + <DT><CODE>nr <1-6></CODE></DT> + <DD>is an integer between <CODE>1</CODE> and <CODE>6</CODE> that is used for + specifying the number of routes. This parameter is optional. If it is + omitted the default routing is used.</DD> + + <DT><CODE>from1:to1:from2:to2:from3:to3...</CODE></DT> + <DD>are pairs of numbers between <CODE>0</CODE> and <CODE>5</CODE> that define + where each channel should be routed.</DD> +</DL> + +<P>If only <CODE>nch</CODE> is given the default routing is used, it works as + follows: If the number of output channels is bigger than the number of input + channels empty channels are inserted (except mixing from mono to stereo, then + the mono channel is repeated in both of the output channels). If the number of + output channels is smaller than the number of input channels the exceeding + channels are truncated.</P> + +<P>Example 1:<BR> + <CODE>mplayer -af channels=4:4:0:1:1:0:2:2:3:3 media.avi </CODE></P> + +<P>would change the number of channels to 4 and set up 4 routes that swap + channel 0 and channel 1 and leave channel 2 and 3 intact. Observe that if + media containing two channels was played back, channels 2 and 3 would contain + silence but 0 and 1 would still be swapped.</P> + +<P>Example 2:<BR> + <CODE>mplayer -af channels=6:4:0:0:0:1:0:2:0:3 media.avi </CODE></P> + +<P>would change the number of channels to 6 and set up 4 routes that copy + channel 0 to channels 0 to 3. Channel 4 and 5 will contain silence.</P> + + +<H4><A NAME="af_format">2.3.2.3.3 Sample format converter</A></H4> + +<P>The <CODE>format</CODE> filter converts between different sample formats. It + is automatically enabled when needed by the sound card or another filter.</P> + +<DL> + <DT><CODE>bps <number></CODE></DT> + <DD>can be <CODE>1</CODE>, <CODE>2</CODE> or <CODE>4</CODE> and denotes the + number of bytes per sample. This option is required, leaving it empty + results in a runtime error.</DD> + + <DT><CODE>f <format></CODE></DT> + <DD>is a text string describing the sample format. The string is a + concatenated mix of: <CODE>alaw</CODE>, <CODE>mulaw</CODE> or + <CODE>imaadpcm</CODE>, <CODE>float</CODE> or <CODE>int</CODE>, + <CODE>unsigned</CODE> or <CODE>signed</CODE>, <CODE>le</CODE> or + <CODE>be</CODE> (little or big endian). This option is required, leaving it + empty results in a runtime error.</DD> +</DL> + +<P>Example:<BR> + <CODE>mplayer -af format=4:float media.avi</CODE></P> + +<P>would set the output format to 4 bytes per sample floating point + data.</P> + + +<H4><A NAME="af_delay">2.3.2.3.4 Delay</A></H4> + +<P>The <CODE>delay</CODE> filter delays the sound to the loudspeakers such that + the sound from the different channels arrives at the listening position + simultaneously. + It is only useful if you have more than 2 loudspeakers. This filter has a + variable number of parameters:</P> + +<DL> + <DT><CODE>d1:d2:d3...</CODE></DT> + <DD>are floating point numbers representing the delays in ms that should be + imposed on the different channels. The minimum delay is 0ms and the maximum + is 1000ms.</DD> +</DL> + +<P>To calculate the required delay for the different channels do as follows:</P> + +<OL> + <LI>Measure the distance to the loudspeakers in meters in relation to your + listening position, giving you the distances s1 to s5 (for a 5.1 system). + There is no point in compensating for the sub-woofer (you will not hear the + difference anyway).</LI> + <LI>Subtract the distances s1 to s5 from the maximum distance i.e.<BR> + s[i] = max(s) - s[i]; i = 1...5</LI> + <LI>Calculated the required delays in ms as<BR> + d[i] = 1000*s[i]/342; i = 1...5 </LI> +</OL> + +<P>Example:<BR> + <CODE>mplayer -af delay=10.5:10.5:0:0:7:0 media.avi</CODE></P> + +<P>would delay front left and right by 10.5ms, the two rear channels and the sub + by 0ms and the center channel by 7ms.</P> + + +<H4><A NAME="af_volume">2.3.2.3.5 Software volume control</A></H4> + +<P>Software volume control is implemented by the <CODE>volume</CODE> audio + filter. Use this filter with caution since + it can reduce the signal to noise ratio of the sound. In most cases it is best + to set the level for the PCM sound to max, leave this filter out and control + the output level to your speakers with the master volume control of the mixer. + In case your sound card has a digital PCM mixer instead of an analog one, and + you hear distortion, use the MASTER mixer instead. + If there is an external amplifier connected to the computer (this is almost + always the case), the noise level can be minimized by adjusting the master + level and the volume knob on the amplifier until the hissing noise in the + background is gone. This filter has two options:</P> + +<DL> + <DT><CODE>v <-200 - +60></CODE></DT> + <DD>is a floating point number between <CODE>-200</CODE> and <CODE>+60</CODE> + which represents the volume level in dB. The default level is 0dB.</DD> + + <DT><CODE>c</CODE></DT> + <DD>is a binary control that turns soft clipping on and off. Soft-clipping can + make the sound more smooth if very high volume levels are used. Enable this + option if the dynamic range of the loudspeakers is very low. Be aware that + this feature creates distortion and should be considered a last resort.</DD> +</DL> + +<P>Example:<BR> + <CODE>mplayer -af volume=10.1:0 media.avi</CODE></P> + +<P>would amplify the sound by 10.1dB and hard-clip if the sound level is too + high.</P> + +<P>This filter has a second feature: It measures the overall maximum sound level + and prints out that level when MPlayer exits. This volume estimate can be used + for setting the sound level in MEncoder such that the maximum dynamic range is + utilized.</P> + + +<H4><A NAME="af_equalizer">2.3.2.3.6 Equalizer</A></H4> + +<P>The <CODE>equalizer</CODE> filter represents a 10 octave band graphic + equalizer, implemented using 10 IIR + band pass filters. This means that it works regardless of what type of audio + is being played back. The center frequencies for the 10 bands are:</P> + +<TABLE BORDER="0" WIDTH="100%"> + <TR><TD>Band No.</TD><TD>Center frequency</TD></TR> + <TR><TD>0</TD><TD>31.25 Hz</TD></TR> + <TR><TD>1</TD><TD>62.50 Hz</TD></TR> + <TR><TD>2</TD><TD>125.0 Hz</TD></TR> + <TR><TD>3</TD><TD>250.0 Hz</TD></TR> + <TR><TD>4</TD><TD>500.0 Hz</TD></TR> + <TR><TD>5</TD><TD>1.000 kHz</TD></TR> + <TR><TD>6</TD><TD>2.000 kHz</TD></TR> + <TR><TD>7</TD><TD>4.000 kHz</TD></TR> + <TR><TD>8</TD><TD>8.000 kHz</TD></TR> + <TR><TD>9</TD><TD>16.00 kHz</TD></TR> +</TABLE> + +<P>If the sample rate of the sound being played back is lower than the center + frequency for a frequency band, then that band will be disabled. A known bug + with this filter is that the characteristics for the uppermost band are not + completely symmetric if the sample rate is close to the center frequency of + that band. This problem can be worked around by up-sampling the sound using + the resample filter before it reaches this filter. </P> + +<P>This filter has 10 parameters:</P> + +<DL> + <DT><CODE>g1:g2:g3...g10</CODE></DT> + <DD>are floating point numbers between <CODE>-12</CODE> and <CODE>+12</CODE> + representing the gain in dB for each frequency band.</DD> +</DL> + +<P>Example:<BR> + <CODE>mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi</CODE></P> + +<P>would amplify the sound in the upper and lower frequency region while + canceling it almost completely around 1kHz.</P> + + +<H4><A NAME="af_panning">2.3.2.3.7 Panning filter</A></H4> + +<P>Use the <CODE>pan</CODE> filter to mix channels arbitrarily. It is basically + a combination of the volume control and the channels filter. There are two + major uses for this filter:</P> + +<OL> + <LI>Down-mixing many channels to only a few, stereo to mono for example.</LI> + <LI>Varying the "width" of the center speaker in a surround sound system.</LI> +</OL> + +<P>This filter is hard to use, and will require some tinkering before the + desired result is obtained. The number of options for this filter depends on + the number of output channels:</P> + +<DL> + <DT><CODE>nch <1-6></CODE></DT> + <DD>is an integer between <CODE>1</CODE> and <CODE>6</CODE> and is used for + setting the number of output channels. This option is required, leaving it + empty results in a runtime error.</DD> + + <DT><CODE>l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...</CODE></DT> + <DD>are floating point values between <CODE>0</CODE> and <CODE>1</CODE>. + <CODE>l[i][j]</CODE> determines how much of input channel j is mixed into + output channel i.</DD> +</DL> + +<P>Example 1:<BR> + <CODE>mplayer -af pan=1:0.5:0.5 -channels 1 media.avi</CODE></P> + +<P>would down-mix from stereo to mono.</P> + +<P>Example 2:<BR> + <CODE>mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 media.avi</CODE></P> + +<P>would give 3 channel output leaving channels 0 and 1 intact, and mix channels + 0 and 1 into output channel 2 (which could be sent to a sub-woofer for + example).</P> + + +<H4><A NAME="af_sub">2.3.2.3.8 Sub-woofer</A></H4> + +<P>The <CODE>sub</CODE> filter adds a sub woofer channel to the audio stream. + The audio data + used for creating the sub-woofer channel is an average of the sound in channel + 0 and channel 1. The resulting sound is then low-pass filtered by a 4th + order Butterworth filter with a default cutoff frequency of 60Hz and added to + a separate channel in the audio stream. Warning: Disable this filter when you + are playing DVDs with Dolby Digital 5.1 sound, otherwise this filter will + disrupt the sound to the sub-woofer. This filter has two parameters:</P> + +<DL> + <DT><CODE>fc <20-300></CODE></DT> + <DD>is an optional floating point number used for setting the cutoff frequency + for the filter in Hz. The valid range is 20Hz to 300Hz. For the best result + try setting the cutoff frequency as low as possible. This will improve the + stereo or surround sound experience. The default cutoff frequency is + 60Hz.</DD> + + <DT><CODE>ch <0-5></CODE></DT> + <DD>is an optional integer between <CODE>0</CODE> and <CODE>5</CODE> which + determines the channel number in which to insert the sub-channel audio. + The default is channel number <CODE>5</CODE>. Observe that the number of + channels will automatically be increased to <CODE>ch</CODE> if + necessary.</DD> +</DL> + +<P>Example:<BR> + <CODE>mplayer -af sub=100:4 -channels 5 media.avi</CODE></P> + +<P>would add a sub-woofer channel with a cutoff frequency of 100Hz to output + channel 4.</P> + +<H4><A NAME="af_surround">2.3.2.3.9 Surround-sound decoder</A></H4> + +<P>Matrix encoded surround sound can be decoded by the <CODE>surround</CODE> + filter. Dolby Surround is + an example of a matrix encoded format. Many files with 2 channel audio + actually contain matrixed surround sound. To use this feature you need a sound + card supporting at least 4 channels. This filter has one parameter:</P> + +<DL> + <DT><CODE>d <0-1000></CODE></DT> + <DD>is an optional floating point number between <CODE>0</CODE> and + <CODE>1000</CODE> used for setting the delay time in ms for the rear + speakers. This delay should be set as follows: if d1 is the distance from + the listening position to the front speakers and d2 is the distance from + the listening position to the rear speakers, then the delay <CODE>d</CODE> + should be set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2. + The default value for <CODE>d</CODE> is 20ms.</DD> +</DL> + +<P>Example:<BR> + <CODE>mplayer -af surround=15 -channels 4 media.avi</CODE></P> + +<P>would add surround sound decoding with 15ms delay for the sound to the rear + speakers.</P> + + +<H4><A NAME="plugins">2.3.2.4 Audio plugins (deprecated)</A></H4> + +<H2><STRONG>Note: Audio plugins have been deprecated by audio filters and will be + removed soon.</STRONG></H2> + +<P>MPlayer has support for audio plugins. Audio plugins can be used to + change the properties of the audio data before it reaches the sound + card. They are enabled using the <CODE>-aop</CODE> option which takes a + <CODE>list=plugin1,plugin2,...</CODE> argument. The <CODE>list</CODE> argument + is required and determines which plugins should be used and in which order they + should be executed. Example:</P> + +<P> <CODE>mplayer media.avi -aop list=resample,format</CODE></P> + +<P>would run the sound through the resampling plugin followed by the format + plugin.</P> + +<P>The plugins can also have options that change their behavior. These + options are explained in detail in the sections below. A plugin will execute + using default settings if its options are omitted. Here is an example of how + to use plugins in combination with plugin specific options:</P> + +<P> <CODE>mplayer media.avi -aop + list=resample,format:fout=44100:format=0x8</CODE></P> + +<P>would set the output frequency of the resample plugin to 44100Hz and the + output format of the format plugin to AFMT_U8.</P> + +<P>Currently audio plugins cannot be used in MEncoder.</P> + + +<H4><A NAME="resample">2.3.2.4.1 Up/Downsampling</A></H4> + +<P>MPlayer fully supports up/downsampling of the sound. This plugin can + be used if you have a fixed frequency sound card or if you are + stuck with an old sound card that is only capable of max 44.1kHz. + MPlayer <EM>autodetects</EM> whether or not usage of this plugin is necessary. + This plugin has one option, <CODE>fout</CODE>, which is used for setting the + desired output sample frequency. The value is given in Hz, and defaults to + 48kHz.</P> + +<P>Usage:<BR> + <CODE>mplayer media.avi -aop list=resample:fout=<required + frequency in Hz, like 44100></CODE></P> + +<P>Note that the output frequency should not be scaled up from the default value. + Scaling up will cause the audio and video streams to be played in slow motion + and cause audio distortion.</P> + + +<H4><A NAME="surround_decoding">2.3.2.4.2 Surround Sound decoding</A></H4> + +<P>MPlayer has an audio plugin that can decode matrix encoded + surround sound. Dolby Surround is an example of a matrix encoded format. + Many files with 2 channel audio actually contain matrixed surround sound. + To use this feature you need a sound card supporting at least 4 channels.</P> + +<P>Usage:<BR> + <CODE>mplayer media.avi -aop list=surround</CODE></P> + + +<H4><A NAME="format">2.3.2.3.3 Sample format converter</A></H4> + +<P>If your sound card driver does not support signed 16bit <CODE>int</CODE> data type, + this plugin can + be used to change the format to one which your sound card can understand. It + has one option, <CODE>format</CODE>, which can be set to one of the numbers + found in <CODE>libao2/afmt.h</CODE>. This plugin is hardly ever needed and is + intended for advanced users. Keep in mind that this plugin only changes the + sample format and not the sample frequency or the number of channels.</P> + +<P>Usage:<BR> + <CODE>mplayer media.avi -aop + list=format:format=<required output format></CODE></P> + + +<H4><A NAME="delay">2.3.2.4.4 Delay</A></H4> + +<P>This plugin delays the sound and is intended as an example of how to develop + new plugins. It can not be used for anything useful from a users perspective + and is mentioned here for the sake of completeness only. Do not use this + plugin unless you are a developer.</P> + +<P>If you have a file with a consistent A/V sync fault, use the <CODE>+/-</CODE> + keys to adjust timings on-the-fly instead. Usage of the OSD is recommended + to make this easier.</P> + + +<H4><A NAME="volume">2.3.2.4.5 Software volume control</A></H4> + +<P>This plugin is a software replacement for the volume control, and + can be used on machines with a broken mixer device. It can also be + used if one wants to change the output volume of MPlayer + without changing the PCM volume setting in the mixer. It has one + option <CODE>volume</CODE> that is used for setting the initial + sound level. The initial sound level can be set to values between 0 + and 255 and defaults to 101 which equals 0dB amplification. Use this + plugin with caution since it can reduce the signal to noise ratio of + the sound. In most cases it is best to set the level for the PCM + sound to max, leave this plugin out and control the output level to + your speakers with the MASTER volume control of the mixer. + In case your sound card has a digital PCM mixer instead of an analog one, and + you hear distortion, use the MASTER mixer instead. + external amplifier connected to the computer (this is almost always + the case), the noise level can be minimized by adjusting the master + level and the volume knob on the amplifier until the hissing noise + in the background is gone.</P> + +<P>Usage:<BR> + <CODE>mplayer media.avi -aop + list=volume:volume=<0-255></CODE></P> + +<P>This plugin also has compressor or "soft-clipping" capabilities. + Compression can be used if the dynamic range of the sound is very + high or if the dynamic range of the loudspeakers is very + low. Be aware that this feature creates distortion and should be + considered a last resort.</P> + +<P>Usage:<BR> + <CODE>mplayer media.avi -aop + list=volume:softclip</CODE></P> + + +<H4><A NAME="extrastereo">2.3.2.4.6 Extrastereo</A></H4> + +<P>This plugin (linearly) increases the difference between left and right + channels (like the XMMS extrastereo plugin) which gives some sort of "live" + effect to playback.</P> + +<P>Usage:<BR> + <CODE>mplayer media.avi -aop list=extrastereo</CODE><BR> + <CODE>mplayer media.avi -aop list=extrastereo:mul=3.45</CODE></P> + +<P>The default coefficient (<CODE>mul</CODE>) is a float number that defaults + to 2.5. If you set it to 0.0, you will have mono sound (average of both + channels). If you set it to 1.0, sound will be unchanged, if you set it to + -1.0, left and right channels will be swapped.</P> + + +<H4><A NAME="normalizer">2.3.2.4.7 Volume normalizer</A></H4> + +<P>This plugin maximizes the volume without distorting the sound.</P> + +<P>Usage:<BR> + <CODE>mplayer media.avi -aop list=volnorm</CODE><BR> + + +</BODY> +</HTML>