ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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.