Skip to content

Voz: ouvir a explicação inteira e responder falando (E14) #97

Description

@danielgorgonha

Épico inteiro em docs/epics/EPIC-14-voz-ouvir-e-falar.md do espaço de trabalho, 12 tarefas. Esta issue é a porta de entrada.

Depende do texto de privacidade (#92), porque gravar a voz da cidadã tem base legal própria: voz pode ser dado biométrico, e aí não é art. 7º.

O que existe hoje

apps/web/lib/speech.ts e os botões de components/ui.tsx já leem tópico e alternativa. O que falta é o resto.

O que falta, na ordem

  • Ouvir também a resposta do chat, que hoje é a única parte longa que a pessoa não consegue ouvir.
  • Dois botões, "Ouvir" e "Parar", nunca "Pausar". O pause() do speechSynthesis é quebrado em Android e em WebView: ele para e não volta, e o botão fica mentindo.
  • Velocidade persistida. Quem precisa de 0,8x precisa em toda tela, não em uma.
  • Texto falado normalizado: hoje o leitor diz "erre cifrão", "porcento" e "oábi". Valor, percentual e sigla precisam virar fala antes de ir para o sintetizador.
  • Casos de indisponibilidade dizem isso em palavras: aparelho sem voz em português, e aparelho sem speechSynthesis. Hoje o botão fica inerte e a pessoa acha que ela errou.
  • Gravar e transcrever: o microfone só é pedido depois de um diálogo que explica o que acontece com o áudio; a onda de barras mostra que o som está sendo captado de verdade; a transcrição aparece escrita e editável; nada é enviado até a pessoa apertar enviar.
  • Nenhum arquivo de áudio fica no servidor nem é servido por rota alguma.

Pronto quando: num Android e num navegador embutido do WhatsApp, dá para ouvir toda a explicação e toda resposta do chat, mudar a velocidade e ela persistir, e responder falando com a transcrição revisável antes do envio.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions