Mutto: um botão para o seu microfone, em qualquer app
Um atalho, ou um toque no celular, silencia o microfone do Windows 11 em qualquer app de chamada, com o estado sempre à vista. Na Microsoft Store.
7 dias grátis, sem cartão. Depois R$ 29,90, uma vez só.

Criei o Mutto porque vivia ouvindo "você tá no mudo" em reunião, no Teams, no Meet e no Zoom. Cada app de chamada tem o seu botão, e nenhum vale para os outros. O Mutto é um botão só para o microfone, em qualquer app: um atalho (Ctrl+Shift+M por padrão) ou um toque no celular silencia o microfone do Windows 11, e o estado fica sempre à vista.
O que ele faz
- Silencia em qualquer app. O mudo é o do próprio Windows, então Teams, Meet, Zoom, Discord e Slack recebem silêncio.
- O estado sempre à vista. Um aviso no topo da tela, o ícone vermelho na bandeja, um som de confirmação e, se você quiser, um indicador fixo num canto, que não aparece nas capturas de tela.
- O celular vira o botão. Lê um QR e pronto: sem instalar nada, pela rede Wi-Fi, sem passar pela internet.
- Teams e Meet por dentro. Com a integração oficial do Teams e a extensão para Chrome e Edge no Meet, o atalho também cuida da câmera e de sair da reunião (no Teams, de levantar a mão), e o ícone de mudo da reunião acompanha.
- Segurar para falar e segurar para tossir, quando você só precisa de um segundo.
- Mudo ao travar o PC, e ao destravar volta como estava.
- Acessível. Narrador e NVDA anunciam "Microfone mudo" e "Microfone aberto" a cada mudança, venha de onde vier.
- Não grava nem escuta áudio, não pede conta e fala português e inglês.
Como foi construído
Daqui para baixo é a parte técnica: as decisões e a arquitetura por trás do produto.
A regra que manda em tudo: nunca mentir sobre o microfone
Um app de mudo tem uma falha pior do que não funcionar: dizer "mudo" com o microfone aberto. Por isso a tela nunca decide nada sozinha. O estado tem um dono só, a classe EstadoDoMic, e o que aparece é sempre o que o Windows confirmou.
- Um gesto não muda a tela. Ele só pede ao Windows. O estado novo chega pelo mesmo caminho de uma mudança feita por fora, então não há duas versões da verdade.
- Desconhecido nunca vira mudo. Se o microfone falha, o app diz que não sabe, em âmbar, e explica o motivo.
- Trocar de microfone não abre o seu mudo. Com o app mudo, o microfone novo já entra silenciado, porque o pedido vale para o que estiver em uso.
- Se o Mutto cair, o mudo fica. Um processo vigia, o mesmo executável com outro argumento, espera o app sair. Se foi queda e o último estado era mudo, ele garante o mudo e reabre o app, com limite de três reaberturas em dois minutos para não entrar em laço.
Decisões que valeram a pena
O mudo do Windows é a verdade, as integrações só acompanham. Silenciar o dispositivo funciona em qualquer app, na hora e sem integração nenhuma. O preço está em outro lugar: o Windows não tem um "desligar câmera" global sem administrador, então câmera e sair da reunião só existem onde há integração, hoje no Teams e no Meet.
Uma página servida pelo próprio app, em vez de um app de celular. Nada para instalar, nada na nuvem. O caminho óbvio em .NET era o HttpListener, mas escutar fora de localhost com ele pede administrador, e o Mutto instala por usuário. Virou um TcpListener com um HTTP mínimo e WebSocket.CreateFromStream, que ainda roda e testa no Linux. O custo é ficar em HTTP na rede local, sem certificado, e o que exige HTTPS no navegador fica de fora. Só entra quem leu o QR, que leva um segredo gerado pelo PC.
Portas escolhidas depois de um bug real. As primeiras caíam na faixa que Hyper-V, WSL e Docker reservam, e o servidor não subia. Agora ele tenta uma lista abaixo dessa faixa e, se nenhuma abrir, os Ajustes dizem o motivo.
No Meet, a conexão sai do service worker da extensão. O Meet não tem API local, então a extensão lê e aciona os botões da reunião. Aberta pela própria página, a conexão com o app sairia com a origem do Meet e cairia nas regras de rede local do Chrome. Do service worker, a origem é a da extensão, e o app recusa sites. O risco de depender da página de outra empresa continua: é o preço de não existir API.
Arquitetura
- Tudo que não precisa de janela mora nos
*.Coree tem teste, rodando também no Linux. OMutto.Appsó cola WinUI e Win32 por cima. - Base herdada do Doca, sem cópia. O
Suite.*guarda licença, atualização, idiomas e atalhos, e nada ali cita o Mutto: cada produto se descreve numProduto. - Metas que bloqueiam versão.
tools/medir.ps1confere no build AOT publicado as metas de atalho até o mudo (50 ms), abertura a frio (400 ms) e memória (40 MB). Meta estourada vale como teste quebrado. - Native AOT, x64 e ARM64, empacotado como MSIX para a Microsoft Store. Win32 e COM por CsWin32, sem
DllImportà mão.
Números
- Do primeiro commit ao primeiro beta (0.9.0): um dia (11 e 12 de outubro de 2026).
- 288 commits entre 11 e 29 de outubro de 2026.
- ~25 mil linhas de C# (17,7 mil em
src, 7 mil em testes). - 485 testes (métodos
[Fact]e[Theory]). - Nove versões no changelog, da 0.9.0 à 0.9.8, em português e inglês.
C# · .NET 10 · WinUI 3 · Win32 (CsWin32) · Native AOT · MSIX · xUnit · Chrome Extension (Manifest V3)
Quer experimentar o Mutto?
7 dias grátis, sem cartão. Depois R$ 29,90, uma vez só.
Veja também
Dock para Windows 10 e 11 com a lente de ampliação do Mac, mais de 25 widgets e ambientes: Trabalho, Estudo e Lazer, cada um com seus apps, widgets e janelas. Na Microsoft Store.
7 dias grátis, sem cartão. Depois R$ 29,95, uma vez só.
Um celular antigo vira um assistente de voz que ouve o nome, conversa, controla o PC e cuida da rotina. A voz é entendida em casa, no seu PC
Roda num celular antigo que você já tem.


