Configure a entrada/saída de áudio via WirePlumber no Ubuntu 24.04
Como você sabe, o Ubuntu usa PipeWire como substituto do PulseAudio para seu servidor de som padrão desde o Ubuntu 23.04. E agora ele usa o WirePlumber para gerenciar sessões e políticas de pipewire.
Com o WirePlumber, você pode configurar mais sobre a saída e entrada de som. Você pode usar o comando Linux para alternar o dispositivo de entrada/saída de áudio padrão, alterar o nível de volume e ativar/desativar o som e o microfone.
Além disso, você pode alterar a profundidade de bits de áudio, taxa de amostragem, qualidade de reamostragem e outras propriedades para determinados dispositivos de som.
NOTA: Este tutorial NÃO funciona para Ubuntu 22.04 e anteriores, pois eles usam PulseAudio como padrão. E o script lua NÃO funciona para 24.10 e posteriores devido a mudanças de política!
Use o comando wpctl
WirePlumber possui uma ferramenta de linha de comando chamada wpctl
. É útil para obter o status e as propriedades do seu dispositivo e alterar algumas configurações rapidamente, como definir o dispositivo de áudio padrão e alterar o volume.
Primeiro, abra uma janela de terminal (Ctrl+Alt+T
) e execute o comando:
wpctl status
O comando produzirá todos os dispositivos de áudio, coletores de áudio e fontes de áudio. Aqueles com * no início são os padrões em uso. E os números (por exemplo, 48, 49, 39 na imagem abaixo) são os IDs.
Para alternar o dispositivo de entrada ou saída de áudio padrão, se você tiver vários dispositivos disponíveis, use o comando:
wpctl set-default ID
Substitua aqui o ID pelo número obtido no último comando wpctl status
.
E você pode usar os comandos abaixo para aumentar, diminuir ou definir o volume. O que pode ser útil para fins de script ou ligação para atalhos de teclado.
Aumente o volume em 5% para a saída de áudio padrão, com um limite de 150%:
wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+
Diminua o volume em 5% para saída de áudio padrão:
wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
Defina o volume da saída padrão para 0,5:
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.5
-
Ative/desative o som para a saída de áudio padrão (ou substitua
toggle
por0
para ativar o som ou1
para desativar o som):wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
Nos comandos acima, você pode substituir @DEFAULT_AUDIO_SINK@
por @DEFAULT_AUDIO_SOURCE@
para a entrada de áudio padrão (por exemplo, microfone). Ou use o número de ID para determinado coletor/fonte de áudio.
Use o script lua para configurar as propriedades do som
NOTA: Esta etapa funciona apenas para WirePlumber 0.4.x (24.04 tem 0.4.17). Ele abandonou o suporte ao script lua desde a versão 0.5 (24.10 tem v0.5.6).
Etapa 1: Obtenha o nome da entrada/saída de som alvo
Como os números de identificação dos dispositivos de som são dinâmicos e mudam frequentemente, você precisa descobrir o device.name
ou node.name
para informar ao WireBlumder qual dispositivo você deseja configurar .
Primeiro, execute o comando abaixo para descobrir o ID do dispositivo/coletor de destino que você deseja configurar:
wpctl status
Em seguida, utilize o comando abaixo para exibir mais informações sobre o objeto alvo (substitua o número 49 de acordo com o último comando).
wpctl inspect 49
Na saída, copie o valor de “device.name” ou “node.name” para usar na próxima etapa.
Etapa 2: criar e editar arquivo de script lua
O Ubuntu 24.04 até agora usa scripts lua para configuração do WirePlumber. Os arquivos de configuração padrão estão localizados no diretório /usr/share/wireplumber
. Embora o usuário possa criar arquivos de configuração personalizados nos diretórios /etc/wireplumber
ou ~/.config/wireplumber
.
1. Somente para o usuário atual, pressione Ctrl+Alt+T no teclado para abrir o terminal e executar comandos:
Primeiro, crie a pasta de configuração local do wireplumber:
mkdir -p ~/.config/wireplumber/
Em seguida, crie a subpasta
main.lua.d
para armazenar scripts lua:mkdir -p ~/.config/wireplumber/main.lua.d
Por fim, crie e abra um arquivo de script personalizado com o nome
51-alsa-custom.lua
:gnome-text-editor ~/.config/wireplumber/main.lua.d/51-alsa-custom.lua
Aqui, substitua
gnome-text-editor
depende do seu ambiente de área de trabalho. Usemusepad
para XFCE,pluma
para MATE ounano
editor de texto de linha de comando que funciona na maioria dos desktops.
2. Quando o arquivo abrir, cole o conteúdo abaixo e edite de acordo.
rule = {
matches = {
{
{ "node.name", "matches", "alsa_output.pci-0000_00_1f.3.analog-stereo" },
},
},
apply_properties = {
["node.description"] = "Laptop Built-in Speaker",
["audio.format"] = "S32LE",
["audio.rate"] = 48000
},
}
table.insert(alsa_monitor.rules,rule)
IMPARTANTE: Erros de configuração e digitação neste arquivo PODEM interromper a saída ou entrada de som! Faça isso com cuidado!
Aqui você precisa:
- Substitua
alsa_output.pci-0000_00_1f.3.analog-stereo
pelo nome do seu dispositivo de áudio/nó coletor (consulte a Etapa 1). Adicione mais (ou exclua se necessário) e altere as configurações de áudio na seção “apply_properties” de acordo. Outras propriedades incluem:
- [“node.disabled”]=falso,
- [“prioridade.driver”]=100,
- [“prioridade.sessão”]=100,
- [“node.pause-on-idle”]=falso,
- [“dither.noise”]=0,
- [“dither.method”]=“none”, - “retangular”, “triangular” ou “em forma5”
- [“canais de áudio”]=2,
- [“session.suspend-timeout-seconds”]=5, - 0 desativa a suspensão
Para obter mais opções, leia o arquivo /usr/share/wireplumber/main.lua.d/50-alsa-config.lua
ou consulte a documentação oficial para propriedades de dispositivos/nó (algumas podem ser não está disponível porque o WireBlumder é antigo no Ubuntu).
Para o editor de texto de linha de comando nano, pressione Ctrl+S para salvar o arquivo e Ctrl+X para sair.
Etapa 3: aplicar alterações
Para aplicar o novo arquivo de configuração, basta executar o comando abaixo para reiniciar o serviço wireblumder:
systemctl --user restart wireplumber.service
Desfazer :
Quaisquer configurações incorretas ou erros de digitação cometidos na última etapa podem interromper a saída/entrada de som. Nesse caso, basta excluir esse arquivo através do comando abaixo:
rm ~/.config/wireplumber/main.lua.d/51-alsa-custom.lua
Em seguida, reinicie o serviço (consulte a Etapa 3) para restaurar tudo ao padrão.