Communityコーディング&開発github.com

cartesia-hebrew-tts

Cartesia Sonic 3.6 を使ってヘブライ語の音声を生成します。ユーザーのクローン音声または標準音声を使い、発音を適切に処理します。

cartesia-hebrew-tts とは?

このスキルは、Cartesia Sonic 3.6 を使用してヘブライ語のナレーションや音声を作成するためのツールです。音声自体は自然ですが、ヘブライ語の未母音記号テキストでは発音の誤りが発生しやすいため、このスキルはテキストの前処理と結果の確認に重点を置いています。具体的には、数字や時刻を適切な性別で単語に変換し、曖昧な単語にニクダー(母音記号)を付与します。生成後はGemini APIを使用して各単語の発音をチェックし、誤りを検出して修正します。修正履歴は個人の発音リスト(lexicon.json)に保存され、以降の生成に自動適用されます。また、APIを通じてインスタント音声クローンを作成し、それを標準音声として使用することも可能です。対応プラットフォームは主にNode.js(v20以上)で動作し、CartesiaとGeminiのAPIキーが必要です。無料プランでも評価・個人利用が可能で、商用利用には有料プランが必要です。

対応~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/guyaga/10d10s-bonus-cartesia-hebrew-tts/tree/HEAD

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Cartesia Hebrew TTS

音声自体は標準で自然に聞こえます。失敗のほとんどは発音に関するものです。母音記号のないヘブライ語では、モデルが母音、性別、数字の読み方を推測しなければならないからです。そのため、テキストの準備と結果の確認が重要になります。

スクリプトはこのファイルと同じディレクトリの scripts/ にあります。出力先のフォルダから node(バージョン20以降)で実行します。個人データは ~/.cartesia-tts に保存されます。キー(.env)、デフォルトの音声と設定(config.json)、発音リスト(lexicon.json)があります。スキルをアップデートしてもこのフォルダは変更されません。

初回実行

ユーザーの言語で平易な言葉で話しかけ、各ステップの後に入力を待ちます。

  1. node scripts/doctor.mjs を実行します。これは無料です。READY と表示されるか、修正すべき点が表示されます。

  2. キー: キーが不足している場合、node scripts/doctor.mjs --keys を実行します。テキストエディタでキーファイルが開くので、ユーザーは以下を貼り付けます:

    • CARTESIA_API_KEY: play.cartesia.ai(APIキー)から取得。無料アカウントでも使用可能。
    • GEMINI_API_KEY: aistudio.google.com から取得(コース初日と同じキー)。

    ユーザーにキーをチャットに貼り付けさせたり、キーを表示したりしないでください。

  3. 音声: 自分の声をクローンするか(「音声のクローン」を参照)、標準音声を使うかを尋ねます(node scripts/voices.mjs --language he、その後 --set-default <id>)。

  4. doctor.mjs が READY と表示するまで再度実行し、その後「音声を作成」で短いテスト行を作成してユーザーに聞いてもらいます。

音声を作成

  1. オリジナルを保存 <name>.original.txt として、変更せずに保存します。

  2. スクリプトを準備 references/hebrew-rules.md を読み、<name>.txt を以下の条件で保存します:

    • 数字、時刻、価格は適切な性別で単語として記述
    • 曖昧な単語には完全なニクダー(接頭辞を含む)を付与し、その他はプレーンなまま
    • 英字の名前は英字のまま、句読点はきれいに

    単語の書き方を変えるのであって、意味を変えるのではありません。言い換えが本当に役立つ場合(例:正式な時刻を別の表現に置き換えるなど)、その旨をサマリーに記載します。

  3. 生成とチェック:

    node scripts/speak.mjs <name>.txt <name>.wav --check
    

    必要に応じて --emotion none、--speed 1.0、--voice <id> を追加します。MP3が必要な場合は .mp3 の出力名を使用します。<name>.wav.sent.txt(送信された正確なテキスト)と <name>.wav.check.json(レポート)も出力されます。終了コード2はチェックでエラーが見つかったことを示します。

  4. 失敗したものだけを修正します チェックは正しく発音された単語を誤りと報告することがあるため、まず heard_as と意図した読みを比較し、一致する場合はその単語のレポートを無視します。実際のエラーごとに、<name>.txt を修正して再生成します。優先順位は、完全なニクダーの追加または修正、次にスペルの変更、最後に同義語への置き換えです。3ラウンドを超えたら残りを報告して停止します。それ以上リトライしても効果は薄く、クレジットを消費するためです。

  5. 実際の修正を記憶 単語に修正が必要で、常に同じ意味を持つ場合は、~/.cartesia-tts/lexicon.json に追加します(ファイルがない場合は作成)。これはすべての実行時に自動適用されます:

    [{ "text": "גוללים", "say": "גּוֹלְלִים" }]
    

    一致は完全な単語全体に対して行われるため、接頭辞付きの形は個別のエントリとして追加します。ספר のような同形異義語は、正しい読みが文に依存し、固定された置き換えが他の使用を壊す可能性があるため、追加しないでください。

  6. 報告: 音声ファイルのパス、チェック結果、変更した単語、そして聞いて確認するよう促すメッセージを報告します。

チェックは、微妙な言い回しよりも間違った単語をうまく捉えます。 テストでは、3つの異なるリールテイクに同一の完璧なスコアが与えられました。PASS は誤りが検出されなかったことを意味し、最終的な判断はユーザーの耳に委ねられます。テイクをフィーリングで比較するよう求められた場合は、スコアから選ぶのではなく、テイクを提示します。

Cartesiaはプランごとに同時リクエスト数を制限しているため、テイクは一度に1つずつ生成します。

既存のテイクをチェック

node scripts/check.mjs <audio> <script.txt> --json report.json

音声をクローン

node scripts/clone.mjs <clip> --name "音声名" --language he --set-default

ユーザー自身の声、または明確な許可を得た声のみをクローンします。他の人の声で許可が明確でない場合は、停止して確認します。--set-default を省略してクローンを試し、その後 --voice <id> を付けて speak.mjs に渡すこともできます。クローンはクリップを忠実にコピーするため、アップロード前にクリップについてアドバイスします:

  • 30秒から60秒(Sonic 3.6は最大60秒まで学習)、1人の話者、静かな部屋、16 MB未満
  • アナウンサーのように話すのではなく、自然に話す
  • 希望する雰囲気で録音する(陽気なクリップはすべての発話で陽気な声になるため)

Pro Voice Clones には30分以上の音声と上位プランが必要です。これらは声質の類似性を改善しますが、発音は改善しないため、誤読単語の修正にはなりません。詳細: https://docs.cartesia.ai/build-with-cartesia/capability-guides/clone-voices-pro

料金

Sonicは1文字あたり1クレジットを使用し、音声1分あたり約750〜800クレジットです。Cartesiaの無料プランには月20,000クレジットとインスタント音声クローンが含まれており、評価および個人利用が可能です。商用利用には有料プラン(月5ドルから)が必要です。最新の詳細: https://www.cartesia.ai/pricing。GeminiチェックはユーザーのGeminiキーを使用して実行されます。

関連スキル