Pesquisa de site

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 por 0 para ativar o som ou 1 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. Use musepad para XFCE, pluma para MATE ou nano 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.

Artigos relacionados