Consertando o áudio com estalos e interrupções no Pipewire

Publicado por Sidnei Serra em 08/12/2025

[ Hits: 106 ]

Blog: https://www.youtube.com/channel/UCRgokKtNlttdmg2RJEa2VYw

 


Consertando o áudio com estalos e interrupções no Pipewire



Uma coisa relativamente chata são as interrupções no áudio e, pior, quando durante a execução de um arquivo de áudio ou vídeo o som fica com partes com ruídos que parecem "pum". Isso acontece mais em máquina perereca porque o processador demora a reagir quando o áudio precisa de dados. Aí o som pede, a CPU não responde a tempo, o buffer esvazia e o áudio sofre um corte (espaços sem som) ou engasga (som de pum). Mesmo que a placa-mãe tenha um chip de áudio interno (sim, um chip como Realtek ou Via VT e que não são um DSP de fato), é o processador quem gerencia a bagaça toda, a não ser que a máquina do usuário tenha uma placa de som do tipo profissional (offboard) ou mesmo onboard (muito raro) com um DSP de verdade.

Vamos ver como resolver isso ou pelo menos tentar. Abra o Terminal e digite:

systemctl --user status wireplumber

Deverá aparecer algo assim:

wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Sun 2025-12-07 05:40:50 -03; 2h 53min ago
Invocation: 339d19069a9b4fc985bec512084b21a8
Main PID: 1217 (wireplumber)
Tasks: 9 (limit: 4330)
Memory: 6.6M (peak: 7.3M)
CPU: 716ms


Depois:

ps -e | egrep "wireplumber|pipewire-media-session"

Deverá aparecer algo assim:

1217 ? 00:00:00 wireplumber

Isso vai mostrar que é o Wireplumber que manda na bagaça e que é o que precisamos. Ainda no Terminal:

wireplumber --version

Se for 0.5 pra cima, no Terminal digite:

mkdir -p ~/.config/wireplumber/wireplumber.conf.d

Coloque dentro:


monitor.alsa.rules = [
{
matches = [
{
node.name = "~alsa_.*"
}
]
actions = {
update-props = {
#experimente valores como 2048 se o problema continuar
api.alsa.period-size = 1024
api.alsa.period-num = 3
#experimente valores como o dobro ou o quádruplo do valor se o problema continuar
api.alsa.headroom = 16384
#experimente valores como 2048 se o problema continuar
node.latency = "1024/48000"
}
}
}
]

Salve o arquivo e reinicie a máquina. Se o seu Wireplumber for abaixo de 0.5, no Terminal:

mkdir -p ~/.config/wireplumber/main.lua.d
nano ~/.config/wireplumber/main.lua.d/51-audio-buffer.lua

Coloque dentro:


alsa_monitor.rules = {
{
matches = {
{ { "node.name", "matches", "alsa_*" }, },
},
apply_properties = {
["api.alsa.period-size"] = 1024,
["api.alsa.period-num"] = 3,
["api.alsa.headroom"] = 16384,

["node.latency"] = "1024/48000"
},
},
}

Salve o arquivo e reinicie a máquina. Como no exemplo anterior, se o problema continuar altere os itens api.alsa.period-size = 1024, api.alsa.headroom = 16384 e node.latency = "1024/48000" para os valores extra-exemplificados no primeiro exemplo de configuração.

E atenção aos chatos de plantão: isso PODE funcionar ou não, na minha funcionou; não ficou 100% mas diminuiu muito mesmo (quase 90%) a "punzaria"...
Outras dicas deste autor

Redimensionando, espelhando, convertendo e rotacionando imagens com script

Olha que Conky "bunitinhu" pra usar no seu sistema

Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux

Solução rápida para o problema do Network Manager conectar mas não navegar

Hardware antigo no Arch Linux e outras distribuições

Leitura recomendada

WvDial e KPPP - Configuração para celular e/ou modem 3G no Slackware 14.0

Desligando micros com fonte ATX no Debian

LAMP - instalação no Elementary Freya e Ubuntu 14.04

Mantendo o relógio do servidor sempre acertado

Barrando acesso de hosts a sua máquina

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts