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

Commander Flow — um ano de evolução da entrada de voz: secretária de programador com portátil e microfone

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»

LATÊNCIA ASR · CPU Whisper-large (antes) ~900 ms Parakeet TDT v3 (depois) ~140 ms 5–10× mais rápido no mesmo CPU · sherpa-onnx C# bindings «140 ms é menos do que demoro a notar a pausa»
Janeiro de 2026: a passagem para Parakeet via sherpa-onnx — a mudança mais palpável do ano.

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

MODO DE POLIMENTO friendly business code-comments✓ prompt-engineering accountant minimal-edit IA do Google · balanced Seis modos trocados por atalho ou pelo tray MANHÃ emails a clientes · business DIA Slack à equipa · friendly NOITE grupo dos pais · minimal-edit
Menu do tray: o modo muda em tempo real — mas, na maioria das vezes, basta dizer o tom que quero como comando de voz no momento de polir.

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.

Baixar grátis

Histórias relacionadas

Todos os artigos