Home
» PC-tips
»
Verminder audiovervorming in Ubuntu 24.04 met gerichte ALSA-aanpassingen.
Verminder audiovervorming in Ubuntu 24.04 met gerichte ALSA-aanpassingen.
Begin met het verlagen van de afspeelversterking en controleer of de vervorming alle apps beïnvloedt. Op Ubuntu 24.04 Desktop bevindt PipeWire zich normaal gesproken tussen applicaties en het geluidsapparaat, dus een ALSA-aanpassing is alleen nuttig als deze de oorzaak aanpakt: gebruik de mixer voor clipping, een ALSA plugPCM voor een ALSA-directe app met een formaatfout, of een energiebesparingstest voor klikken na inactiviteit. Vermijd het vervangen van de systeemwijde ALSA-standaard als eerste stap.
Komt de vervorming door één app of door het hele systeem?
Dat onderscheid bepaalt welke instelling relevant is. Een browser die slecht klinkt, terwijl systeemmeldingen en een andere speler wel goed klinken, wijst op de app, het streamniveau of de geselecteerde uitvoer. Vervorming in elke app kan worden veroorzaakt door een te hoge afspeelversterking, het apparaat of de kabel, een driver of een stroomovergang. ALSA-instellingen repareren geen beschadigde luidspreker of een slechte fysieke verbinding.
Speel hetzelfde korte audiofragment af in twee verschillende apps, met dezelfde uitvoer. Verlaag het volume van de app en het uitvoerniveau van Ubuntu voordat je gaat testen; een digitaal signaal dat stroomopwaarts is overstuurd, kan achteraf niet meer worden hersteld door een hardwaremixer aan te passen.
Open een terminal en voer pactl infode commando's `sudo apt-get audioserver` en `sudo apt-get audioserver` uit wpctl status. Deze commando's tonen de actieve audioserver en de beschikbare PipeWire-objecten wanneer deze tools zijn geïnstalleerd. Het testplan voor desktopaudio van Ubuntu beschrijft PipeWire als de desktopgeluidsserver. Als uw installatie is aangepast, gebruik dan de uitvoer van deze commando's in plaats van het audiopad te veronderstellen.
Voer het commando uit aplay -lom de ALSA-afspeelhardware weer te geven. Als het probleem zich alleen voordoet met één headset, luidspreker, dockingstation of kabel, controleer dan of de betreffende verbinding correct is aangesloten of verwissel deze voordat u de configuratie wijzigt.
Illustratieve terminaluitvoer die PipeWire als audioserver toont en aplay die de afspeelapparaten weergeeft.
Zou de afspeelversterking overstuurd kunnen zijn?
Ja. Als het geluid hard, zoemend of vervormd klinkt bij hoge pieken, verlaag dan de versterking voordat je de instellingen aanpast. Je kunt meerdere volumeregelaars combineren: de applicatie, de uitvoer van het bureaublad en hardwareregelaars zoals Master, PCM of Speaker. De namen hiervan verschillen per audioapparaat, dus pas één relevante afspeelregelaar tegelijk aan en luister opnieuw.
Installeer indien nodig het mixerprogramma met sudo apt install alsa-utils.
Voer het commando uit alsamixer. Druk op de toets F6om de geluidkaart te selecteren en vervolgens F3op de toets om de afspeelbediening weer te geven. Gebruik de pijltjes toetsen om de waarschijnlijke Master-, PCM- of Speaker-regelaar te selecteren. De alsamixerhandleiding van Ubuntu Noble beschrijft deze weergaven van de geluidkaart en de afspeelbediening.
Verlaag ook het uitvoervolume van de app en het bureaublad naar een gemiddeld niveau. Zet de volumeregelaar niet hoger dan 100 procent om een stille bron te compenseren; een hogere volumeregelaar kan de vervorming juist verergeren. Mic BoostDit is een opnameregelaar en geen oplossing voor het probleem tijdens het afspelen.
Test na elke aanpassing met hetzelfde audiofragment. Als het verlagen van een bepaalde hardware-instelling de vervorming verhelpt, houd die instelling dan onder het niveau waarop de scherpte terugkeert. Er bestaat geen universeel "correct" percentage: de instellingen van de geluidskaart en de gevoeligheid van de luidsprekers variëren.
Illustratieve weergave van alsamixer-weergave met de Master-, PCM- en Speaker-regelaars onder het maximum gehouden.
Treedt het probleem alleen op bij een app die ALSA rechtstreeks opent?
Probeer de conversiefunctie van ALSA plugvoordat u een standaardapparaat bewerkt. De plug-in kan het sampleformaat, de samplefrequentie of het aantal kanalen converteren zodat deze overeenkomen met de hardware. Dit is een goede oplossing voor een ouder programma of een commandoregelprogramma dat ALSA rechtstreeks opent en problemen ondervindt of verkeerd klinkt met een onbewerkt PCM-bestand van de hardware. Het wijzigt de route die door gewone PipeWire-applicaties wordt gebruikt niet.
Zoek de kaart- en apparaatnummers op in aplay -l. Voor een snelle test kunt u de hardware-PCM die op uw machine wordt weergegeven, in deze opdracht vervangen:
plughw:0,0Dit betekent kaart 0, apparaat 0; uw nummers kunnen afwijken. Als deze conversietest goed klinkt, terwijl een directe hw:0,0test mislukt, kunt u een benoemde PCM definiëren in uw gebruikersconfiguratiebestand ~/.asoundrc:
pcm.converted {
type plug
slave.pcm "hw:0,0"
}
Vervang dit hw:0,0door het apparaat dat u hebt geïdentificeerd. Selecteer het convertedin de ALSA-compatibele applicatie of test het met speaker-test -D converted -c 2 -t sine -f 440 -l 1. Maak een back-up van een bestaande ~/.asoundrcvoordat u deze bewerkt. De PCM-plug-inreferentie van het ALSA-project beschrijft de conversie en de asoundrc-handleiding documenteert de gebruikers- en systeemconfiguratie. Vermijd het kopiëren van deze definitie naar , pcm.!defaulttenzij u specifiek van plan bent de ALSA-standaard voor alle ALSA-clients te vervangen; dit kan andere apparaten of desktoproutering verstoren.
Illustratief ~/.asoundrc-fragment dat een benoemde ALSA-stekker-PCM definieert voor een geselecteerd hardwareapparaat.
Klinkt het klikgeluid alleen na een stilte of ook wanneer het afspelen wordt hervat?
Dat patroon kan wijzen op energiebesparing door de HDA-codec, in plaats van op clipping. Test de instelling tijdelijk alleen als het snd_hda_intelstuurprogramma en de parameter aanwezig zijn. Controleer eerst de huidige waarde:
Als het bestand bestaat, schakel dan tijdelijk het energiebesparende interval van de codec uit tot de computer opnieuw opstart:
echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save
Speel audio af, laat het apparaat lang genoeg inactief totdat de klik optreedt, en hervat vervolgens de weergave. De ALSA-energiebesparende documentatie van de kernel beschrijft de HDA-energiebesparende parameter en merkt op dat stroomovergangen op sommige hardware hoorbare klikken kunnen veroorzaken. Het uitschakelen van deze instelling kan leiden tot een hoger energieverbruik; het is geen algemene oplossing voor vervorming tijdens continu afspelen.
Als de test helpt en je wilt dat het blijft werken, maak dan een bestand aan /etc/modprobe.d/alsa-hda-powersave.confmet de betreffende inhoud options snd_hda_intel power_save=0en herstart de computer. Om dit ongedaan te maken, verwijder je het bestand en herstart je de computer. Als het sysfs-pad ontbreekt, sla deze aanpassing dan over: het stuurprogramma wordt mogelijk niet geladen of je apparaat gebruikt een ander stuurprogramma. Maak een ontbrekend pad niet handmatig aan.
Illustratieve terminalweergave die laat zien hoe de HDA power_save-waarde verandert van 10 naar 0 tijdens een tijdelijke test.
Hoe kun je bevestigen dat het de juiste oplossing is?
Speel hetzelfde fragment opnieuw af op een gemiddeld volume in de originele app en in een tweede app. Controleer of de pieken niet langer scherp klinken en, bij een probleem met een klikgeluid, bevestig dat het geluid zonder dit klikgeluid verdergaat. Als u een benoemde ALSA PCM hebt toegevoegd, test deze dan vanuit het ALSA-compatibele programma; een browser of andere PipeWire-client gebruikt deze definitie mogelijk niet.
Als de vervorming aanhoudt bij alle apps, uitvoerapparaten en normale afspeelniveaus, herstel dan de experimentele instellingen en onderzoek de verbinding, het apparaat of het kernelstuurprogramma. Ubuntu raadt aan om de connectoren en het geselecteerde geluidsapparaat te controleren op gekraak. Verzamel de audio aplay -len, voor PCI-audio, lspci -nnkde uitvoer wanneer u hulp zoekt voor een specifiek stuurprogramma. Vermijd willekeurige aanpassingen van de buffergrootte: bufferwijzigingen gaan ten koste van latentie en tolerantie voor onderloop en moeten worden toegepast na het optreden van signaalverlies, niet als algemene oplossing voor vervorming.