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.
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.
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.