REKLAMA


PC Audio – konfiguracja komputera jako pełnowartościowego źródła dźwięku

PC-audio-titleCzytając pierwsze lepsze forum zajmujące się tematyką audio, można dojść do wniosku, że konfiguracja komputera jako źródła dźwięku to jakaś czarna magia. Jak to jednak wygląda w rzeczywistości? Odrzucając całą „mitologię”, przesądy i przede wszystkim brak wiedzy, nie jest to wcale takie skomplikowane. I tym właśnie zajmiemy się w tym artykule.

 

 

Bit-perfect – do czego nam to potrzebne?

Zapewne gdzieś tam już czytaliśmy, że aby uzyskać dobry dźwięk z komputera musimy mieć transmisję bit-perfect. Oznacza to, że dane do karty dźwiękowej lub DAC-a dochodzą w niezmienionej postaci, czyli dostają one dokładnie te same próbki audio, które zapisane są w pliku lub na płycie CD. Ktoś mógłby spytać w tym momencie: a co to za wielki problem, tak przecież powinno być domyślnie? I byłoby tak, gdyby komputer był urządzeniem optymalizowanym pod kątem wiernego odtwarzania dźwięku wyłącznie z jednego źródła (aplikacji). Tak jednak nie jest, bo jak wiemy dźwięki może w tej samej chwili odtwarzać np. przeglądarka internetowa, gra, czy dowolna inna aplikacja. Wbudowano więc w system operacyjny mechanizm, zwany mikserem systemowym, który łączy te wszystkie przychodzące dźwięki w jedną spójną całość. I niestety aby ten mechanizm działał, wykonywany jest szereg uproszczeń, które powodują, że strumień dźwięku przestaje już być bit-perfect. Najważniejsze z nich to resampling oraz cyfrowa kontrola głośności.

 

Resampling

Polega on na zmianie częstotliwości próbkowania sygnału na inną niż oryginalna. Proces taki wykonywany na profesjonalnych urządzeniach może przynosić całkiem dobre rezultaty, lecz system operacyjny aby uniknąć zbytniego obciążenia procesora, używa do tego szybkich i bardzo uproszczonych algorytmów. Resampling jest wykonywany zawsze, gdy co najmniej dwie aplikacje chcą odtwarzać dźwięk o różnych częstotliwościach – sygnał musi być wtedy przepróbkowany do jednej – przeważnie wyższej częstotliwości. Czasem winę ponoszą za to same sterowniki karty dźwiękowej, które mają ustawioną na stałe jedną częstotliwość próbkowania do której dostosowują wszystkie odtwarzane dźwięki. Na szczęście taka sytuacja dotyczy raczej starszych, rzadko już używanych kart dźwiękowych (np. stare karty Creative’a).

 

Cyfrowa kontrola głośności

Za co odpowiada drugi z negatywnych mechanizmów, czyli cyfrowa kontrola głośności? Wyjaśnijmy to tak: próbki dźwiękowe o długości powiedzmy 16 bitów (czyli łącznie 65536 wartości), w swojej oryginalnej postaci oznaczają maksymalną głośność sygnału. Jeśli przyciszamy dźwięk przy pomocy kontroli głośności, to system przelicza ponownie daną próbkę, aby zmniejszyć wartość jej głośności. Zmniejszenie głośności o połowę powoduje  całkowite obcięcie ostatniego bitu próbki, więc rozdzielczość dźwięku również spada o połowę. Aby nie dochodziło do tego typu zniekształceń, mamy dwa rozwiązania. Pierwsze to zupełne pominięcie systemowej kontroli głośności (o tym dalej). W przypadku gdy system/sterowniki na to nie pozwalają (niestety dość często) – ustawiamy głośność w mikserze systemowych na stałe na 100%. To samo robimy z głośnością w aplikacji odtwarzającej – ustawiamy na maksimum i nie używamy jej. Do kontroli głośności używamy wyłącznie gałki/przycisków głośności w naszym DAC-u lub wzmacniaczu – jest to najczęściej kontrola analogowa, która nie ma już wpływu na jakość sygnału. Takie ustawienie gwarantuje nam, że sygnał wychodzący z komputera nie będzie zakłócany przez cyfrową kontrolę głośności.

 

16 vs 24 bity

Nawet jeśli odtwarzamy wyłącznie muzykę w najpopularniejszym 16-bitowym formacie, to przestawienie wyjścia na 24 bity jest wysoce wskazane. Jak to zrobić? Wystarczy przestawić w sterownikach systemowych oraz w aplikacji odtwarzającej rozdzielczości dźwięku na 24 bity (lub nawet 32 bity, jeśli nasz sprzęt na to pozwala). Poniżej zrzuty okien, gdzie znajdziemy te ustawienia (po lewej: ustawienia systemowe; po prawej: ustawienia wyjścia odtwarzacza Foobar2000):

24-bit-system  24-bit-foobar

 

 

 

 

 

 

 

 

 

Dodatkowo, jeśli sterowniki karty dźwiękowej obsługują tryb wyłączności to powinniśmy zaznaczyć opcję: „Zezwalaj aplikacjom na przejmowanie wyłącznej kontroli nad tym urządzeniem” (na zrzucie powyżej).

Jeśli masz jakieś wątpliwości, to podczas odtwarzania dźwięku 16 bitowego, narzucenie na wyjściu rozdzielczości 24 bitów, nie powoduje żadnych skutków ubocznych dla jakości dźwięku. Próbki nie są przeliczane ponownie, a jedynie do już istniejących bitów dopisywane są dodatkowe „0”, aby wyrównać długość każdej próbki do 24 bitów. Dzięki temu cyfrowa kontrola głośności nie wpływa na właściwe bity próbki, a jedynie na dopisane do niej zera. Oczywiście dzieje się tak do pewnego poziomu głośności – jeśli obniżymy ją do bardzo niskich wartości, to w końcu zaczną być obcinane również te „właściwe” bity. Jednak zaczyna się tak dziać dopiero poniżej 1/256 głośności (czyli prawie zupełne wyciszenie dźwięku). Można więc spokojnie przyjąć, że cyfrowa kontrola głośności jest w tym wypadku bezpieczna. Dodatkowo za rozdzielczością 24-bitową przemawia fakt, że niektóre zewnętrzne DAC-i pracują lepiej właśnie na takich próbkach, dając słyszalnie lepszą jakość dźwięku (np. popularny i niedrogi FiiO E10).

 

Interfejsy zapewniające strumień bit-perfect

Wróćmy teraz do bit-perfect. Aby pominąć wpływ mechanizmów systemu operacyjnego na dźwięk, musimy zastosować odpowiedni interfejs, który prześle oryginalne próbki dźwiękowe bezpośrednio do karty dźwiękowej/DAC-a. Do wyboru mamy trzy możliwości: KernelStreaming, ASIO oraz WASAPI Exclusive.

KernelStreaming – jest to jeden z pierwszych interfejsów zapewniający strumień bit-perfect. Czasem sprawia problemy z kompatybilnością, ale jeśli działa prawidłowo, to jest dobrym wyborem, głównie ze względu na jego prostotę i znikome obciążenie systemu.

ASIO – to interfejs opracowany dla profesjonalnych, studyjnych kart dźwiękowych. Aby interfejs ASIO działał prawidłowo, karta musi mieć odpowiednie sterowniki wspierające ten standard. Jeśli mamy zwykłą, budżetową kartę dźwiękową, a chcemy wykorzystać ten interfejs, to możemy zainstalować ASIO4ALL – aplikację emulującą funkcje ASIO dla każdej karty. ASIO ma wielu zwolenników, ale moim zdaniem jeśli nasza karta nie ma sterowników wspierających go, to prościej będzie wykorzystać któryś z pozostałych interfejsów.

WASAPI Exclusive – interfejs został wprowadzony wraz z systemem Windows Vista. Pozwala na pominięcie miksera systemowego, podnosi priorytety aplikacji multimedialnych oraz dba o niskie opóźnienia transmisji. Tryb Exclusive oznacza, że aplikacja odtwarzająca dźwięk ma wyłączność na kartę dźwiękową (żadne inne dźwięki nie mogą być wtedy przez nią odtwarzane). WASAPI posiada dwa tryby działania: push i event. Różnice polegają jedynie na sposobie wysyłania danych do urządzenia odtwarzającego. Polecany jest tryb event, więc najlepiej od niego zacząć i dopiero gdyby nie działał prawidłowo z naszym urządzeniem to wtedy przełączyć na push.

Podsumowując, polecam interfejs WASAPI, ze względu na bardzo dużą kompatybilność oraz wsparcie ze strony systemu operacyjnego.

 

Aby skorzystać z któregoś z tych interfejsów trzeba będzie zainstalować w naszym odtwarzaczu odpowiednią wtyczkę, a następnie przełączyć w jego konfiguracji (najczęściej zakładka „Output”) wyjście na ten interfejs. Dla popularnego Foobara2000 wtyczki można pobrać bezpośrednio stąd:

KernelStreaming: http://www.foobar2000.org/components/view/foo_out_ks

ASIO: http://www.foobar2000.org/components/view/foo_out_asio

WASAPI: http://www.foobar2000.org/components/view/foo_out_wasapi

Każdy z tych interfejsów teoretycznie powinien wyłączać cyfrową kontrolę głośności w mikserze systemowym. Niestety bardzo rzadko tak się dzieje, ponieważ sterowniki karty dźwiękowej i sam system operacyjny na to nie pozwalają. Tak więc, aby mieć pewność że otrzymujemy strumień bit-perfect, mimo stosowania odpowiedniego interfejsu, należy pamiętać również o ustawieniu głośności na 100% (niektóre odtwarzacze robią to automatycznie).

 

W zasadzie na tym kończy się podstawowa konfiguracja komputera jako źródła, która może mieć wpływ na jakość dźwięku. Pozostało jeszcze zagadnienie wpływu systemu operacyjnego na powstawanie zjawiska jittera, wokół którego powstało tak wiele mitów, że wymaga oddzielnego artykułu.

 


Opublikowano: 22 lip 2014 / Kategoria: konfiguracja i ustawienia, poradniki / 17 112 wyświetleń

Odpowiedzi: 11 do wpisu “PC Audio – konfiguracja komputera jako pełnowartościowego źródła dźwięku”

  1. Ecocomfort pisze:

    Uważam to za idealne rozwiązanie nawet dla osób które nie miały o tym pojęcia,trzeba iść na przód wraz z postępującą technologią .a faktycznie nie jest to takie ciężkie.Dzięki za takie informacje.

  2. Kalisto pisze:

    Dziękuję za opisanie wszystkiego, na pewno się komuś przyda :)

  3. ZnawcaTematu pisze:

    I do tego programik jriver. czemu? z moich obserwacji jitter do pewnego poziomu głośności w ogóle nie istenieje, można słuchać bez dźwiękówki i mało zniekształceń jest, po podgłośnieniu bardziej nagle słyszę cały ten jitter, a nie wiem jak to się dzieje, bo w innych odtwarzaczach na pc to postępuje to łagodniej ale już na początku jest i słyszę na słuchawkach. Te metody wyżej opisane to podstawa podstaw ;]

    • qbakos pisze:

      Muszę Cię zmartwić, ale mylisz pojęcia. Jitter nie zależy w żaden sposób od głośności. To co słyszysz to prawdopodobnie przesterowanie… możesz mieć źle ustawiony equalizer (za wysoko) albo niedopasowaną czułość wejścia. Nie wiem jaki masz sprzęt, więc ciężko coś więcej powiedzieć

  4. sfMan pisze:

    Dzieki za ciekawy artykuł. Krótko, zwięźle, ale jednocześnie nie po łebkach.
    Jedna uwaga co do WASAPI. Otóż, wg informacji którą znalazłem tutaj http://wiki.jriver.com/index.php/Audio_Output_Modes#Volume , posiadacze kart z rodzin X-Fi oraz Xonar powinni używać ASIO:
    „The only way to prevent a Creative Labs X-Fi based card or Asus Xonar card from resampling all incoming audio is to use ASIO and the driver that came with the card. With these cards, WASAPI exclusive will not change the master clock of the card”

    Pozdrawiam

    • qbakos pisze:

      Na to wygląda, że dla tych kart powinniśmy wybierać ASIO. To trochę dziwne, że nowe karty nie potrafią się obejść bez resamplingu… z tego co czytałem ten problem dotyczył tylko starych Sound Blasterów, ale z linku który przytoczyłeś wynika jednak co innego.
      Dzięki za istotną uwagę, myślę że użytkownikom tych kart informacja się przyda.


  5. Nie samowicie ciezko osiągnąć dobra jakośc dziwęku w słabo akustycznym pomieszczeniu.

  6. Marcin pisze:

    Witam. Czy w przypadku ustawienia wszystkiego według Pana artykułu powinienem używać kontroli głośności w foobarze, a systemową mieć na stałe na 100% czy może odwrotnie?

    Pozdrawiam

  7. Jacek pisze:

    Dobre pytanie – czy głośność w foobarze zostawić na max (0.0dB) i regulować wzmacniaczem?

    • qbakos pisze:

      Tak, tak właśnie jest najlepiej jeśli zależy nam na strumieniu bit-perfect.
      Na poprzednie pytanie odpisywałem w mailu i zapomniałem, że tutaj też zostało zadane.

  8. Mariusz pisze:

    A jak sie sprawa ma gdy używam konwertera np; singxer su-1 ze sterownikami xmos ,i sygnał leci z lapka do konwertera a potem do dac hegel hd25 przez wejście coax ? czy uzywać nadal np wasapi event czy oryginalny xmos usb audio ?

Musisz mieć włączoną obsługę JavaScript, aby dodawać komentarze!

Zostaw odpowiedź


CommentLuv badge

Następny / poprzedni artykuł:



Kategorie

O autorze

    Nazywam się Jakub Kościelny. Na forach jako qbakos. Technikami przetwarzania i kompresji wideo interesuję się właściwie od studiów, czyli już dość długo.
    Kilka lat temu postanowiłem połączyć to hobby z czymś poważniejszym i zacząłem o tym pisać, robić badania, pomiary.
    Na tej stronie zebrałem to wszystko w mam nadzieję przystępnej formie i udostępniłem zainteresowanym tą tematyką.
    A przy okazji mam motywację, aby cały czas szukać nowych tematów na artykuły... oraz zgłębiać tajniki WordPressa. Zapraszam :)