1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-30 11:02:10 +00:00
mpv/DOCS/xml/pl/audio.xml
paszczi be039de030 sync
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14458 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-10 22:25:39 +00:00

1019 lines
34 KiB
XML

<?xml version="1.0" encoding="iso-8859-2"?>
<!-- synced with 1.28 -->
<sect1 id="audio">
<title>Urządzenia wyjściowe audio</title>
<sect2 id="sync">
<title>Synchronizacja Audio/Video</title>
<para>
Sterowniki kart dźwiękowych przeznaczone dla Linuksa mają problemy
związane z kompatybilnością. Dzieje się tak, ponieważ <application>MPlayer</application>
korzysta z wbudowanych właściwości <emphasis>poprawnie</emphasis> napisanych
sterowników dźwięku, które prawidłowo obsługują synchronizację audio/video.
Niestety, niektórzy autorzy sterowników nie uwzględniają tej cechy, ponieważ
nie jest ona potrzebna do odtwarzania efektów dźwiękowych i plików MP3.
</para>
<para>
Inne odtwarzacze takie jak: <ulink url="http://avifile.sf.net">aviplay</ulink>
czy <ulink url="http://xinehq.de">xine</ulink> prawdopodobnie działają
od razu z tymi sterownikami, ponieważ używają "prostych" metod synchronizacji
korzystających z wewnętrznego zegara. Testy pokazały, że ich metody nie są tak
wydajne jak <application>MPlayera</application>.
</para>
<para>
Używanie <application>MPlayera</application> z poprawnie napisanym sterownikiem
dźwięku, nigdy nie zaowocuje desynchronizacją A/V z powodu dźwięku, chyba że
odtwarzany plik został utworzony w niewłaściwy sposób lub jest popsuty
(na stronie man znajdziesz możliwe rozwiązania tego problemu).
</para>
<para>
Jeśli masz kiepski sterownik dźwięku, spróbuj użyć opcji <option>-autosync</option>.
Powinna ona rozwiązać Twój problem. Dokładniejsze informacje znajdziesz na stronie
man.
</para>
<itemizedlist>
<title>Kilka uwag:</title>
<listitem><para>
Jeśli posiadasz sterownik OSS, spróbuj najpierw opcji <option>-ao oss</option>
(domyślna). Jeżeli zauważysz niestabilne działanie systemu, jego ciągłe
zawieszanie się lub inne dziwne zachowanie, wypróbuj <option>-ao sdl</option>
(UWAGA: potrzebujesz zainstalowanych bibliotek i plików nagłówkowych SDL).
Sterownik SDL pomaga w wielu wypadkach, a dodatkowo obsługuje ESD (GNOME) i ARTS (KDE).
</para></listitem>
<listitem><para>
Jeżeli posiadasz sterowniki ALSA w wersji 0.5, prawie zawsze konieczne będzie
użycie <option>-ao alsa5</option>, ponieważ ich kod emulacji OSS jest wadliwy i
spowoduje <emphasis role="bold">błąd <application>MPlayera</application></emphasis>
wyświetlając komunikat o treści podobnej do tej:
<screen>
DEMUXER: Za dużo (945 w 8390980 bajtach) pakietów video w buforze!
(DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!)<!--
--></screen>
</para></listitem>
<listitem><para>
Na Solarisie konieczne jest użycie sterownika SUN przy pomocy opcji
<option>-ao sun</option>, w przeciwnym wypadku nie będzie działać ani audio,
ani video.
</para></listitem>
<listitem><para>
Jeśli dźwięk przerywany jest krótkimi trzaskami podczas odtwarzania z CD-ROMu,
włącz odmaskowywanie przerwań, wpisując np. <command>hdparm -u1 /dev/cdrom</command>
(<command>man hdparm</command>). Jest to bardzo przydatne i opisane bardziej
szczegółowo w sekcji dotyczącej <link linkend="drives">CD-ROMu</link>.
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="experiences">
<title>Doświadczenia związane z użytkowaniem kart dźwiękowych i zalecenia</title>
<para>
Przy stosowaniu Linuksa, zalecamy jądro z serii 2.4.x. Jądro w wersji 2.2 nie było
testowane.
</para>
<para>
Sterowniki kart dźwiękowych w Linuksie są dostarczane głównie przez
wolną wersję OSS. Sterowniki te zostały zastąpione w wersji rozwojowej jądra 2.5
przez system <ulink url="http://www.alsa-project.org">ALSA</ulink>
(Advanced Linux Sound Architecture). Jeżeli Twoja dystrybucja nie używa jeszcze
ALSA, możesz chcieć ją wypróbować, jeżeli będziesz miał jakieś kłopoty
z dźwiękiem. Sterowniki ALSA generalnie przewyższają OSS pod względem zgodności,
wydajności i możliwości, Jednak niektóre karty są obsługiwane wyłącznie przez
komercyjną wersję OSS z witryny
<ulink url="http://www.opensound.com/">4Front Technologies</ulink>.
Obsługuje ona również kilka innych systemów poza Linuksem.
</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">KARTA DŹWIĘKOWA</entry>
<entry spanname="driver">STEROWNIK</entry>
<entry morerows="2" valign="middle">Maks. częstotliwość (kHz)</entry>
<entry morerows="2" valign="middle">Maks. liczba kanałów</entry>
<entry morerows="2" valign="middle">Maks. liczba aplikacji
<footnote id="maxopens">
<para>liczba aplikacji, które mogą <emphasis>jednocześnie</emphasis>
używać urządzenia.</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">inne</entry>
</row>
</thead>
<tbody>
<row>
<entry>Zintegrowane karty VIA (686/A/B, 8233, 8235)</entry>
<entry>
<ulink url="http://sf.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 lub wyłącznie 48 kHz, w zależności od układu</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>Aureal Vortex 2</entry>
<entry>brak</entry>
<entry>brak</entry>
<entry>OK</entry>
<entry>
<ulink url="http://aureal.sf.net">Sterowniki do Aureala dla Linuksa</ulink>
<ulink url="http://makacs.poliod.hu/~pontscho/aureal/au88xx-1.1.3.tar.bz2"> bufor zwiększony do 32k</ulink>
</entry>
<entry>48</entry>
<entry>4.1</entry>
<entry>5+</entry>
</row>
<row>
<entry>SB Live!</entry>
<entry>Wyjście analogowe-OK, S/PDIF nie działa</entry>
<entry>Oba działają</entry>
<entry>Oba działają</entry>
<entry>
<ulink url="http://opensource.creative.com">Sterowniki OSS Creative'a (obsługa S/PDIF)</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>źle brzmi na 48kHz</entry>
<entry></entry>
<entry></entry>
<entry>48</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>GUS PnP</entry>
<entry>brak</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>Karty C-Media (CMI8338/8738)</entry>
<entry>OK</entry>
<entry>OK S/PDIF jest obsługiwane przez ALSA 0.9.x</entry>
<entry>?</entry>
<entry></entry>
<entry>44</entry>
<entry>stereo</entry>
<entry>1</entry>
</row>
<row>
<entry>Karty Yamaha (*ymf*)</entry>
<entry>złe (?) (może <option>-ao sdl</option>)</entry>
<entry>Działa poprawnie tylko z ALSA 0.5 z włączoną emulacją OSS
<emphasis role="bold">i</emphasis> <option>-ao sdl</option> (!) (?)</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>Karty z układem envy24 (np. Terratec EWS88MT)</entry>
<entry>?</entry>
<entry>?</entry>
<entry>OK</entry>
<entry></entry>
<entry>?</entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>PC Speaker lub DAC</entry>
<entry>OK</entry>
<entry>brak</entry>
<entry></entry>
<entry>
<ulink url="http://www.geocities.com/stssppnn/pcsp.html">Sterowniki do PC speakera dla Linuksa (OSS)</ulink>
</entry>
<entry>Sterownik emuluje 44.1, może więcej.</entry>
<entry>mono</entry>
<entry>1</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Pomoc przy tworzeniu tego dokumentu jest mile widziana. Powiedz nam, jak
<application>MPlayer</application> i Twoja karta dźwiękowa
(karty dźwiękowe) współpracują ze sobą.
</para>
</sect2>
</sect1>
<sect1 id="af">
<title>Filtry audio</title>
<para>
Filtry dźwiękowe pozwalają na zmianę właściwości danych audio zanim dźwięk dotrze do
karty. Ich uruchamianie i wyłączanie odbywa się przeważnie automatycznie,
można to jednak zmienić. Filtry włączane są wtedy, gdy cechy dźwięku
różnią się od tych wymaganych przez urządzenie audio, w przeciwnym wypadku
procedura ta jest pomijana. Opcja <option>-af filter1,filter2,...</option>
używana jest do nadpisania automatycznych ustawień lub do zastosowania
dodatkowych. Kolejność stosowania filtrów uzależniona jest od kolejności
w ciągu oddzielonych od siebie przecinkami wartości.
</para>
<para>
Przykład:
<screen>mplayer -af resample,pan <replaceable>film.avi</replaceable></screen>
uruchomi dźwięk poprzez filtr zmieniający częstotliwość próbkowania (resample filter)
a następnie poprzez filtr pan. Zauważ, że lista nie może zawierać żadnych spacji,
inaczej zostanie błędnie zinterpretowana przez program.
</para>
<para>
Filtry często posiadają opcje zmieniające ich zachowanie. Są one dokładniej
opisane w sekcji poniżej. Jeżeli pominie się parametry, to filtr uruchomi się
z ustawieniami domyślnymi. Poniżej przedstawiony jest przykład, jak używać
filtrów wraz z ich opcjami:
<screen>
mplayer -af resample=11025,pan=1:0.5:0.5 -channels 1 -srate 11025 <replaceable>film.avi</replaceable>
</screen>
ustawi częstotliwość wyjściową filtru zmieniającego próbkowanie (resample filter)
na 11025Hz i zmiksuje dźwięk do jednego kanału używając filtru pan.
</para>
<para>
Ogólną kontrolę nad warstwą filtrów daje opcja <option>-af-adv</option>.
Zawiera ona dwie dodatkowe opcje:
</para>
<para>
<option>force</option> jest polem bitowym, które określa jak filtry
są stosowane i jakiej optymalizacji prędkości/dokładności używają:
</para>
<variablelist>
<varlistentry>
<term><option>0</option></term>
<listitem><para>
Użyj automatycznego stosowania filtrów i optymalizuj względem szybkości procesora.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>1</option></term>
<listitem><para>
Użyj automatycznego stosowania filtrów i optymalizuj tak, aby osiągnąć największą
prędkość.
<emphasis>Uwaga:</emphasis> Niektóre możliwości filtrów audio mogą nie zadziałać i
jakość dźwięku spadnie.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>2</option></term>
<listitem><para>
Użyj automatycznego stosowania filtrów i optymalizuj pod kątem jak największej
jakości.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>3</option></term>
<listitem><para>
Nie używaj automatycznego stosowania filtrów i nie optymalizuj.
<emphasis>Uwaga:</emphasis> Jeśli używasz tego ustawienia, możliwe jest
wystąpienie błędów podczas działania <application>MPlayera</application> i jego zakończenie.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>4</option></term>
<listitem><para>
Użyj automatycznego stosowania filtrów (tak jak dla 0), jednak użyj obliczeń
zmiennoprzecinkowych, jeśli to możliwe.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>5</option></term>
<listitem><para>
Użyj automatycznego stosowania filtrów (tak jak dla 1), jednak użyj obliczeń
zmiennoprzecinkowych, jeśli to możliwe.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>6</option></term>
<listitem><para>
Użyj automatycznego stosowania filtrów (tak jak dla 2), jednak użyj obliczeń
zmiennoprzecinkowych, jeśli to możliwe.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>7</option></term>
<listitem><para>
Użyj automatycznego stosowania filtrów (tak jak dla 3), jednak użyj obliczeń
zmiennoprzecinkowych, jeśli to możliwe.
</para></listitem>
</varlistentry>
</variablelist>
<para>
<option>list</option> jest aliasem dla opcji -af.
</para>
<para>
Na zachowanie warstwy filtrów wpływają również niżej podane, standardowe opcje:
</para>
<variablelist>
<varlistentry>
<term><option>-v</option></term>
<listitem><para>
Zwiększa poziom "gadatliwości" i sprawia, że większość filtrów drukuje dodatkowe
komunikaty.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-channels</option></term>
<listitem><para>
Ustawia liczbę kanałów wyjściowych, których ma używać Twoja karta.
Ma ona również wpływ na liczbę kanałów, które są dekodowane z
nośnika danych. Jeśli zawiera on mniej kanałów, filtr kanałów (channels filter)
zostanie automatycznie użyty (zobacz poniżej). Przekierowywanie kanałów będzie
ustawione domyślnie.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-srate</option></term>
<listitem><para>
Ustawia częstotliwość próbkowania, której ma używać Twoja karta
(oczywiście karty mają swoje ograniczenia). Jeżeli poziom próbkowania Twojej
karty różni się od tego stosowanego w nośniku, zostanie włączony filtr zmieniający
próbkowanie (resample filter, zobacz poniżej), aby zniwelować różnice.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-format</option></term>
<listitem><para>
Ustawia format próbki pomiędzy filtrem audio a kartą dźwiękową.
Jeżeli żądany format próbki dla karty jest inny niż format zawierający się w nośniku,
zostanie zastosowany filtr formatu (format filter, zobacz poniżej), aby zniwelować
różnice.
</para></listitem>
</varlistentry>
</variablelist>
<sect2 id="af_resample">
<title>Zmniejszenie/Zwiększenie częstotliwości próbkowania (Up/Downsampling)</title>
<para>
<application>MPlayer</application> w pełni obsługuje zmniejszanie/zwiększanie
częstotliwości (up/downsampling) poprzez filtr zmieniający częstotliwość
próbkowania - <option>resample</option> filter. Może on być użyty, jeżeli
masz stałą częstotliwość na karcie, albo jeżeli nie jest ona w stanie obsłużyć
więcej niż 44.1kHz. Filtr jest automatycznie uruchamiany, jeżeli jest to
konieczne, ale może również zostać włączony z poziomu linii poleceń.
Ma on trzy opcje:
</para>
<variablelist>
<varlistentry>
<term><option>srate &lt;8000-192000&gt;</option></term>
<listitem><para>
jest to liczba całkowita, używana do określenia wyjściowej częstotliwości
próbkowania w Hz. Przyjmuje wartości z zakresu od 8kHz do 192kHz. Jeżeli
częstotliwość wejściowa i wyjściowa są takie same albo jeżeli ten parametr
jest pominięty, filtr jest wyłączany. Wysoka częstotliwość przeważnie zwiększa
jakość dźwięku, szczególnie jeżeli filtr jest użyty wraz z innymi.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>sloppy</option></term>
<listitem><para>
jest dodatkowym parametrem binarnym, który pozwala na małą różnicę między
częstotliwością wyjściową a tą podaną przez <option>srate</option>. Opcja
ta może zostać użyta jeżeli początek odtwarzania jest bardzo wolny. Jest
standardowo uruchomiony.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>type &lt;0-2&gt;</option></term>
<listitem><para>
jest dodatkową liczbą całkowitą z przedziału od <literal>0</literal>
do <literal>2</literal>, która wybiera metodę zmiany częstotliwości
próbkowania. Tutaj <literal>0</literal> przedstawia interpolację liniową
(linear interpolation), <literal>1</literal> reprezentuje metodę wielofazowego
przetwarzania banku filtrów (poly-phase filter-bank processing) przy użyciu
obliczeń całkowitoliczbowych, <literal>2</literal> do zmiany częstotliwości za
pomocą wielofazowego przetwarzania banku filtrów (poly-phase filter-bank processing)
i obliczeń zmiennoprzecinkowych. Interpolacja liniowa (linear interpolation)
jest wyjątkowo szybka, jednak pogarsza jakość dźwięku szczególnie przy zwiększaniu
częstotliwości (upsampling). Najlepszą jakość daje <literal>2</literal>,
ale metoda ta wymaga największej mocy obliczeniowej.
</para></listitem>
</varlistentry>
</variablelist>
<para>Przykład:
<screen>mplayer -af resample=44100:0:0</screen>
ustawi częstotliwość wyjściową filtru zmieniającego częstotliwość próbkowania
(resample filter) na 44100Hz używając przy tym dokładnego skalowania częstotliwości
wyjściowej oraz interpolacji liniowej (linear interpolation).
</para>
</sect2>
<sect2 id="af_channels">
<title>Zmiana liczby kanałów</title>
<para>
Filtr kanałów (<option>channels</option> filter) można użyć w celu dodania
lub usunięcia kanałów, można go także użyć do kopiowania lub przekierowywania kanałów.
Jest on automatycznie włączony, jeżeli wyjście warstwy audio filtrów różni się
od wejściowego lub jeśli zażądano jego uruchomienia. Filtr wyłącza się sam,
jeżeli nie jest używany. Liczba parametrów jest dynamiczna:
</para>
<variablelist>
<varlistentry>
<term><option>nch &lt;1-6&gt;</option></term>
<listitem><para>
jest to liczba całkowita z zakresu od <literal>1</literal> do <literal>6</literal>,
która ustawia liczbę kanałów wejściowych. Ta opcja jest wymagana.
Nie podanie jej spowoduje błąd uruchamiania (runtime error) programu.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>nr &lt;1-6&gt;</option></term>
<listitem><para>
jest to liczba całkowita z zakresu od <literal>1</literal> do <literal>6</literal>,
która używana jest do określenia liczby dróg przekierowania. Parametr ten jest
opcjonalny. Jeżeli jest pominięty, stosowane jest domyślne przekierowanie.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>od1:do1:od2:do2:od3:do3...</option></term>
<listitem><para>
to pary liczb pomiędzy <literal>0</literal> a <literal>5</literal>, które
określają gdzie poszczególne kanały mają być przekierowywane.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Jeżeli podana jest tylko opcja <option>nch</option>, filtr używa domyślnego
przekierowywanie, które działa następująco: Jeśli liczba kanałów wyjściowych jest
większa niż wejściowych, tworzone są puste kanały (w przypadku miksowania z mono
do stereo, kanał mono jest powtarzany w obu kanałach wyjściowych). Jeżeli liczba
kanałów wyjściowych jest mniejsza niż wejściowych, nadmiarowe kanały są usuwane.
</para>
<para>
Przykład 1:
<screen>
mplayer -af channels=4:4:0:1:1:0:2:2:3:3 <replaceable>film.avi</replaceable>
</screen>
zmieni liczbę kanałów na 4 i ustawi 4 drogi przekierowywania, które zamieniają
kanał 1 z 0, a 2 i 3 pozostawiają bez zmian. Zauważ, że jeżeli odtwarzany był
nośnik zawierające 2 kanały, to kanały 2 i 3 będą puste, ale 0 i 1 nadal będą
zamienione.
</para>
<para>
Przykład 2:
<screen>
mplayer -af channels=6:4:0:0:0:1:0:2:0:3 <replaceable>film.avi</replaceable>
</screen>
zmieni liczbę kanałów na 6 i ustawi 4 drogi przekierowywania, które skopiują
kanał 0 do 0 i 3. Kanały 4 i 5 będą puste.
</para>
</sect2>
<sect2 id="af_format">
<title>Konwerter formatu próbek (sample format converter)</title>
<para>
Filtr formatu (<option>format</option> filter) przekształca jedne formaty
próbek w inne. Jest uruchamiany automatycznie, jeśli tylko jest wymagany przez
kartę lub inny filtr dźwiękowy.
</para>
<variablelist>
<varlistentry>
<term><option>bps &lt;numer&gt;</option></term>
<listitem><para>
może mieć wartość <literal>1</literal>, <literal>2</literal> lub
<literal>4</literal>, określa liczbę bajtów przypadającą na próbkę. Parametr
ten jest wymagany. Nie podanie go spowoduje błąd uruchamiania (runtime error).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>f &lt;format&gt;</option></term>
<listitem><para>
jest ciągiem znaków określającym format próbki. Ciąg jest kombinacją:
<option>alaw</option>, <option>mulaw</option> lub
<option>imaadpcm</option>, <option>float</option> lub <option>int</option>,
<option>unsigned</option> lub <option>signed</option>, <option>le</option> lub
<option>be</option> (little- lub big-endian). Opcja ta jest wymagana. Jej nie
podanie, spowoduje błąd podczas uruchamiania (runtime error).
</para></listitem>
</varlistentry>
</variablelist>
<para>
Przykład:
<screen>
mplayer -af format=4:float <replaceable>film.avi</replaceable>
</screen>
ustawi format wyjściowy na 4 bajty danych zmiennoprzecinkowych przypadających na próbkę.
</para>
</sect2>
<sect2 id="af_delay">
<title>Opóźnienie (delay)</title>
<para>
Filtr opóźniający (<option>delay</option> filter) opóźnia dźwięk zmierzający do
głośników, tak żeby strumienie dźwiękowe z różnych kanałów dotarły do nich
jednocześnie. Jest to użyteczne, jeżeli masz więcej niż 2 głośniki. Filtr
ma kilka opcji:
</para>
<variablelist>
<varlistentry>
<term><option>d1:d2:d3...</option></term>
<listitem><para>
są liczbami rzeczywistymi określającymi opóźnienie w milisekundach,
które powinno być zastosowane do każdego kanału. Minimalna wartość to 0ms a
maksymalna to 1000ms.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Aby obliczyć opóźnienie dla poszczególnych kanałów, wykonaj następuje czynności:
</para>
<orderedlist>
<listitem><para>
Oblicz odległość od głośników do pozycji słuchacza (w metrach), to da Ci
wartości od s1 do s5 (dla systemu 5.1). Nie ma sensu brać pod uwagę
subwoofera (i tak nie usłyszysz różnicy).
</para></listitem>
<listitem><para>
Odejmij odległość od s1 do s5 od odległości maksymalnej tzn.
s[i] = max(s) - s[i]; i = 1...5
</para></listitem>
<listitem><para>
Oblicz opóźnienia w następujący sposób
d[i] = 1000*s[i]/342; i = 1...5
</para></listitem>
</orderedlist>
<para>
Przykład:
<screen>
mplayer -af delay=10.5:10.5:0:0:7:0 <replaceable>film.avi</replaceable>
</screen>
opóźni lewy i prawy przedni głośnik o 10.5ms, dwa tylne i subwoofer o 0ms a
centralny o 7ms.
</para>
</sect2>
<sect2 id="af_volume">
<title>Programowa regulacja głośności (software volume control)</title>
<para>Programowa regulacja głośności (software volume control) jest obsługiwana
poprzez filtr głośności (<option>volume</option> filter). Używaj go ostrożnie,
gdyż może obniżyć stosunek sygnału do szumu. W większości wypadków
najlepszym rozwiązaniem jest ustawienie miksera PCM na maksymalną wartość, wyłączenie
filtru i regulacja głośności poziomem głośności ogólnej miksera. Jeżeli Twoja karta
ma cyfrowy mikser PCM zamiast analogowego i zauważysz przekłamania, użyj miksera
MASTER. Jeżeli do komputera podłączony jest zewnętrzny wzmacniacz
(co zazwyczaj ma miejsce), poziom hałasu może zostać zredukowany poprzez
dostrojenie głównego poziomu głośności (master level) i pokrętła głośności,
dopóki syczenie w tle nie ustanie. Filtr ma dwie opcje:
</para>
<variablelist>
<varlistentry>
<term><option>v &lt;-200 - +60&gt;</option></term>
<listitem><para>
jest liczbą rzeczywistą pomiędzy <literal>-200</literal> a
<literal>+60</literal>, która przedstawia poziom głośności w dB. Domyślny
poziom to 0dB.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>c</option></term>
<listitem><para>
jest binarną wartością która włącza lub wyłącza miękkie obcinanie (soft-clipping).
Miękkie obcinanie (soft-clipping) może sprawić, że dźwięk będzie łagodniejszy,
jeżeli wysokie poziomy dźwięku są użyte. Uaktywnij tę opcję, jeżeli moc
głośników jest zbyt niska. Zwróć uwagę, że ta metoda powoduje przekłamania
i powinna być używana tylko w ostateczności.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Przykład:
<screen>mplayer -af volume=10.1:0 <replaceable>film.avi</replaceable></screen>
wzmocni dźwięk o 10.1dB i zastosuje metodę twardego obcinania (hard-clip), jeżeli
poziom dźwięku jest za wysoki.
</para>
<para>
Ten filtr ma drugą właściwość: Mierzy ogólny, maksymalny poziom dźwięku i wypisuje go
po zakończeniu <application>MPlayera</application>. Oszacowana głośność może być
użyta do ustawienia poziomu dźwięku w <application>MEncoderze</application> tak,
żeby maksymalny zasięg dynamiczny był możliwy do osiągnięcia.
</para>
</sect2>
<sect2 id="af_equalizer">
<title>Korektor (equalizer)</title>
<para>
Filtr korektora (<option>equalizer</option> filter) to 10 oktawowy korektor graficzny
zaimplementowany przy pomocy 10 filtrów pasmowych IIR.
Oznacza to, że działa bez względu na format odtwarzanego dźwięku. Środkowe
częstotliwości dla tych 10 pasm to:
</para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>Numer pasma</entry><entry>Częstotliwość środkowa</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>
Jeżeli częstotliwość próbkowania odtwarzanego dźwięku jest niższa niż środkowa
częstotliwość dla odpowiedniego pasma, to jest ono wyłączane. Znanym błędem
jest to, że właściwości dla najwyższego pasma nie są całkowicie symetryczne,
jeżeli częstotliwość próbki jest zbliżona do częstotliwości środkowej danego pasma.
Można obejść ten problem zwiększając jej częstotliwość (up-sampling), zanim ta
dotrze do filtru korektora (equalizer filter).
</para>
<para>
Filtr ma 10 parametrów:
</para>
<variablelist>
<varlistentry>
<term><option>g1:g2:g3...g10</option></term>
<listitem><para>
są liczbami rzeczywistymi z przedziału od <literal>-12</literal> do
<literal>+12</literal>, określającymi przyrost dB dla każdego pasma częstotliwości.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Przykład:
<screen>
mplayer -af equalizer=11:11:10:5:0:-12:0:5:12:12 <replaceable>film.avi</replaceable>
</screen>
wzmocni dźwięk w wyższych i niższych zakresach częstotliwości, wyciszając go
prawie całkowicie około 1kHz.
</para>
</sect2>
<sect2 id="af_panning">
<title>Filtr pan (panning filter)</title>
<para>
Użyj filtru pan (<option>pan</option> filter), żeby dowolnie miksować kanały. Najprościej
tłumacząc jest to połączenie programowej regulacji głośności (software volume control) i
filtru kanałów (channels filter). Istnieją dla niego 2 podstawowe zastosowania:
</para>
<orderedlist>
<listitem><para>
Miksowanie wielu kanałów w mniejszą liczbę, na przykład stereo do mono.
</para></listitem>
<listitem><para>
Zmienianie &quot;szerokości&quot; centralnego głośnika w systemie przestrzennym.
</para></listitem>
</orderedlist>
<para>
Filtr jest trudny w użyciu i będzie wymagał zastosowania żmudnej metody prób i błędów,
zanim zostanie osiągnięty oczekiwany rezultat. Liczba parametrów filtru zależy od
liczby kanałów:
</para>
<variablelist>
<varlistentry>
<term><option>nch &lt;1-6&gt;</option></term>
<listitem><para>
jest liczbą całkowitą z przedziału od <literal>1</literal> do <literal>6</literal> i
jest używana w celu określenia liczby kanałów wyjściowych. Opcja ta jest wymagana.
Nie podanie jej spowoduje błąd uruchamiania (runtime error).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>l00:l01:l02:..l10:l11:l12:...ln0:ln1:ln2:...</option></term>
<listitem><para>
są liczbami rzeczywistymi z przedziału od <literal>0</literal> do
<literal>1</literal>. <option>l[i][j]</option> ustala ile procent kanału wejściowego j
ma być zmiksowanych do kanału wyjściowego i.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Przykład 1:
<screen>
mplayer -af pan=1:0.5:0.5 -channels 1 <replaceable>film.avi</replaceable>
</screen>
zmiksuje kanały ze stereo do mono.
</para>
<para>
Przykład 2:
<screen>
mplayer -af pan=3:1:0:1:0.5:0.5 -channels 3 <replaceable>film.avi</replaceable>
</screen>
da 3 kanał wyjściowy, zostawiając 0 i 1 nietknięte i miksując kanały 0 i 1
do 2 kanału wyjściowego (który może być na przykład wysłany do subwoofera).
</para>
</sect2>
<sect2 id="af_sub">
<title>Subwoofer</title>
<para>
Filtr subwoofera (<option>sub</option> filter) dodaje kanał subwoofera do strumienia
audio. Dane audio użyte do stworzenia tego kanału są średnią dźwięku w 0 i 1 kanale. Dźwięk
wynikowy zostanie poddany działaniu dolnoprzepustowego filtru Butterwortha czwartego rzędu
(4th order Butterworth filter) z domyślną częstotliwością graniczną na poziomie 60Hz i
dodany do oddzielnego kanału w strumieniu audio.
Uwaga: Wyłącz ten filtr, jeżeli odtwarzasz DVD z dźwiękiem w systemie Dolby Digital 5.1,
w przeciwnym wypadku, jego działanie zakłóci dźwięk subwoofera. Filtr ma 2 parametry:
</para>
<variablelist>
<varlistentry>
<term><option>fc &lt;20-300&gt;</option></term>
<listitem><para>
jest opcjonalną liczbą rzeczywistą, używaną do określenia wartości
częstotliwości granicznej w Hz. Prawidłowy zakres wynosi od 20Hz do 300Hz. Dla
uzyskania najlepszego rezultatu, spróbuj ustawić ją na jak najniższą. Wzbogaci to
doświadczenia płynące z używania dźwięku stereo i w systemie przestrzennym. Domyślną
wartością jest 60Hz.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>ch &lt;0-5&gt;</option></term>
<listitem><para>
jest opcjonalną liczbą całkowitą pomiędzy <literal>0</literal> a
<literal>5</literal>, która określa numer kanału, do którego ma zostać wysłany
dźwięk subwoofera. Domyślnym jest <literal>5</literal>. Zauważ, że liczbą kanałów
zwiększy się do <replaceable>ch</replaceable>, jeżeli zajdzie taka potrzeba.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Przykład:
<screen>
mplayer -af sub=100:4 -channels 5 <replaceable>film.avi</replaceable>
</screen>
doda kanał subwoofera z częstotliwością graniczną równą 100Hz do 4 kanału wyjściowego.
</para>
</sect2>
<sect2 id="af_surround">
<title>Dekoder dźwięku przestrzennego (Surround-sound decoder)</title>
<para>
Macierzowo zakodowany dźwięk przestrzenny, może być zdekodowany filtrem przestrzennym
(<option>surround</option> filter). Dolby Surround jest przykładem
formatu zakodowanego macierzowo. Wiele plików zawierających 2 kanały audio,
w rzeczywistości zawiera dźwięk przestrzenny zakodowany w tym systemie. Aby użyć
tego filtru potrzebujesz karty z obsługą przynajmniej 4 kanałów. Filtr
posiada jedną opcję:
</para>
<variablelist>
<varlistentry>
<term><option>d &lt;0-1000&gt;</option></term>
<listitem><para>
jest opcjonalną liczbą rzeczywistą pomiędzy <literal>0</literal> a
<literal>1000</literal>, używaną do ustawienia opóźnienia w ms dla tylnych głośników.
Opóźnienie powinno być ustawione w następujący sposób: jeśli d1 to odległość od
pozycji słuchacza do przednich głośników a d2 to odległość od tylnych głośników,
to opóźnienie d powinno być ustawione na 15ms, jeżeli d1 &lt;= d2 i 15 + 5*(d1-d2)
jeżeli d1 &gt; d2. Domyślna wartość dla d to 20ms.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Przykład:
<screen>
mplayer -af surround=15 -channels 4 <replaceable>film.avi</replaceable>
</screen>
doda dźwięk przestrzenny dekodując dźwięk dla tylnych głośników z opóźnieniem 15ms.
</para>
</sect2>
<sect2 id="af_export">
<title>Audio Exporter</title>
<para>
Ten filtr audio eksportuje nadchodzący sygnał do innych procesów,
używając mapowania pamięci (<literal>mmap()</literal>).
Zmapowane obszary zawierają nagłówek:
<programlisting>
int nch /*ilość kanałów*/
int size /*rozmiar bufora*/
unsigned long long counter /*Używany do zachowania synchronizacji,
aktualizowany za każdym razem kiedy
eksportowane są nowe dane.*/
</programlisting>
Reszta to 16-bitowe dane (bez przeplotu).
</para>
<variablelist>
<varlistentry>
<term><option>mmapped_file</option></term>
<listitem><para>
Plik, do którego chcesz eksportować. Domyślnie jest to
<filename>~/.mplayer/mplayer-af_export</filename>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>nsamples</option></term>
<listitem><para>
Ilość próbek przypadających na kanał. Domyślnie jest to <literal>512</literal>.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Przykład:
<screen>
mplayer -af export=/tmp/mplayer-af_export:1024 <replaceable>film.avi</replaceable>
</screen>
wyeksportuje 1024 próbek na kanał do <filename>/tmp/mplayer-af_export</filename>.
</para>
</sect2>
<sect2 id="af_extrastereo">
<title>Extrastereo</title>
<para>
Ten filtr dźwięku zwiększa (liniowo) różnicę między lewym a prawym kanałem
(tak jak wtyczka extrastereo dla <application>XMMSa</application>)
dodając efekt &quot;przekazu na żywo&quot; do odtwarzania.
Ma on jeden parametr:</para>
<variablelist>
<varlistentry>
<term><option>mul</option></term>
<listitem><para>
to współczynnik różnicy wyrażony liczbą rzeczywistą (domyślna wartość to
<literal>2.5</literal>). Jeśli podasz mu wartość <literal>0.0</literal>, dźwięk będzie
odtwarzany w trybie mono (średnia z dwóch kanałów). Jeśli natomiast
ustawisz go na <literal>1.0</literal>, dźwięk pozostamie niezmieniony,
a jeśli na <literal>-1.0</literal>, lewy kanał z prawym zostaną zamienione.
</para></listitem>
</varlistentry>
</variablelist>
<para>
Sposób użycia:
<screen>
mplayer -af extrastereo <replaceable>media.avi</replaceable>
mplayer -af extrastereo=3.45 <replaceable>media.avi</replaceable><!--
+--></screen>
</para>
</sect2>
<sect2 id="af_volnorm">
<title>Volume normalizer</title>
<para>
Ten filtr audio maksymalnie zwiększa głośność, nie wprowadzając przy tym
szumów.
</para>
<para>
Sposób użycia:
<screen>mplayer -af volnorm <replaceable>media.avi</replaceable></screen>
</para>
</sect2>
</sect1>