Soundshine app icon

Soundshine

← Voltar para o blog

Por que o macOS bloqueia o áudio do sistema (e a solução que leva 30 segundos)

Você está em uma chamada do Zoom e quer tocar um vídeo do YouTube pra todo mundo ouvir. Aperta play e seus participantes não ouvem nada. Ou está tentando gravar sua tela com o QuickTime e o vídeo final não tem áudio do sistema, só silêncio total. Você procura pelos Ajustes do Sistema, confere as opções de áudio do Zoom, fuça pelos menus do QuickTime. Nada.

Isso não é bug. É uma escolha de design deliberada da Apple. O macOS simplesmente não permite que apps capturem o áudio tocando no computador. Se você já se perguntou por que isso funciona bem no Windows mas parece impossível no Mac, aqui está o que de fato está acontecendo por baixo do capô.

Como o macOS lida com áudio

Todo som no Mac flui por um sistema chamado CoreAudio. No centro dele está algo chamado HAL, ou Camada de Abstração de Hardware. O HAL é o porteiro entre software e seu hardware de áudio. Quando o Spotify toca uma música, o CoreAudio manda esse áudio pelo HAL pra um dispositivo de saída (seus alto-falantes ou fones). Quando o Zoom precisa da sua voz, ele pede ao HAL áudio de um dispositivo de entrada (seu microfone).

Aqui está a parte chave: o CoreAudio trata entradas e saídas como mundos completamente separados. O áudio sai pros alto-falantes. O áudio entra dos microfones. Não tem ponte embutida que conecte os dois. Não tem jeito de um app dizer “me dá o que está tocando agora pelos alto-falantes” porque esse caminho simplesmente não existe no sistema.

Isso é diferente de como o Windows funciona. O Windows tem um recurso chamado captura de loopback WASAPI, construído diretamente na sua pilha de áudio. O loopback WASAPI deixa qualquer app tocar no fluxo de áudio indo pros seus alto-falantes e ler como entrada. É por isso que apps do Windows podem oferecer “Stereo Mix” ou “What U Hear” como fonte de gravação.

O macOS escolheu não incluir nada disso.

Por que a Apple mantém isso bloqueado

A Apple nunca publicou uma explicação oficial, mas o raciocínio é razoavelmente claro se você olhar como o macOS aborda privacidade e segurança em geral.

Permitir que qualquer app capture silenciosamente todo áudio do sistema seria uma preocupação séria de privacidade. Imagine um processo em segundo plano gravando suas chamadas do FaceTime, mensagens de voz ou o áudio de uma reunião de vídeo confidencial, tudo sem seu conhecimento. Ao não fornecer um caminho de loopback, a Apple garante que nenhum app possa bisbilhotar áudio de outros apps a menos que você explicitamente instale um driver em nível de sistema e dê permissão.

Essa é a mesma filosofia por trás do macOS exigir que você aprove acesso a gravação de tela, microfone e câmera por app. A Apple prefere bloquear as coisas por padrão e deixar o usuário optar por entrar, em vez de deixar portas abertas.

A contrapartida é que casos de uso legítimos, como compartilhar uma música em uma chamada de vídeo ou gravar um tutorial com áudio do sistema, ficam frustrantes. Você fica sem jeito óbvio de fazer algo que parece que deveria ser básico.

O que drivers de áudio virtuais fazem

Já que o macOS não vai criar um caminho de loopback pra você, a solução é criar um você mesmo usando um driver de áudio virtual.

Um driver de áudio virtual é um plug-in CoreAudio que se registra com o HAL como dispositivo de saída e dispositivo de entrada ao mesmo tempo. Quando você roteia seu áudio do sistema pra essa saída virtual, o driver pega esse áudio e disponibiliza na entrada virtual correspondente. Qualquer app que pode ler de um microfone (Zoom, QuickTime, OBS, Discord) agora pode pegar áudio do sistema selecionando o dispositivo virtual como sua fonte de entrada.

Em termos técnicos, o driver cria um buffer circular que fica entre o lado de saída e o lado de entrada. Amostras de áudio escritas na saída são lidas de volta da entrada. Pro resto do macOS, parece um microfone normal. Mas esse “microfone” na verdade está carregando o que o Mac está tocando.

Isso não é hack nem exploit. O framework CoreAudio da Apple explicitamente suporta plug-ins HAL de terceiros. É o jeito oficial de estender as capacidades de áudio do macOS. O driver instala em /Library/Audio/Plug-Ins/HAL/ e exige senha de administrador, que é por isso que ferramentas de áudio virtual pedem permissões elevadas durante a configuração.

Uma breve história das ferramentas de loopback de áudio do Mac

A necessidade de dispositivos de áudio virtuais no macOS não é nova. Pessoas vêm contornando essa limitação há mais de uma década.

Soundflower foi uma das primeiras soluções. Era uma extensão de kernel open source que criava dispositivos de áudio virtuais no macOS. Por anos foi a resposta padrão em fóruns e tutoriais. Mas o Soundflower foi abandonado pelo desenvolvedor original, e conforme a Apple eliminou as extensões de kernel, o Soundflower ficou cada vez mais instável. Em versões modernas do macOS, frequentemente falha em instalar ou causa problemas de áudio.

BlackHole pegou onde o Soundflower parou. É um driver de áudio virtual open source ativamente mantido que funciona nas versões atuais do macOS. O BlackHole é sólido, mas é um cano de áudio cru. Quando você roteia seu áudio do sistema pro BlackHole, para de ouvir pelos alto-falantes a menos que crie manualmente um dispositivo de múltiplas saídas usando o utilitário Configuração de Áudio MIDI da Apple. Pra pessoas confortáveis com esse tipo de configuração, o BlackHole funciona bem. Pra todos os outros, é um processo confuso que envolve fazer malabarismo com vários dispositivos de áudio e torcer pra ter configurado tudo certo.

Loopback da Rogue Amoeba é um app pago (US$ 99) que fornece uma interface polida pra criar dispositivos de áudio virtuais com roteamento por app. É poderoso, mas foi feito pra profissionais de áudio que precisam de controle granular sobre quais apps mandam áudio pra onde. Pra alguém que só quer compartilhar áudio do sistema em uma chamada do Zoom, o Loopback pode parecer comprar uma cozinha comercial quando você só precisava de uma torradeira.

A solução moderna

O Soundshine faz uma abordagem mais simples. Ele instala um driver HAL leve do CoreAudio e te dá um microfone virtual que carrega seu áudio do sistema. Não tem comandos de terminal pra rodar, não tem dispositivos de múltiplas saídas pra configurar na Configuração de Áudio MIDI e nem diagramas de roteamento complexos pra entender.

Você instala o Soundshine e um assistente de configuração guiado cuida da instalação do driver em uns 30 segundos. Depois disso, um ícone na barra de menus te dá um único interruptor pra ligar ou desligar o roteamento de áudio. Quando está ligado, “Soundshine Microphone” aparece como entrada de microfone em qualquer app. Selecione no Zoom, Google Meet, QuickTime, OBS ou no que estiver usando, e o áudio do sistema flui.

Seus alto-falantes continuam funcionando normalmente o tempo todo. O Soundshine passa o áudio pro seu dispositivo de saída real simultaneamente, então você ouve tudo que seus participantes ouvem. O áudio permanece digital de ponta a ponta a 48 kHz, 32 bits float estéreo, então não tem perda de qualidade.

Resumo

O macOS não te deixa compartilhar áudio do sistema porque a Apple intencionalmente deixou de fora um caminho de loopback entre saídas e entradas de áudio. É uma decisão de design focada em privacidade, e improvável que mude. A solução é um driver de áudio virtual que cria a ponte que o CoreAudio não vai fazer.

Se você quer a versão mais simples dessa solução, sem configuração manual e sem precisar de formação em engenharia de áudio, dê uma chance ao Soundshine.

Roteie qualquer áudio, em qualquer lugar

O Soundshine cria um microfone virtual a partir do áudio do sistema para que todos os apps funcionem sem complicação. Sem terminal, sem extensões de kernel.

Baixar grátis