Commander Flow: um ano de evolução da entrada de voz

Em junho de 2025 deram-me um build que crashava a cada 40 minutos e reconhecia o meu «olá» como «o — la — i». Estava feliz. Sabia que estava a apalpar um protótipo de algo que não existia em Windows — voice-input totalmente offline com polimento humano. Hoje é abril de 2026 e o mesmo portátil tem o Commander Flow a correr em segundo plano dias a fio.
Isto não é uma história do produto. É a história de como os meus hábitos foram mudando à medida que o produto mudava.
Verão de 2025: aprendi a ter paciência com o Whisper-tiny
O primeiro build usava ggml-tiny (75 MB). O reconhecimento era razoável em inglês limpo, medíocre em português e catastrófico em discurso misto. Eu ditava «deploy para staging» e saía «deplói para esteichin». Polimento, na altura, não havia — era ASR cru.
O que fiz? Reorganizei o fluxo de trabalho à volta das fragilidades da ferramenta. Falava por frases curtas. Evitava calão. Era incómodo, mas continuava a ser mais rápido do que escrever — e eu já tinha viciado.
«Quando constróis a tua própria ferramenta, apaixonas-te pela ideia antes de o código a refletir com honestidade.»
Outono de 2025: surgiu o polimento e deixei de ter vergonha das muletas
Adicionei um LLM local. Foi um ponto de viragem. Eu podia dizer «tipo, no fundo acho que precisamos de hum, refazer este módulo aqui», e no campo de texto aparecia «Acho que precisamos de refazer este módulo».
Foi nesse momento que deixei de preparar o discurso. Antes formatava mentalmente a frase antes de carregar no atalho. Agora — o pensamento sai como pensamento, é a ferramenta que separa o que é palha.
Inverno 2025/2026: Parakeet, e percebi o que é «rápido»
Em janeiro o ASR por defeito passou a ser o Parakeet-TDT-0.6B-v3 via sherpa-onnx. No meu CPU sem placa gráfica é 5 a 10 vezes mais rápido do que o Whisper-large. A latência entre largar o atalho e o texto aparecer caiu de ~900 ms para ~140 ms.
140 milissegundos é menos do que demoro a notar a pausa. A fronteira entre «carregar no atalho» e «o texto aparece» dilui-se na percepção. A partir desse momento, ditar deixou de parecer um «comando à ferramenta»; é apenas a continuação do pensamento.
Primavera de 2026: a IA mais recente do Google e os modos de polimento
Hoje o padrão atual é a IA mais recente do Google. E o mais importante — os modos de polimento. Escolho o estilo no tray ou por atalho: business / friendly / minimal-edit / accountant / academic / code-comments.
Uma segunda-feira típica:
- De manhã, emails a clientes —
business - No Slack à equipa —
friendly - Comentários no código —
code-comments(mantém os termos em inglês, não «mexe» nos nomes das variáveis) - À noite, resposta no grupo dos pais —
minimal-edit(apenas limpa as muletas, não «alisa» a entoação)
Retrospectiva: o que mudou em mim
Listar em pontos seria aborrecido. Por isso digo assim: ao fim de um ano com o Commander Flow mudaram-me três coisas na relação com o texto, e nenhuma delas estava planeada.
Primeira — as ideias nos meus emails ficaram mais longas. A escrita corta a frase ao que se consegue digitar fisicamente. A voz não tem pressa. Os testers repararam que os meus relatórios ficaram mais estruturados antes de eu próprio reparar.
Segunda — os emails em inglês deixaram de me dar nervosismo. Dito em português, peço para reescrever em business English e recebo um texto indistinguível do de um nativo. Já não é uma tensão à parte, é apenas o passo seguinte do mesmo ditado.
Terceira, a mais estranha: as mãos cansam-se menos ao fim do dia. Nunca encarei a escrita como trabalho físico — até deixar de a fazer.
Arestas que ainda apanho
Lista honesta do que me chama regularmente a atenção:
O polimento, às vezes, «melhora» termos que não devia. Eu digo «kubectl apply», recebo «Kubernetes apply». Resolvido com um dicionário nas definições (PolishOptions.Dictionary) — adicionam-se os termos próprios e o LLM não lhes toca. Mas nas primeiras semanas eu não sabia disto e ficava admirado.
Aquecimento do modelo no arranque a frio. O primeiro ditado depois de ligar o Windows é nitidamente mais lento do que os seguintes. Adicionei o AudioDeviceWarmup (poupa 40–80 ms), mas o KV-cache do LLM ainda assim precisa de aquecer. Resolve-se dizendo qualquer frase ao microfone logo após o arranque do sistema — como aquecimento.
Por vezes apetecia trocar de modo a meio de uma frase. Por exemplo: «início formal e depois um P.S. divertido». Ainda não existe — mas a direcção agrada-me e tenho-a presente.
O que eu diria a mim mesmo há um ano
«Tem paciência. Aquilo que agora parece um brinquedo, daqui a 10 meses será a tua aplicação mais usada a seguir ao browser. Mantém um diário. É a história de como o private AI num dispositivo concreto se torna a nova normalidade.»
O alpha acabou. O beta está quase a acabar. Já não entrego um protótipo — sou responsável por um produto usado todos os dias.
E tenho muito orgulho disso.
Experimente
Baixe o Commander Flow e segure Caps Lock em qualquer aplicativo. O reconhecimento é local, sem nuvem — o ditado é grátis para sempre.


