Acasă
» Sfaturi pentru PC
»
Reduceți distorsiunea audio în Ubuntu 24.04 cu modificări ALSA specifice
Reduceți distorsiunea audio în Ubuntu 24.04 cu modificări ALSA specifice
Începeți prin a reduce amplificarea redării și a verifica dacă distorsiunea afectează fiecare aplicație. Pe Ubuntu 24.04 Desktop, PipeWire se află în mod normal între aplicații și dispozitivul de sunet, așa că o modificare ALSA este utilă doar atunci când rezolvă cauza: utilizați mixerul pentru clipping, un ALSA plugPCM pentru o aplicație ALSA-direct cu o nepotrivire de format sau un test de economisire a energiei pentru clicuri după inactivitate. Evitați înlocuirea setării implicite ALSA la nivel de sistem ca prim pas.
Distorsiunea provine de la o singură aplicație sau de la întregul sistem?
Această distincție determină ce setare este relevantă. Un browser care sună prost în timp ce sistemul emite alerte și un alt player sună curat indică aplicația, nivelul acesteia de streaming sau ieșirea selectată. Distorsiunea în fiecare aplicație poate proveni dintr-un câștig excesiv de redare, dispozitiv sau cablu, un driver sau o tranziție de alimentare. Setările ALSA nu repară un difuzor deteriorat sau o conexiune fizică slabă.
Redați același clip audio scurt în două aplicații diferite, folosind aceeași ieșire. Reduceți volumul aplicației și nivelul de ieșire al Ubuntu înainte de testare; un semnal digital tăiat în amonte nu poate fi reparat prin schimbarea ulterioară a unui mixer hardware.
Deschideți un terminal și executați comenzile pactl infoși wpctl status. Acestea afișează serverul audio activ și obiectele PipeWire disponibile atunci când aceste instrumente sunt instalate. Planul de testare audio pentru desktop-uri al Ubuntu documentează PipeWire ca server de sunet pentru desktop. Dacă instalarea a fost personalizată, utilizați rezultatul acestor comenzi în loc să presupuneți calea audio.
Rulați aplay -lpentru a lista hardware-ul de redare ALSA. Dacă problema apare doar prin intermediul unei căști, difuzor, dock sau cablu, restabiliți sau schimbați conexiunea respectivă înainte de a schimba configurația.
Ieșire ilustrativă a terminalului care arată PipeWire ca server audio și dispozitive de redare care listează.
Ar putea fi saturație amplificarea redării?
Da. Când sunetul devine dur, bâzâit sau întrerupt la vârfurile puternice, reduceți amplificarea înainte de a adăuga configurația. Se pot suprapune mai multe controale de volum: aplicația, ieșirea desktopului și controalele hardware, cum ar fi Master, PCM sau Speaker. Numele lor diferă în funcție de dispozitivul audio, așa că schimbați câte un control de redare relevant pe rând și ascultați din nou.
Instalați utilitarul mixer, dacă este necesar, cu sudo apt install alsa-utils.
Executare alsamixer. Apăsați F6pentru a selecta placa de sunet, apoi F3pentru a afișa comenzile de redare. Folosiți tastele săgeată pentru a reduce probabil controlul Master, PCM sau Speaker. alsamixerManualul Ubuntu Noble documentează aceste vizualizări ale plăcii și redării.
De asemenea, reduceți volumul de ieșire al aplicației și al desktopului la un nivel moderat. Nu apăsați un control peste 100% pentru a compensa o sursă silențioasă; amplificarea poate agrava clipping-ul. Mic Boosteste un control de captură și nu este soluția de redare.
Testați cu același pasaj audio după fiecare ajustare. Dacă reducerea unui anumit control hardware elimină distorsiunea, mențineți acel control sub nivelul la care revine intensitatea. Nu există un procent universal „corect”: comenzile plăcii și sensibilitatea difuzoarelor variază.
Vizualizare ilustrativă a redării alsamixer cu controalele Master, PCM și Speaker menținute sub maxim.
Problema afectează doar o aplicație care deschide ALSA direct?
Încercați conversia ALSA plugînainte de a edita un dispozitiv implicit. Pluginul poate converti formatul eșantionului, rata sau numărul de canale pentru a se potrivi cu hardware-ul. Aceasta este o alegere bună pentru un program vechi sau din linie de comandă care deschide ALSA direct și eșuează sau sună greșit cu un PCM hardware brut. Nu modifică ruta utilizată de aplicațiile PipeWire obișnuite.
Găsiți numerele plăcii și ale dispozitivului în aplay -l. Pentru un test rapid, înlocuiți hardware-ul PCM afișat pe mașina dvs. în această comandă:
plughw:0,0înseamnă cardul 0, dispozitivul 0; numerele pot diferi. Dacă acest test de conversie sună curat, în timp ce un hw:0,0test direct eșuează, puteți defini un PCM denumit în fișierul de configurare al utilizatorului ~/.asoundrc:
pcm.converted {
type plug
slave.pcm "hw:0,0"
}
Înlocuiți hw:0,0cu dispozitivul pe care l-ați identificat. Selectați convertedîn aplicația compatibilă cu ALSA sau testați-l cu speaker-test -D converted -c 2 -t sine -f 440 -l 1. Faceți o copie de rezervă a unui dispozitiv existent înainte de a-l edita. Referința pluginului PCM~/.asoundrc al proiectului ALSA descrie conversia, iar ghidul său asoundrc documentează configurația utilizatorului și a sistemului. Evitați copierea acestei definiții în , cu excepția cazului în care intenționați în mod specific să înlocuiți setarea implicită ALSA pentru toți clienții ALSA; acest lucru poate perturba alte dispozitive sau rutarea desktop.pcm.!default
Fragment ilustrativ de fișier ~/.asoundrc care definește un PCM de tip plug ALSA denumit pentru un dispozitiv hardware selectat.
Se aude un clic doar după o pauză sau când se reia redarea?
Acest model poate indica economisirea energiei codecului HDA, mai degrabă decât clipirea. Testați setarea temporar doar dacă driverul snd_hda_intelși parametrul există. Mai întâi verificați valoarea curentă:
Dacă fișierul există, dezactivați temporar intervalul de economisire a energiei codecului până la repornire:
echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save
Redați sunetul, lăsați-l inactiv suficient de mult timp pentru a se produce clicul și reluați redarea. Documentația kernelului pentru economisirea energiei ALSA descrie parametrul de economisire a energiei HDA și notează că tranzițiile de alimentare pot produce clicuri audibile pe anumite componente hardware. Dezactivarea acestei setări poate consuma mai multă energie; nu este un remediu general pentru distorsiunile din timpul redării continue.
Dacă testul vă ajută și doriți să persiste, creați /etc/modprobe.d/alsa-hda-powersave.confun fișier care conține options snd_hda_intel power_save=0, apoi reporniți sistemul. Pentru a anula procesul, eliminați fișierul respectiv și reporniți sistemul. Dacă calea sysfs lipsește, săriți peste această modificare: este posibil ca driverul să nu fie încărcat sau dispozitivul dvs. să utilizeze un alt driver. Nu creați manual o cale lipsă.
Vedere ilustrativă a terminalului care arată o valoare HDA power_save care se schimbă de la 10 la 0 pentru un test temporar.
Cum poți confirma remedierea corectă?
Redați același pasaj la un nivel moderat în aplicația originală și într-o a doua aplicație. Verificați dacă vârfurile nu mai sunt aspre și, pentru o problemă de clic în așteptare, confirmați că sunetul se reia fără clic. Dacă ați adăugat un PCM ALSA denumit, testați-l din programul compatibil ALSA; este posibil ca un browser sau alt client PipeWire să nu utilizeze această definiție.
Dacă distorsiunea persistă în aplicații, ieșiri și niveluri rezonabile de redare, reveniți la setările experimentale și investigați conexiunea, dispozitivul sau driverul kernelului. Ubuntu recomandă verificarea conectorilor și a dispozitivului audio selectat pentru trosnituri. Colectați aplay -lși, pentru audio PCI, lspci -nnkieșirea atunci când solicitați ajutor specific driverului. Evitați modificările arbitrare ale dimensiunii bufferului: modificările bufferului schimbă latența cu toleranța la underrun și ar trebui să urmărească dovezile de întreruperi, nu trebuie utilizate ca un remediu generic pentru distorsiune.