Voltar ao dev log

Dev log

DevLog #02: Como Criamos um Teleprompter de Estúdio 100% Grátis e Sem Registro (Desafios de Áudio, Web Workers e Algoritmos)

Crônica técnica de como resolvemos o travamento de CoreAudio no macOS, sincronizamos o karaoke em segundo plano com Web Workers e unificamos takes WAV 48kHz no navegador sem servidor.

Por Equipe de Engenharia · Arquitetura WebGPU & Áudio

  • devlog
  • teleprompter
  • web audio api
  • web workers
  • youtube
  • engenharia
  • wav 48khz

Quem cria conteúdo para YouTube ou redes sociais conhece bem a frustração: a maioria dos teleprompters online exige cadastro, impõe marcas d'água, cobra assinaturas mensais ou polui a tela com anúncios que tiram o foco da câmera.

Nossa premissa para o Teleprompter Online & Gravador de Estúdio foi clara: **100% gratuito, sem registro, sem anúncios e com qualidade de estúdio profissional (áudio WAV 48 kHz sem compressão e vídeo HD)**. Construir essa ferramenta 100% no navegador trouxe desafios de engenharia incríveis.

Herramienta Interactiva

Quer experimentar o Teleprompter de Estúdio agora?

Leia seus roteiros com karaoke de velocidade ajustável, união de takes WAV e zero limites. 100% grátis no seu navegador.

Desafio 1: O Bloqueio de Hardware no CoreAudio (macOS) e WASAPI

Múltiplas chamadas concorrentes a getUserMedia() forçando sampleRate: 48000 causavam travamentos no daemon de áudio do sistema (coreaudiod). Para solucionar isso, criamos o singleton **Single Audio Pipeline (AudioPipeline.ts)**, garantindo um único canal mestre de áudio com o clock nativo do hardware.

Desafio 2: Fim do Congelamento no '1' da Contagem Regressiva

Dividimos o motor de áudio no padrão das DAWs profissionais: prepare() assíncrono antes de iniciar o '3' e begin() 100% síncrono em 0.0 ms no momento exato da AÇÃO, eliminando qualquer travamento visual.

Desafio 3: Execução Ininterrupta com Janela Minimizada (Web Workers)

Os navegadores congelam requestAnimationFrame e reduzem setInterval quando você minimiza a janela. Implementamos um **Web Worker independente** em segundo plano e sincronização matemática com performance.now(), mantendo o teleprompter no ritmo exato mesmo em segundo plano.

Desafio 4: Ergonomia Tátil com Barras Estilo iPhone Control Center

Substituímos os sliders finos tradicionais por cápsulas táteis de 48px (IOSCapsuleSlider) inspiradas no iOS, com setPointerCapture para controle perfeito com o polegar.

Desafio 5: União e Download de Múltiplos Takes WAV sem Servidor

Desenvolvemos um concatenador WAV no cliente (wavUtils.ts) que une múltiplos takes em um único arquivo master a 48.000 Hz com silêncios limpos de 250 ms sem precisar enviar arquivos para servidores.

Herramienta Interactiva

Comece a Gravar Seus Vídeos Hoje

Sem login, sem marcas d'água e sem taxas mensais. Seu estúdio completo em um só clique.

Experimente o editor como está hoje

Tudo o que você lê no dev log já roda no beta público.