# Zarządzanie dźwiękiem

Do regulacji głośności dźwięku w Light Alloy połączono dwa narzędzia:

- właściwa regulacja dźwięku;
- programowe wzmocnienie dźwięku w zakresie wyższym od 100%.

Wzmocnienie dźwięku i rozszerzona regulacja dźwięku dostępne są tylko w przypadku uaktywnienia funkcji Włącz wbudowany moduł przetwarzania audio.

Programowe wzmocnienie pozwala uczynić dźwięk bardzo głośnym, jednak jakość dźwięku trochę się pogarsza. Programowe wzmocnienie przydatne jest np., gdy na zewnątrz (na powietrzu) laptop nie może "przekrzyczeć" szumu otoczenia. Jeśli nie potrzebujesz programowego wzmocnienia, to w Ustawienia -> Dźwięk -> zakładka Podstawowe odszukaj funkcję Maksymalny poziom głośności i wzmocnienia (zobacz trzeci fotos) i ustaw odpowiednio 100 % i 0 dB.

Jeśli nie potrzebujesz programowego wzmocnienia, to w Ustawienia -> Dźwięk -> zakładka Podstawowe odszukaj funkcję Maksymalny poziom głośności i wzmocnienia (vide trzeci fotos) i ustaw 100 % і 0 dB lub zdejmij zaznaczenie z tej funkcji.

Ponadto można szybko włączyć/wyłączyć programowe wzmocnienie używając PPM na suwaku głośności.

## Przełączanie strumieni audio

Menu podręczne przycisku Ustawienia dźwięku daje nam możliwość przeglądu wszystkich dostępnych strumieni audio oraz (jeśli dostępnych jest wiele strumieni audio) przełączanie się między tymi strumieniami.

Można także przełączać ścieżki dźwiękowe klawiszem /.

## Ustawienia dźwięku

Kliknięcie na przycisku Ustawienia dźwięku wywołuje następujące okno, które pozwala na dostosowanie dźwięku odtwarzanego pliku.

Górne pole wyboru Włącz wbudowany moduł przetwarzania dźwięku określa, czy odtwarzacz będzie tylko przełączał ścieżki i przenosił je względem wideo lub (gdy włączone) da nam dodatkowo możliwość używania Korektora, normalizacji dźwięku, regulacji ustawienia balansu i przesunięcia dźwięku w stosunku do obrazu. Oprócz tego, przy włączonym module przetwarzania dźwięku, w przypadku zmiany tempa odtwarzania tonalność dźwięku nie zwiększy się, ani nie zmniejszy.

### Ustawienia normalizacji

Menu rozwijane zawiera następujące opcje normalizacji:

- Normalizacja standardowa - proporcjonalne wzmocnienie całego sygnału z największym średnim zaszumieniem.
- Normalizacja alternatywna - działa podobnie jak normalizacja standardowa lecz z pewnymi różnicami w parametrach oraz algorytmie.
- Kompresja – zmniejsza zakres dynamiki (która jest różnicą w decybelach pomiędzy najcichszymi i najgłośniejszymi częściami dźwięku) poprzez proporcjonalne podnoszenie głośności, przy czym najcichsze i najgłośniejsze fragmenty są mniej wzmacniane. Kompresja jest połączona z normalizacją wartości szczytowych: która jest proporcjonalnym wzmocnieniem sygnału dla wszystkich górnych poziomów, w których wartości szczytowe sygnału osiągają maksymalny poziom; jest to maksymalne wzmocnienie sygnału audio, gdzie dźwięk nie jest dotknięty zniekształceniami.
- Niwelacja - stopniowo wygładza każdy dźwięk powyżej określonego poziomu i stopniowo przywraca głośność, gdy dźwięk spada poniżej tego poziomu. Niwelacja jest również połączona z normalizacją szczytową: (zobacz powyżej w Kompresji).

### Inne ustawienia

Okno ustawień dźwięku umożliwia:

- wyrównanie nierównego dźwięku za pomocą normalizacji;
- włączenie automatycznego wzmocnienia zbyt cichego dźwięku (jeśli włączona standardowa normalizacja);
- zsynchronizowanie dźwięku z wideo, przesuwając go do przodu-do tyłu;
- zmianę dźwięku przy pomocy Korektora (należy najpierw włączyć Korektor);
- i inne oczywiste rzeczy.

## Globalne ustawienia dźwięku

Globalne ustawienia dźwięku znajdują się w Ustawienia -> Dźwięk -> zakładka Główne.

Tutaj można wybrać zakres regulacji dźwięku, priorytety języków i tym podobne ustawienia, które zwykle po pierwszym ustawieniu nie zmieniają się.

Ustawienia oznaczone czerwonym prostokątem, są używane do regulacji głośności:

- krok regulacji głośności - to wielkość zmiany wartości głośności po jednym przyciśnięciu klawisza lub jednego przewinięcia rolki myszki;
- maksymalny poziom głośności (%) - określa zakres przewijania. Uwaga: jest to - tylko wizualne ustawienie;
- maksymalny poziom wzmocnienia (%) - określa siłę programowego wzmocnienia głośności dźwięku na wykresie głośności powyżej 100%.

Przykład: jeśli maksymalna głośność uzyska 2,0 dB i maksymalny poziom głośności 300%, maksymalna głośność jest interpolowana w stosunku do obecnej głośności, jeśli jest wyższa niż 100%. Poziom głośności 150% odpowiada przyrostowi głośności o 0,5 dB, a 200% przy 1,0 dB, i tak dalej.

Uwaga:

- Rozszerzona głośność może być stosowana tylko wtedy, gdy w oknie Ustawienia dźwięku zostanie aktywowana opcja Włącz wbudowany moduł przetwarzania audio.
- Rozszerzoną głośność można włączyć/wyłączyć klikając PPM na suwaku głośności.

Druga zakładka pozwala ustawić parametry dźwięku na wyjściu:

Zwróć uwagę: można tutaj także przydzielić bank dźwięków dla odtwarzania plików muzycznych w formacie MIDI.

## Urządzenia wyjściowe audio

Podczas używania programu z wyjściem audio do urządzeń zewnętrznych można natknąć się na następujące metody wyjścia wbudowane w Windows: ASIO, WASAPI, DirectSound, WaveOut, DirectMusic, itp.

Co oznaczają te terminy, opisane jest poniżej. Ale, aby zrozumieć te pojęcia, konieczne jest najpierw omówienie architektury podsystemów dźwiękowych w OS Windows:

## Architektura podsystemu audio

Windows XP

Przykładowy schemat podsystemu audio w systemie Windows XP:

W tym przypadku, DirectSound z MME (Multimedia Extensions) ma bezpośredni dostęp do zasobów sprzętowych, w tym miksera dźwięku, konwersji częstotliwości próbkowania, różnych efektów (w tym pozycjonowania 3D) - krótko mówiąc, wszystkiego, co jest potrzebne dla muzyki/filmów, jak również gier. Jednak te mechanizmy zależne są od sterowników. Złe sterowniki mogą powodować zniekształcenia dźwięku spowodowane źle zaprogramowanym wyborem (oversampling) w kontrolerze Wave (w Kmixer) lub inne niepożądane procesy.

Windows Vista i Windows 7

W systemie Windows Vista, architektura została radykalnie zmieniona i został zaprojektowany zupełnie nowy podsystem wejścia/wyjścia. Patrz schemat poniżej:

- API — Application Programming Interface
- APO — Audio Processing Object
- CPT — Cross Process Transport
- KST — Kernel Streaming Transport

## Interfejsy wyjściowe audio

Kernel-streaming

Kernel-streaming - jest to sposób w jaki system operacyjny Windows wysyła dźwięk. Kernel-streaming wysyła audio z odtwarzacza do sterownika audio. Kernel-streaming przesyłając audio miesza je również dźwiękami systemu Windows, czy sygnałów dźwiękowych.

Istnieje kilka metod Kernel-streamingu. Niektóre z tych metod są opisane bardziej szczegółowo poniżej (opisano różne metody strumieniowania audio w stosunku do Kernel-streaming, które minimalizują zniekształcenia/zakłócenia).

WaveOut

WaveOut jest przestarzałym API, który został zachowany jedynie dla zgodności z programami, które są tak stare, że nic nie wiedziały o istnieniu czegoś takiego jak DirectSound. Wraz z wydaniem Windows 2000, a później WinXP był WaveOut, jako część MME, zawarty we wsparciu Windows Driver Model (WDM) dla zapewnienia zgodności ze starszymi aplikacjami, a DirectSound stał się głównym interfejsem. Począwszy od systemu Windows Vista obsługę MME całkowicie wstrzymano...

DirectMusic

DirectMusic jest przestarzałą częścią Microsoft DirectX API. DirectMusic umożliwia komponowanie muzyki, dźwięków oraz odtwarzanie i zapewnia elastycznie interaktywną kontrolę nad sposobem odtwarzania. Architektonicznie DirectMusic jest zestawem wysokiego poziomu obiektów, zbudowanym powyżej DirectSound, co umożliwia odtwarzanie dźwięków i muzyki na niższym poziomie w DirectSound. DirectSound pozwala na nagrywanie i odtwarzanie cyfrowych próbek audio, podczas gdy DirectMusic współpracuje z danymi muzycznymi na bazie komunikatów. Muzyka może być syntetyzowana sprzętowo w Microsoft GS Wavetable SW Synth lub w niestandardowym syntezatorze.

DirectSound

Jest to najczęściej stosowany/używany Kernel-streamingu, standard dla odtwarzaczy niemal wszystkich mediów, niezależnie od systemu operacyjnego. Za pośrednictwem DirectSound systemu Windows można odtwarzać wiele strumieni z różnych aplikacji. DirectSound pracuje jako warstwa pośrednia między aplikacjami i sterownikami systemu Windows. Rejestruje dźwięk z wielu aplikacji oraz wszystkie próbki dźwięku w strumieniu, a następnie przesyła je do sterowników audio.

Wadą tego wejścia jest to, że nigdy nie otrzymamy tego, co tak naprawdę jest odtwarzane. Na przykład, jeśli odtworzymy plik dźwiękowy 192 kHz/24 bity, Windows prawdopodobnie resampluje go na 44 kHz/16 bitów, a także inne dźwięki w maszynie. DirectSound próbkuje automatycznie strumień audio o częstotliwości próbkowania, który jest obsługiwany przez sprzęt dźwiękowy.

W Windows XP możliwe jest uzyskanie tą metodą stosunkowo małych zniekształceń z częstotliwością próbkowania, która jest dynamicznie regulowana. Począwszy od Windows Vista DirectSound jest emulowany przez WASAPI. W Windows Vista i Windows 7 należy unikać DirectSound ponieważ powoduje znaczne zniekształcenia. Częstotliwość próbkowania jest ukrywana w określonej stałej prędkości wyjściowej, którą można ustawić w opcjach zaawansowanych urządzenia audio w ustawieniach dźwięku systemu Windows.

WASAPI

Windows Audio Session Application Programming Interface (WASAPI), to najnowsza metoda Kernel-streamingu oraz zamiennik dla DirectSound. Za pośrednictwem WASAPI aplikacja może zażądać wyłącznego dostępu do karty dźwiękowej i może wysyłać strumień dźwięku bezpośrednio do karty dźwiękowej. W tym przypadku aplikacja musi obsługiwać dowolny resampling, jeśli częstotliwość próbkowania odtwarzanego dźwięku nie jest obsługiwana przez kartę dźwiękową.

WASAPI zapewnia dwa tryby pracy: współdzielony i wyłączności. W trybie współdzielonym działa podobnie jak DirectSound, a mikser audio systemu Windows robi resampling i mieszanie. W trybie wyłączności WASAPI omija mikser audio systemu Windows oraz ma możliwość wysłania danych bezpośrednio do aplikacji karty dźwiękowej. Ten tryb można zastosować dla formatów takich jak: DTS, DTS Master Audio, Dolby True HD, Dolby digital, Flac, itp. - strumień dźwięku jest dekodowany oraz wysłany w postaci niezmienionej.

Ponadto ważne jest, w jaki sposób WASAPI zarządza danymi miedzy buforami dla różnych trybów. Do przetwarzania danych WASAPI wykorzystuje impuls i metodę pobierania na zażądanie. W push-mode przesuwa stosowne dane do buforów i monitoruje je w sposób ciągły, a kiedy widzi, że bufor jest opróżniany, napełnia go ponownie. W pull-mode, która jest bardziej nowoczesną techniką wykorzystuje zastosowanie dwóch buforów. Sterownik dźwięku dostarcza sygnał do aplikacji, gdy bufor jest pusty, a następnie rozpoczyna przetwarzanie danych z innej pamięci buforowej. W tym samym czasie rozpoczyna się wypełnianie pustego bufora.

W Windows Vista i Windows 7 jest możliwość stosowania WASAPI i jest to bardziej korzystne od DirectSound.

ASIO

Audio Stream Input/Output (ASIO) jest kolejnym sposobem przesyłania dźwięku, ale nie jest to Kernel-streaming. ASIO został opracowany przez Steinberg Ltd. umożliwiając częściowe pomijanie regularnego łańcucha dźwięku podczas odtwarzania audio za pomocą podsystemu audio Windows (w tym Kernel Mixer, który powoduje zniekształcenia). Zapewnia bezpośredni sposób komunikowania się z kartą dźwiękową, czego wynikiem jest doskonały sygnał audio - do 24-bit/192 kHz, przy krótkim czasie reakcji i bez konwersji częstotliwości próbkowania.

Uwaga:

- Profesjonalne urządzenie audio z własnym sterownikiem ASIO zwykle działa lepiej, niż przy użyciu ASIO4ALL używany z rodzajową kartą dźwiękową. Specyficzne karty dźwiękowe przeznaczone specjalnie do nagrywania i produkowania muzyki z reguły mają lepszą jakość dźwięku, lepszą wydajność i są ze sterownikami ASIO, które są przeznaczone dla tego konkretnego urządzenia.

Wybór interfejsu

Wybierz najlepszą jakość dźwięku dla Twojego sprzętu w następującej kolejności:

- 1. używaj ASIO, jeśli Twoja karta ma swój własny sterownik ASIO;
- 2. w przeciwnym razie należy użyć WASAPI w trybie wyłączności (tylko w systemie Windows Vista lub nowszym);
- 3. inaczej, należy użyć Kernel Streaming, jeśli działa;
- 4. jeśli żadna z powyższych opcji nie jest możliwa, należy używać DirectSound lub WaveOut. Żadna z nich nie zapewnia bezpośredniego wyjścia sprzętowego, więc zdecyduj opierając się na wydajności.