Witajcie,
Mam problem z jakością dźwięku na wyjściu cyfrowym S/PDIF (optyczne/IEC958), który utrzymuje się pomimo zastosowania wszystkich standardowych poprawek konfiguracji PipeWire. Dźwięk jest poprawny na wyjściu HDMI, co potwierdza problem tylko na torze ALC1200 S/PDIF.
Proszę o pomoc w znalezieniu specyficznego quirku jądra (snd_hda_intel) dla mojej płyty głównej.
1.
Konfiguracja Sprzętowa i Oprogramowania
| Element | Szczegóły |
|---|---|
| Płyta Główna | ASUS TUF Gaming X570-PLUS |
| Kodek S/PDIF | Realtek ALC1200 (zintegrowany) |
| System | Kubuntu (PipeWire jako serwer dźwięku) |
| Wyjście Docelowe | Wyjście cyfrowe S/PDIF (IEC958) |
| Urządzenie Docelowe | Amplituner Yamaha R-N800A |
2.
Precyzyjny Opis i Diagnoza Problemu
- Problem: Dźwięk jest cyfrowo zniekształcony/filtrowany, zwłaszcza w zakresie wysokich częstotliwości. Mowa brzmi nienaturalnie, jak „zaszumiona bez szumu”. Sybilanty (dźwięki „S”, „Z”) są nadmiernie podkreślone lub przesterowane (jak MP3 o bardzo niskim bitrate).
- Kluczowa Weryfikacja:
- Stabilność jest OK (brak trzasków i zacinania).
- Dźwięk na tym samym sprzęcie pod Windows 11 jest idealny.
- Dźwięk na wyjściu HDMI/DisplayPort (NVIDIA) jest idealny.
-
Wniosek: Problem jest izolowany do błędnego przetwarzania cyfrowego (DSP) przez sterownik
snd_hda_intelna wyjściu S/PDIF kodeka ALC1200.
3.
Dotychczas Podjęte Kroki (bezskutecznie)
Wyczerpałem wszystkie próby naprawy po stronie oprogramowania PipeWire/ALSA. Żadne z tych działań nie usunęło zniekształcenia.
-
Optymalizacja PipeWire:
- W pliku konfiguracyjnym PipeWire ustawiono duży bufor Quantum (2644, eliminując potencjalne trzaski).
- Wymuszono najwyższą jakość resamplingu PipeWire:
resample.quality = 4orazresample.method = "speex-float-10".
-
Optymalizacja Jądra/Sterownika:
- Dodano opcję jądra
options snd-hda-intel power_save=0(wyłączenie oszczędzania energii). - Testowano wszystkie znane modele kodeka HDA:
model=alc1220-asus,model=alc1200-asus,model=generic,model=auto.
- Dodano opcję jądra
-
Inne:
- Obniżenie głośności S/PDIF do 90% w celu uniknięcia cyfrowego clippingu.
Pytanie do Społeczności
Czy ktoś spotkał się z tym problemem na płytach ASUS X570 / Realtek ALC1200 S/PDIF i znalazł specyficzny quirk (obejście) wymagany w alsa-base.conf lub innej konfiguracji jądra dla tej konkretnej kombinacji sprzętowej?
Dziękuję za wszelkie sugestie!
Link do pełnego raportu diagnostycznego ALSA: http://alsa-project.org/db/?f=8ef4dd53e2472b8348b62177895244e56f0ce8bb
problem - prawdopodobnie - jest związany z jitterem/taktowaniem S/PDIF na ALC1200, ponieważ żadna optymalizacja PipeWire nie pomogła, a domyślny sterownik HDA najwyraźniej źle taktuje wyjście cyfrowe.
Przeprowadziłem krytyczny test sygnałem sinusoidalnym (sweep 5-20 kHz) generowanym w Audacity. Wynik jest rozstrzygający:
- Wyjście HDMI: Ton jest czysty i narasta poprawnie.
- Wyjście S/PDIF (Realtek ALC1200): Ton jest cyfrowo zniekształcony i brzmi jak „świergot/artefakty modulacji” w wysokich częstotliwościach.
Wniosek: Ten test dowodzi, że problemem jest niepoprawna obsługa sygnału PCM przez sterownik jądra (snd_hda_intel) na wyjściu S/PDIF, co skutkuje błędem taktowania (jitter) i zniekształceniami w zakresie sybilantów.
Ponieważ nawet najlepszy resampler (Speex) nie pomógł (próby zostały przerwane z powodu błędu składni, ale wszelkie inne rozwiązania software’owe zawiodły), proszę o sugestie dotyczące konkretnych quirków lub opcji jądra dla ALC1200 na ASUS X570-PLUS mających wpływ na zegar S/PDIF.