Comandos de Voz — Controle por Áudio

Comandos de Voz no OpenClaw — Guia Completo

Introdução

Controle por voz transforma o OpenClaw em um assistente verdadeiramente hands-free. Em vez de digitar mensagens enquanto você está no carro, cozinhando, correndo, ou com as mãos ocupadas em outra tarefa, você simplesmente fala — e o assistente responde. Para muitos usuários, os comandos de voz são a forma mais natural e eficiente de interagir com o assistente.

O OpenClaw suporta voz em três modos distintos: via notas de voz nos canais de mensagem (WhatsApp e Telegram), via wake word para ativação por voz em desktop e mobile, e respostas em áudio via síntese de voz (TTS). Cada modo tem seus casos de uso ideais e requisitos de configuração diferentes.

Este guia cobre todos os três modos em detalhes, incluindo dicas para melhorar a qualidade do reconhecimento de voz, opções de síntese de voz (de gratuitas a premium), e casos de uso práticos que aproveitam ao máximo o controle por áudio.

Pré-requisitos

Para usar comandos de voz você precisa de:

  • OpenClaw instalado com pelo menos WhatsApp ou Telegram configurado
  • Microfone no dispositivo que você vai usar para gravar (celular, computador)
  • Para TTS (respostas em áudio): conta no serviço de síntese escolhido
  • Para Wake Word: sistema operacional compatível (Linux, macOS)
  • Conexão à internet para APIs de transcrição (ou Whisper local para privacidade total)

Modo 1: Voice Notes via WhatsApp e Telegram

Este é o modo mais simples e já funciona sem configuração adicional. WhatsApp e Telegram nativamente suportam notas de voz, e o OpenClaw transcreve e processa automaticamente.

Como Usar

No WhatsApp:

  1. Abra a conversa com o assistente
  2. Segure o ícone de microfone ao lado da caixa de texto
  3. Fale seu comando ou pergunta claramente
  4. Solte para enviar
  5. O OpenClaw transcreve o áudio e processa o comando

No Telegram:

  1. Abra a conversa com o bot
  2. Toque no ícone de microfone na barra de mensagens
  3. Grave e envie
  4. O processamento é automático

Dicas essenciais para boa qualidade:

- Ambiente silencioso (reduz ruído de fundo que confunde a transcrição)
- Fale de 20-30cm do microfone (nem muito longe, nem muito perto)
- Velocidade normal a levemente mais lenta que o usual
- Pause brevemente entre frases diferentes no mesmo comando
- Evite comandos longos — divida em mensagens menores se necessário
- Pronuncie palavras técnicas claramente (nomes de projetos, termos específicos)

Configuração da Transcrição

O OpenClaw usa por padrão a API Whisper da OpenAI para transcrição. Configure no config.yaml:

voice:
  transcription:
    provider: "openai-whisper"      # padrão
    model: "whisper-1"
    language: "pt"                  # Português — melhora muito a precisão
    apiKey: ${OPENAI_API_KEY}

    # Alternativas:
    # provider: "whisper-local"     # Roda Whisper no seu servidor (mais privado)
    # provider: "google-speech"     # Alternativa Google
    # provider: "azure-speech"      # Alternativa Microsoft

Custo da transcrição:

  • Whisper API (OpenAI): $0.006/minuto de áudio
  • Uma nota de voz de 30 segundos: ~$0.003 (menos de 2 centavos)
  • 100 notas de voz de 30s/mês: ~$0.30/mês

Para minimizar custo ou para privacidade total, use Whisper rodando localmente:

# Instalar Whisper localmente
pip install openai-whisper
# ou via faster-whisper (mais rápido)
pip install faster-whisper

# Configurar no OpenClaw
openclaw config set voice.transcription.provider whisper-local
openclaw config set voice.transcription.localModel small  # tiny, base, small, medium, large

Ajustando a Sensibilidade

Se o assistente está interpretando mal suas notas de voz:

voice:
  transcription:
    noiseReduction: true         # Redução de ruído antes de transcrever
    vadEnabled: true             # Voice Activity Detection — ignora silêncio
    minDuration: 0.5             # Mínimo de 0.5 segundos para processar
    confidenceThreshold: 0.7    # Rejeita transcrições com baixa confiança

Modo 2: Wake Word — Ativação por Voz

O Wake Word permite ativar o assistente apenas falando uma palavra ou frase, sem precisar pegar o celular ou digitar nada. Ideal para uso em casa ou escritório onde o microfone está sempre ativo.

Configuração do Wake Word

# Ativar wake word
openclaw voice enable --wake-word "hey claw"

# Ou com frase personalizada
openclaw voice enable --wake-word "ok assistente"
openclaw voice enable --wake-word "oi aurora"  # Se você nomeou o assistente

# Verificar status
openclaw voice status
# Voice: enabled | Wake word: "hey claw" | Status: listening

Configuração Detalhada

voice:
  wakeWord:
    enabled: true
    phrase: "hey claw"          # A frase de ativação
    sensitivity: 0.7            # 0.1-1.0 (mais alto = mais sensível, mais false positives)
    timeout: 10                 # Segundos para capturar comando após wake word
    confirmationBeep: true      # Emite som quando ativado

  microphone:
    device: "default"           # ou especifique: "hw:0,0"
    sampleRate: 16000
    channels: 1
    gainLevel: 1.0              # Ajustar se muito baixo/alto

Usando Wake Word

Você: "Hey Claw"
[beep de confirmação]
Você: "Quais compromissos tenho hoje?"
Assistente: [resposta falada e/ou via canal configurado]
Você: "Hey Claw, adicione leite na lista de compras"
[pausa de processamento]
Assistente: "Adicionei leite à sua lista de compras."

Wake Word em Desktop (Linux/macOS)

Para uso em computador desktop ou servidor:

# Verificar dispositivos de áudio disponíveis
arecord -l  # Linux
# ou
system_profiler SPAudioDataType  # macOS

# Iniciar listener em background
openclaw voice start --daemon

# Parar
openclaw voice stop

# Ver log do voice listener
openclaw voice logs --follow

Requisitos de hardware:

  • Microfone com qualidade razoável (webcam ou USB dedicado funcionam bem)
  • CPU com pelo menos 1 core livre para processamento de wake word
  • 512MB RAM adicional para o processo de escuta

Privacidade do Wake Word

Uma preocupação legítima: o microfone está sempre ativo esperando a wake word. Como funciona:

  • O processamento do wake word acontece 100% localmente — nenhum áudio é enviado para servidores externos enquanto aguarda a palavra de ativação
  • Apenas após detectar a wake word, o áudio do comando é enviado para transcrição (via API ou local)
  • Para máxima privacidade: configure Whisper local para que nenhum áudio nunca saia da sua máquina
voice:
  privacy:
    localProcessingOnly: true    # Wake word + transcrição 100% local
    deleteAudioAfterTranscription: true
    noCloudLogging: true

Modo 3: TTS — Respostas em Áudio

TTS (Text-to-Speech) faz o assistente responder em voz, não apenas em texto. Perfeito para situações onde você não pode ler a tela.

Opção 1: ElevenLabs (Qualidade Premium)

ElevenLabs oferece as vozes mais naturais disponíveis no mercado:

# Configurar ElevenLabs
openclaw auth add elevenlabs --api-key SUA_KEY_ELEVENLABS

# Listar vozes disponíveis
openclaw tts voices list
voice:
  tts:
    provider: "elevenlabs"
    apiKey: ${ELEVENLABS_API_KEY}
    voiceId: "EXAVITQu4vr4xnSDxMaL"  # Rachel — natural e clara
    model: "eleven_multilingual_v2"   # Suporte a múltiplos idiomas
    stability: 0.5
    similarityBoost: 0.75

Planos ElevenLabs:

  • Gratuito: 10.000 caracteres/mês (~500 respostas curtas)
  • Creator ($5/mês): 30.000 caracteres/mês
  • Pro ($22/mês): 100.000 caracteres/mês

Custo estimado: Uma resposta média de 200 caracteres = 200 characters. 500 respostas/mês = 100.000 caracteres = plano Pro.

Opção 2: OpenAI TTS (Boa Relação Custo/Qualidade)

voice:
  tts:
    provider: "openai-tts"
    apiKey: ${OPENAI_API_KEY}
    model: "tts-1"                    # ou "tts-1-hd" para maior qualidade
    voice: "nova"                      # alloy, echo, fable, onyx, nova, shimmer
    speed: 1.0                         # 0.25 a 4.0

Custo: $0.015/1000 caracteres (TTS-1) ou $0.030/1000 (TTS-1-HD)

  • 100 respostas de 200 caracteres = 20.000 chars = $0.30/mês

Opção 3: Coqui TTS (Gratuito e Local)

Para privacidade total ou zero custo adicional:

# Instalar Coqui TTS
pip install TTS

# Baixar modelo em português
tts --list_models | grep pt
python -c "from TTS.api import TTS; TTS(model_name='tts_models/pt/cv/vits')"
voice:
  tts:
    provider: "coqui-local"
    model: "tts_models/pt/cv/vits"
    language: "pt"

Tradeoff: Qualidade inferior ao ElevenLabs, mas completamente gratuito e privado.

Como Solicitar Resposta em Áudio

Você pode pedir respostas em áudio de várias formas:

"Responda em áudio"
"Me leia isso"
"Fale a resposta"
"[mensagem normal]"  # Se configurado para sempre responder em áudio

Configurar para sempre responder em áudio:

voice:
  tts:
    alwaysRespond: false         # true = sempre em áudio
    respondWhenVoiceInput: true  # Responde em áudio quando input foi voz
    channels:
      whatsapp: true             # Envia áudio pelo WhatsApp
      telegram: true             # Envia áudio pelo Telegram

Casos de Uso Práticos

Briefing Matinal por Voz

Configure para receber um resumo diário em áudio:

heartbeat:
  schedule:
    - cron: "0 7 * * 1-5"
      prompt: |
        Crie um briefing matinal curto (máximo 90 segundos de áudio) incluindo:
        1. Temperatura atual e previsão do dia
        2. Seus compromissos de hoje
        3. Top 3 tarefas prioritárias
        Responda em áudio para o canal WhatsApp configurado.

Controle Hands-Free para Desenvolvedor

[Desenvolvendo com as mãos no teclado]
"Hey Claw, qual a sintaxe de list comprehension em Python?"
[Resposta em áudio sem precisar tirar as mãos do teclado]

"Hey Claw, anota: resolver bug do sistema de login amanhã cedo"
[Salva na memória automaticamente]

Assistente para Motoristas

Para uso seguro enquanto dirige:

voice:
  wakeWord:
    phrase: "hey claw"
    drivingMode: true            # Respostas mais curtas e diretas

  tts:
    alwaysRespond: true
    drivingModeSpeed: 1.1        # Ligeiramente mais rápido

Exemplos de uso:

"Hey Claw, quanto tempo para chegar em São Paulo pelo caminho atual?"
"Hey Claw, me lembre de ligar para o João quando chegar"
"Hey Claw, qual é o próximo passo na minha lista de tarefas?"

Ditado de Notas Longo

Para situações onde você quer ditar texto longo:

voice:
  transcription:
    longFormMode: true           # Otimizado para discursos longos
    autoPunctuation: true        # Adiciona pontuação automaticamente
    speakerDetection: false      # Para uso solo
Grave nota de voz de 5 minutos:
"Reunião com cliente hoje foi muito produtiva.
Decidiram avançar com o projeto Alpha.
Prazo: 30 de abril.
Orçamento aprovado: R$150.000.
Próximos passos: enviar proposta formal até sexta..."

O OpenClaw transcreve, formata e salva na memória.

Erros Comuns e Soluções

ProblemaCausa ProvávelSolução
Transcrição muito imprecisaRuído de fundo excessivoUse microfone melhor; redutor de ruído via noiseReduction: true
Wake word dispara com outras palavrasSensibilidade muito altaReduza sensitivity para 0.5 ou menos
Wake word não respondeSensibilidade muito baixaAumente para 0.8; verifique volume do microfone
TTS não envia áudio no WhatsAppFormato de áudio incompatívelVerifique configuração de channels.whatsapp: true
Resposta em áudio muito lentaGeração de TTS lentaUse tts-1 (OpenAI) em vez de tts-1-hd; ou modelos locais menores
Áudio cortado no meioTimeout muito curtoAumente voice.timeout para 15-20 segundos
Transcrição em inglêsIdioma não configuradoDefina language: "pt" na config de transcrição

Configuração Avançada

Perfis de Voz para Diferentes Contextos

voice:
  profiles:
    home:
      wakeWord: "hey claw"
      tts:
        provider: "elevenlabs"
        volume: 0.8

    work:
      wakeWord: "hey claw"
      tts:
        provider: "openai-tts"
        volume: 0.5
        channels:
          headphones: true    # Só responde nos fones

    driving:
      wakeWord: "hey claw"
      tts:
        provider: "elevenlabs"
        speed: 1.1
        alwaysRespond: true

Comandos de Controle por Voz

Configure atalhos de voz:

voice:
  shortcuts:
    - phrase: "modo silencioso"
      action: "tts.disable"

    - phrase: "modo voz"
      action: "tts.enable"

    - phrase: "para"
      action: "cancel_current"    # Interrompe resposta em andamento

    - phrase: "repita"
      action: "repeat_last"       # Repete última resposta

Boas Práticas

  • Configure o idioma explicitamente: Definir language: "pt" na transcrição melhora muito a precisão para português, especialmente para termos técnicos e nomes brasileiros.

  • Use microfone dedicado para wake word: Um microfone de melhor qualidade (webcam USB ou microfone dedicado) reduz drasticamente falsos positivos e melhora o reconhecimento em ambientes com ruído.

  • Separe comandos longos em partes: Uma nota de voz de 10 segundos tem muito mais precisão que uma de 2 minutos. Para comandos complexos, divida em etapas e espere a resposta de cada uma.

  • Treine suas frases: Pronuncie palavras técnicas, nomes próprios e termos específicos do seu trabalho de forma clara e consistente. Com o tempo, você vai descobrir como formular comandos que a IA interpreta melhor.

  • TTS só quando agrega valor: Não configure TTS para todas as respostas se você vai ficar olhando para a tela. Áudio é mais valioso quando você está em movimento ou com as mãos ocupadas.

  • Cuide da privacidade do wake word: Se você usa o assistente para assuntos confidenciais, considere Whisper local. O fato de o microfone estar sempre ativo é uma questão de privacidade legítima.

  • Backuppe suas configurações de voz: As configurações de voice profiles, voiceIds e configurações de wake word ficam no config.yaml. Certifique-se de incluir no backup.

Perguntas Frequentes

A qualidade do reconhecimento de voz em português é boa? Com Whisper da OpenAI configurado em language: "pt", a qualidade é excelente para português brasileiro em condições aceitáveis de microfone. Termos técnicos em inglês misturados no português (comum em TI) também são reconhecidos bem. A precisão cai com ruído de fundo intenso ou sotaque muito forte.

Qual TTS soa mais natural em português? ElevenLabs com o modelo eleven_multilingual_v2 tem a melhor qualidade para português. OpenAI TTS com a voz “nova” é boa segunda opção a custo menor. Coqui local com modelos pt-BR tem qualidade razoável para uso gratuito, especialmente o modelo VITS.

O wake word funciona quando o computador está em sleep? Não. O wake word requer que o processo do OpenClaw esteja rodando. Se o computador entrar em sleep, o listener é pausado. Para uso 24/7, configure em um servidor ou Raspberry Pi que fica sempre ligado.

Posso ter diferentes vozes para diferentes tipos de resposta? Sim. Configure vozes diferentes por tipo de conteúdo:

voice:
  tts:
    contextualVoices:
      alerts: "onyx"       # Voz mais grave para alertas
      responses: "nova"    # Voz normal para respostas
      reminders: "alloy"   # Voz diferente para lembretes

É possível o assistente fazer chamadas de voz? Não nativamente. O OpenClaw processa notas de voz e gera respostas em áudio, mas não faz chamadas ativas. Para integração com chamadas, você precisaria de uma skill personalizada usando APIs de telefonia (Twilio, por exemplo).

Próximos Passos