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

Publicado por Sidnei Serra em 08/12/2025

[ Hits: 688 ]

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
nano ~/.config/wireplumber/wireplumber.conf.d/51-audio-buffer.conf

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

Olha que Conky "bunitinhu" pra usar no seu sistema

Usando o Dolphin para checar hashes de arquivos

Instalando partes faltantes do Plasma 6

Hardware antigo no Arch Linux e outras distribuições

Como anda a saúde do disco rígido?

Leitura recomendada

GeForce FX5200 - Configurando o modo clone

Gerando sources lists para o Ubuntu

Radeon no XFree86 com suporte a aceleração

Removendo Repositórios Problemáticos no Fedora 27

Configurando navegador padrão via terminal no Debian

  

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