Pular para o conteúdo

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

Dica publicada em Linux / Configuração
Sidnei Serra Zoiudo
Hits: 1.309 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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"
}
}
}
]
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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"...
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

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

Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads

Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina

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

fcitx - Resolvendo problema com acentuação

Detecção automática de impressora no Linux

Como mudar o sistema operacional padrão no Grub2

Compactar arquivos e pastas com senha usando o 7z

Otimizando seu Linux com o prelink (e uma mãozinha do Kurumin)

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.