Gravação com headset Bluetooth no Linux
Se você usa um headset Bluetooth e o Scribossauro não captura o áudio das reuniões, este guia explica por que isso acontece e como resolver com um sink virtual de loopback.
Por que isso acontece?
Dispositivos Bluetooth no modo A2DP (alta qualidade de áudio) funcionam apenas como destino de reprodução — eles não expõem uma porta de captura/monitor no PipeWire. Isso significa que, mesmo que o seu headset esteja tocando o áudio do YouTube ou do Google Meet perfeitamente, o Scribossauro não consegue "ver" esse fluxo de áudio para gravá-lo.
Essa é uma limitação do stack BlueZ/PipeWire, não do Scribossauro. A solução é criar um sink virtual (um dispositivo de áudio fictício) que funciona como intermediário: o sistema toca o áudio através dele, e esse sink expõe um monitor real que o Scribossauro consegue gravar. O áudio é então redirecionado do sink virtual para o seu headset Bluetooth.
Pré-requisitos
- Ubuntu 22.04+ (ou qualquer distro com PipeWire como servidor de áudio)
- Pacotes
pipewire-pulseepipewire-audio-client-librariesinstalados (já vêm por padrão no Ubuntu 22.04+) - Headset Bluetooth pareado e conectado
Passo a passo
1. Descubra o nome do seu dispositivo Bluetooth
Abra um terminal e liste os sinks disponíveis:
pactl list short sinksProcure uma linha com bluez_output no nome. Vai ser algo como:
bluez_output.AA_BB_CC_DD_EE_FF.1Anote esse nome — você vai usá-lo no próximo passo.
2. Crie o sink virtual (loopback)
Execute os dois comandos abaixo, substituindo SEU_SINK_BLUETOOTH pelo nome que você anotou:
# Cria o sink virtual
pactl load-module module-null-sink \
sink_name=scribo_loop \
sink_properties=device.description="Scribossauro Loop"
# Encaminha o áudio do sink virtual para o Bluetooth
pactl load-module module-loopback \
source=scribo_loop.monitor \
sink=SEU_SINK_BLUETOOTHCada comando retorna um número (ex: 42). Guarde esses números — eles são os IDs dos módulos, úteis para desfazer a configuração depois.
3. Defina o sink virtual como saída padrão
Abra as Configurações de Som do sistema (ou o mixer do PipeWire que você usa, como pavucontrol) e defina Scribossauro Loop como dispositivo de saída padrão.
Ou, pela linha de comando:
pactl set-default-sink scribo_loopA partir de agora, todo o áudio do sistema vai passar pelo sink virtual e ser redirecionado automaticamente para o seu headset Bluetooth.
4. Configure o Scribossauro para gravar o monitor
Abra o Scribossauro, vá em Configurações → Dispositivo de áudio e selecione Monitor of Scribossauro Loop (ou similar). Inicie uma gravação — o áudio do sistema deve aparecer no medidor de volume.
5. Desfazer a configuração (quando terminar)
Para remover o sink virtual e restaurar o comportamento normal, use os IDs que você anotou no passo 2:
pactl unload-module ID_DO_LOOPBACK
pactl unload-module ID_DO_NULL_SINKOu, para remover todos os módulos de loopback e null-sink de uma vez:
pactl unload-module module-loopback
pactl unload-module module-null-sinkNão se esqueça de restaurar o sink padrão do sistema nas configurações de som.
Tornar a configuração permanente (opcional)
Os módulos carregados com pactl load-module são temporários e desaparecem ao reiniciar o computador. Para automatizar, você pode criar um script de shell e executá-lo ao ligar a máquina (via systemd user service ou autostart do seu ambiente de desktop).
Como essa configuração afeta o roteamento global de áudio do sistema, o Scribossauro não faz isso automaticamente. Recomendamos configurar manualmente antes de cada uso ou criar o script conforme a sua necessidade.
Ainda com problemas?
Entre em contato pelo [email protected] descrevendo sua distro, versão do PipeWire (pipewire --version) e o output do comando pactl list short sinks.
