-1

Ditado não é transcrição de áudio longo — testei quatro ferramentas antes de escrever a minha

Ditar é escrever com a boca: você fala uma frase, olha a tela, corrige. Transcrever áudio longo é outro problema — você fala quinze minutos sem olhar para nada e quer o texto inteiro depois. Quase toda ferramenta que eu tinha à mão resolvia o primeiro caso e quebrava no segundo, cada uma de um jeito.

⚠️ Tudo abaixo é do momento em que testei. São produtos que mudam rápido; vale reconferir antes de decidir qualquer coisa por isso.

Ditado dentro do ChatGPT. O áudio cortava quando ficava longo. Era onde mais doía, porque era exatamente ali que eu queria falar muito: descrever o contexto inteiro de um projeto novo, ou narrar um sonho com detalhe. Perder isso é perder minutos de fala que não voltam.

Áudio no Claude. Na época em que testei, capturava melhor em inglês do que em português.

Ditado do Google Docs. Não pontua. Sai um bloco corrido — e num áudio de quinze minutos, bloco corrido é ilegível.

Gravador nativo do iOS. Grava o quanto você quiser e transcreve, mas tirar a transcrição de lá para colar em outro lugar — numa sessão de código, num chat — dá trabalho suficiente para você desistir no meio.

O que os quatro têm em comum: nenhum foi feito para fala longa que vira insumo de outra coisa. Os três primeiros assumem que você está olhando para a tela enquanto fala. O quarto assume que o áudio é o produto final.

Os dois problemas que o script teve que resolver

Virou um script de terminal chamando a API de transcrição da OpenAI. A lista era curta — aceitar fala de qualquer duração, devolver texto pontuado, deixar o texto onde eu já estava trabalhando — e os dois primeiros itens deram mais trabalho do que pareciam.

Primeiro: o limite não é o tamanho do arquivo, é a duração. O modelo trunca a saída por volta de 8 a 11 minutos de áudio, independente de quantos megabytes o arquivo tem. Quem fatia por tamanho descobre isso da pior forma: o upload passa, a transcrição volta, e falta o fim. Então o corte é por tempo, em pedaços de 6 minutos, com margem.

Segundo: onde cortar. Cortar em 6:00 cravados cai no meio de uma palavra. O modelo recebe meia palavra em cada ponta e completa o fragmento — sai palavra inventada, palavra perdida ou frase duplicada, uma vez por emenda. A correção é empurrar o corte para o silêncio mais próximo do alvo, dentro de uma janela de 45 segundos.

E aí veio a parte que eu não esperava. O limiar de silêncio não pode ser fixo, e também não dá para deduzir do volume médio. Medindo doze gravações reais, o piso de ruído variou de −50 a −35 dB sem acompanhar a média: a gravação mais alta, com média de −25 dB, tinha o piso mais baixo de todas. Um valor cravado ou não acha pausa nenhuma ou marca o áudio inteiro como silêncio.

A saída foi procurar o limiar em vez de escolher: começa estrito e afrouxa de 5 em 5 dB até as pausas aparecerem. Cada passe é só análise — cerca de 1 segundo num áudio de 15 minutos —, então a busca sai barata. Numa fala real de 19 minutos, os três cortes caíram em pausa e a emenda não aparece no texto.

O custo, que era a dúvida que me travava

US$ 0,003 por minuto com o gpt-4o-mini-transcribe, conferido contra a fatura. No mês que eu medi foram 726 minutos de fala — pouco mais de doze horas — por volta de dois dólares. Nem tudo era sobre o mesmo projeto: é o que eu falo num mês inteiro de trabalho.

Onde isso não funciona

O que volta é fala transcrita, não texto pronto: tem repetição, tem "quer dizer", tem a frase abandonada no meio. Serve para virar prompt ou rascunho; não serve para uma leitura estruturada. E o script roda no terminal, o que quer dizer: só na frente do computador. A ideia que chega na rua continuava se perdendo — e isso virou o problema seguinte.


Você está aqui. Escrevo sobre o que a gente aprende construindo o VoiceNote, a ferramenta de transcrição que nasceu desse script. A versão de linha de comando é aberta e gratuita, rodando com a sua própria chave da OpenAI. Este é um post de uma série sobre como ele foi construído, na ordem em que aconteceu.

Carregando publicação patrocinada...