Cartesia Hebrew TTS (Síntese de Fala em Hebraico)
A voz em si soa natural de fábrica. Quase todas as falhas são de pronúncia: o hebraico sem vogais deixa o modelo adivinhando vogais, gênero e como ler dígitos. Portanto, o trabalho está em preparar o texto e verificar o resultado.
Os scripts estão em scripts/ próximo a este arquivo. Execute-os com node (20 ou mais novo), a partir da pasta onde a saída deve ser gerada. Os dados pessoais ficam em ~/.cartesia-tts: as chaves (.env), a voz e configurações padrão (config.json) e a lista de pronúncia (lexicon.json). Atualizar a skill nunca toca nessa pasta.
Primeira execução
Converse com o usuário no idioma dele, em palavras simples, e aguarde após cada etapa.
-
Execute
node scripts/doctor.mjs. É gratuito. Ele imprime READY ou o que precisa ser corrigido. -
Chaves: se alguma estiver faltando, execute
node scripts/doctor.mjs --keys. Isso abre o arquivo de chaves em um editor de texto, onde o usuário cola:CARTESIA_API_KEY, de play.cartesia.ai (API keys). Uma conta gratuita funciona.GEMINI_API_KEY, de aistudio.google.com (a mesma chave do Dia 1 do curso).
Nunca peça ao usuário para colar uma chave no chat, e nunca imprima uma chave.
-
Voz: pergunte se ele quer clonar a própria voz (veja "Clonar uma voz") ou usar uma voz padrão por enquanto (
node scripts/voices.mjs --language he, depois--set-default <id>). -
Execute
doctor.mjsnovamente até que diga READY, então faça uma linha curta de teste com "Fazer uma narração" para que ele possa ouvir.
Fazer uma narração
-
Salve o original como
<nome>.original.txt, inalterado. -
Prepare o roteiro. Leia
references/hebrew-rules.md, depois salve<nome>.txtcom:- números, horas e preços como palavras faladas com o gênero correto
- nikud completo em palavras ambíguas, incluindo letras prefixadas, e todo o resto simples
- nomes em inglês com letras inglesas, e pontuação limpa
Mude como as palavras são escritas, não o que elas dizem. Se uma reformulação realmente ajudar, como substituir uma hora formal, diga isso no seu resumo.
-
Gere e verifique:
node scripts/speak.mjs <nome>.txt <nome>.wav --checkAdicione
--emotion none,--speed 1.0ou--voice <id>se solicitado. Use um nome de saída.mp3para MP3. Ele também escreve<nome>.wav.sent.txt(o texto exato enviado) e<nome>.wav.check.json(o relatório). Código de saída 2 significa que a verificação encontrou erros. -
Corrija apenas o que falhou. A verificação pode marcar uma palavra que foi dita corretamente, então primeiro compare
heard_ascom a leitura que você pretendia e ignore o relatório para essa palavra se coincidirem. Para cada erro real, corrija-o em<nome>.txte regenere. Em ordem de preferência: adicione ou corrija o nikud completo, depois reescreva, depois troque por um sinônimo. Pare após 3 rodadas e relate o que restou, porque mais tentativas raramente ajudam e cada uma gasta créditos. -
Lembre-se de correções reais. Se uma palavra precisou de correção e sempre significa a mesma coisa, adicione-a a
~/.cartesia-tts/lexicon.json(crie o arquivo se necessário), que é aplicado automaticamente em toda execução:[{ "text": "גוללים", "say": "גּוֹלְלִים" }]A correspondência é na palavra exata completa, então adicione formas prefixadas como entradas próprias. Deixe de fora homógrafos como ספר, já que a leitura correta depende da frase e uma substituição fixa quebraria outros usos.
-
Relate de volta: o caminho do áudio, o resultado da verificação, quaisquer palavras que você mudou e um lembrete para ouvir.
A verificação detecta palavras erradas melhor do que nuances de entrega. Em testes, deu três takes de reel diferentes com pontuações perfeitas idênticas. Um PASS significa que nenhum erro foi detectado, e o ouvido do usuário faz a decisão final. Quando solicitado a comparar takes quanto à sensação, forneça os takes em vez de escolher com base nas pontuações.
Gere um take por vez, porque o Cartesia limita requisições concorrentes por plano.
Verificar um take existente
node scripts/check.mjs <audio> <script.txt> --json relatorio.json
Clonar uma voz
node scripts/clone.mjs <clip> --name "Nome da voz" --language he --set-default
Clone apenas a própria voz do usuário, ou uma voz cujo proprietário deu permissão clara. Se for a voz de outra pessoa e a permissão não estiver clara, pare e pergunte. Deixe de fora --set-default para testar um clone primeiro, depois passe para speak.mjs com --voice <id>. Aconselhe sobre o clipe antes do upload, pois o clone o copia de perto:
- 30 a 60 segundos (Sonic 3.6 aprende com até 60), um falante, uma sala silenciosa, abaixo de 16 MB
- fale naturalmente, não como um locutor
- grave no humor desejado para a voz, porque um clipe alegre dá uma voz alegre em tudo que diz
Clones de Voz Pro exigem 30+ minutos de áudio e um plano superior. Eles melhoram a semelhança, não a pronúncia, então não corrigirão palavras mal lidas. Detalhes: https://docs.cartesia.ai/build-with-cartesia/capability-guides/clone-voices-pro
Quanto custa
O Sonic usa 1 crédito por caractere, cerca de 750 a 800 créditos por minuto de áudio. O plano gratuito do Cartesia inclui 20.000 créditos por mês e clonagem de voz instantânea, para avaliação e uso pessoal. Uso comercial requer um plano pago, a partir de $5 por mês. Detalhes atuais: https://www.cartesia.ai/pricing. A verificação do Gemini roda na chave Gemini do usuário.