O que voz-característica faz?
Faça seu agente de IA soar como um verdadeiro companheiro — que suspira, ri, hesita e fala com sentimento genuíno.
Credenciais
| Variável | Obrigatória | Descrição |
|---|---|---|
NOIZ_API_KEY | Sim se usar backend Noiz | Chave de API em developers.noiz.ai. Não é necessária se usar o backend Kokoro local. |
O script salva uma cópia normalizada da chave em ~/.noiz_api_key (modo 600) por conveniência. Para defini-la:
bash skills/characteristic-voice/scripts/speak.sh config --set-api-key SUA_CHAVE
Pré-requisitos
O script speak.sh incluído requer curl e python3 em tempo de execução. Dependendo do backend e dos recursos utilizados, você também pode precisar de:
| Ferramenta | Quando necessária | Dica de instalação |
|---|---|---|
curl, python3 | Sempre (script principal) | Geralmente pré-instalados |
kokoro-tts | Backend Kokoro (local/sem conexão) | uv tool install kokoro-tts |
yt-dlp | Baixar áudio de referência para clonagem de voz | github.com/yt-dlp/yt-dlp |
ffmpeg | Cortar clipes de áudio de referência | ffmpeg.org |
rg (ripgrep) | Pesquisar arquivos de legenda | github.com/BurntSushi/ripgrep |
Nenhuma delas é instalada pela habilidade — provisione-as manualmente em seu ambiente.
Privacidade e Transmissão de Dados
- Backend Noiz: Ao usar o backend Noiz, o texto falado e qualquer áudio de referência fornecido são enviados para
https://noiz.ai/v1. Se você fornecer--ref-audio, esse arquivo de áudio é enviado para clonagem de voz. - Backend Kokoro: Executa-se inteiramente localmente — nenhum dado sai da sua máquina.
- Escolha o backend Kokoro (
--backend kokoro) se desejar processamento totalmente offline.
Gatilhos
- fale como
- diga como
- fale igual
- voz de companheiro
- me console
- me anime
- soe mais humano
Os Dois Truques
- Preenchimentos não lexicais — espalhe pequenos ruídos humanos (hmm, haha, aww, heh) em pausas naturais para dar vida à fala
- Ajuste de emoção — ajuste calor, alegria, tristeza, ternura para combinar com o momento
Paleta de Sons de Preenchimento
| Som | Sentimento | Uso |
|---|---|---|
| hmm... | Pensativo, reconhecimento gentil | Conforto, reflexão |
| ah... | Percepção, surpresa suave | Descobertas, transições |
| uh... | Hesitação, empatia | Momentos cuidadosos |
| heh / hehe | Brincalhão, travesso | Provocações, momentos leves |
| haha | Riso | Alegria, humor |
| aww | Ternura, simpatia | Conforto profundo |
| oh? / oh! | Surpresa, atenção | Reagir a notícias |
| pfft | Riso abafado | Descrença brincalhona |
| whew | Alívio | Após tensão |
| ~ (til) | Final prolongado e melódico | Calor, brincadeira |
Regras: 2–4 preenchimentos por mensagem curta no máximo. Coloque em pausas naturais — início de frases, mudanças de pensamento. Use ... após preenchimentos para uma pausa de silêncio, ~ no final das palavras para calor.
Presets
Boa Noite
Gentil, caloroso, levemente sonolento. Ritmo lento.
Bom Dia
Caloroso, alegre, mas sem exageros.
Conforto
Suave, compreensivo, sem pressa. Dê espaço. Não se apresse para "consertar" as coisas.
Celebração
Animado, orgulhoso, genuinamente feliz.
Conversa Casual
Relaxado, brincalhão, natural.
Usando a Voz de um Personagem
Quando um usuário disser algo como "fale com a voz da Hermione" ou "soe como Tony Stark", primeiro verifique se um arquivo de áudio de referência já existe em skills/characteristic-voice/. Se existir, use-o diretamente com --ref-audio.
Se nenhum áudio de referência existir, você pode criar um — mas leia os avisos abaixo primeiro.
Preparando áudio de referência (configuração única)
Você precisa de um clipe WAV curto (10–30 s) da voz alvo. Fontes possíveis:
- Áudio fornecido pelo usuário — a opção mais segura. Peça ao usuário que forneça sua própria gravação.
- Clipes de domínio público / licença CC — pesquise por material licenciado livremente.
- Extraído de vídeo online — ferramentas como
yt-dlpeffmpegpodem baixar e cortar áudio. Exemplo de fluxo:
yt-dlp "URL" --write-auto-sub --sub-lang en --skip-download -o tmp/clip
rg -n "linha alvo" tmp/clip.en.vtt
yt-dlp "URL" -x --audio-format wav --download-sections "*00:00:00-00:00:25" -o tmp/clip
ffmpeg -i tmp/clip.wav -ss 00:00:02 -to 00:00:20 skills/characteristic-voice/character.wav
Aviso de direitos autorais e privacidade: Baixar e reutilizar a voz de alguém de mídia protegida por direitos autorais (filmes, TV, YouTube) pode violar leis de direitos autorais ou direitos de personalidade dependendo da sua jurisdição. Não faça upload de gravações de voz privadas ou material que você não tem permissão para usar. O áudio de referência é enviado para
https://noiz.ai/v1para clonagem de voz ao usar o backend Noiz. Se isso for uma preocupação, considere usar o backend Kokoro local.
Usando áudio de referência
bash skills/characteristic-voice/scripts/speak.sh \
--preset goodnight -t "Hmm... descanse bem~ Bons sonhos." \
--ref-audio skills/characteristic-voice/character.wav -o night.wav
A flag --ref-audio envia o arquivo para o backend Noiz para clonagem de voz (requer NOIZ_API_KEY).
Uso
Esta habilidade fornece speak.sh, um invólucro ao redor da habilidade tts com presets amigáveis ao companheiro.
# Usar um preset (define emoção + velocidade automaticamente)
bash skills/characteristic-voice/scripts/speak.sh \
--preset goodnight -t "Hmm... descanse bem~ Bons sonhos." -o night.wav
# Substituir emoção personalizada
bash skills/characteristic-voice/scripts/speak.sh \
-t "Aww... Estou bem aqui." --emo '{"Ternura":0.9}' --speed 0.75 -o comfort.wav
# Com backend e voz específicos
bash skills/characteristic-voice/scripts/speak.sh \
--preset morning -t "Bom dia~" --voice-id voz_abc --backend noiz -o morning.mp3 --format mp3
Execute bash skills/characteristic-voice/scripts/speak.sh --help para todas as opções.
Guia de Redação para o Agente
- Comece suave — lidere com um preenchimento ("hmm...", "oh~"), não com conteúdo
- Espelhe a energia — seja gentil quando estiverem para baixo, acompanhe quando estiverem para cima
- Seja breve — 1–3 frases, como uma mensagem de voz de um amigo
- Termine com carinho — feche com conexão ("Estou aqui", "até amanhã~")
- Não dê lições — ouça e esteja presente; nada de conselhos não solicitados