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

Publicado por Sidnei Serra em 08/12/2025

[ Hits: 86 ]

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

Instalando partes faltantes do Plasma 6

Adicionando o repositório backports no Debian 13 Trixie

Hardware antigo no Arch Linux e outras distribuições

Otimização de memória para máquinas modestas

Leitura recomendada

Login automático sem XDM, KDM, GDM e tudo que for M no Slackware

Instalando uma placa de rede PCI Express Agere ET131x - Slackware 12

Traduzindo Firefox para pt_BR no Slackware 14.0

Adicione o Google à lista de repositórios do Ubuntu

CentOS 7: configurando autologin

  

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