ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Practice English conversation with voice interaction and quizzes
AI summary · website content
EducationHTML · JavaScriptGitHub @asaelpierceOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗App de conversação em inglês para TI: chamada de voz em tempo real (OpenAI Realtime via WebRTC, com modo clássico de reserva), voz natural do coach (OpenAI TTS), correções em português, simulações, vocabulário e gramática. Modos: conversa, simulação, vocabulário, gramática e atividades (exercícios gerados na hora com XP e sequência de dias). O GPT responde por trás via api/chat.js (função serverless da Vercel), então a chave nunca vai para o navegador.
npx vercel login
npx vercel --prod
Aceite os padrões (projeto novo, nome tech-english-coach, sem framework).
Em https://vercel.com → projeto → Settings → Environment Variables, crie:
| Nome | Valor |
|---|---|
OPENAI_API_KEY | sua chave sk-... da OpenAI |
APP_PASSWORD | um código de acesso (ex.: kb-8c4b5597) |
OPENAI_MODEL | opcional, padrão gpt-6-astra (mais barato: gpt-6-luna) |
OPENAI_REASONING | opcional, padrão low (none, low, medium, high) |
OPENAI_FAST_MODEL | opcional, padrão gpt-6-luna (respostas de texto, correções, traduções) |
OPENAI_REALTIME_MODEL | opcional, padrão gpt-realtime-2.1 (chamada de voz em tempo real) |
OPENAI_REALTIME_VOICE | opcional, padrão marin |
OPENAI_TRANSCRIBE_MODEL | opcional, padrão gpt-transcribe (exercício Repetir e chamada clássica) |
OPENAI_TTS_VOICE | opcional, padrão nova (ou alloy, echo, shimmer, onyx, fable) |
OPENAI_AUDIO_MODEL | opcional, padrão gpt-audio-1.5 (avaliação da pronúncia pela gravação) |
Rode npx vercel --prod de novo para as funções lerem as variáveis.
Abra a URL do projeto no Chrome ou Edge, digite o código de acesso e clique em Conversar por voz.
Se preferir usar o Claude em vez do GPT, configure ANTHROPIC_API_KEY em vez de OPENAI_API_KEY (a voz natural precisa da chave OpenAI; sem ela o app usa a voz do navegador).
npx vercel dev
(crie um .env com OPENAI_API_KEY=... e APP_PASSWORD=... antes.)
Cada fala gera uma chamada curta ao modelo mais um trecho de áudio; uma sessão de 30 minutos costuma ficar em poucos centavos de dólar. Para gastar menos, mude a voz para "do navegador" no topo da página.
A pronúncia mostrada no app não é escrita pela IA. Ela é montada por regras em lib/pron/engine.js:
lib/pron/cmudict.txt.gz, licença em lib/pron/CMUDICT-LICENSE.txt), com correções e termos de TI em lib/pron/overrides.js e escolha por contexto para palavras como live, use, read, record;Palavras fora do dicionário recebem uma estimativa da IA em ARPAbet validado, marcada como "≈ estimada"; se a IA não tiver certeza, o app não inventa e usa só o áudio.
A avaliação ("🎤 Praticar", api/assess.js) escuta a gravação com um modelo de áudio, compara som por som com o IPA de referência e mede a inteligibilidade com uma transcrição feita sem conhecer a frase.
Testes do motor: node tests/pron.test.js.