Community程式設計與開發github.com

cartesia-hebrew-tts

使用 Cartesia Sonic 3.6 產生希伯來語配音,支援使用者自己的語音複製或庫存語音,並妥善處理發音問題。

cartesia-hebrew-tts 是什麼?

此技能專為 Cartesia Sonic 3.6 的希伯來語配音而設計,解決無母音希伯來文字導致的模型猜測問題。它會先準備腳本(為模糊字詞加上母音符號,將數字、時間改為口語形式),然後產生音檔,並透過 Gemini 逐字檢查。對於發現的錯誤,技能會進行修正,並將修正記錄在個人發音清單中,避免未來重複出錯。最後,它還支援即時語音複製功能,讓使用者能使用自己的聲音進行配音。此技能支援 Cartesia 平台,並需要 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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Cartesia 希伯來語 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 Keys)。免費帳戶即可使用。
    • 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. 回報結果: 音檔路徑、檢查結果、您修改過的任何詞彙,以及提醒使用者聆聽。

檢查在捕捉錯誤詞彙方面比捕捉細微語氣差異更有效。 在測試中,它為三段不同的連續鏡頭給出了完全相同的完美分數。PASS 表示未檢測到錯誤,最終判斷仍由使用者親自聆聽決定。當被要求比較鏡頭的感覺時,請提供鏡頭本身,而非根據分數挑選。

每次只產生一個鏡頭,因為 Cartesia 會根據方案限制並發請求。

檢查現有錄音

node scripts/check.mjs <音檔> <腳本.txt> --json report.json

複製聲音

node scripts/clone.mjs <音檔片段> --name "聲音名稱" --language he --set-default

僅複製使用者自己的聲音,或已獲得明確許可的其他人聲音。如果是他人聲音且許可不明確,請停止並詢問。省略 --set-default 可以先試聽複製結果,然後再透過 --voice <id> 傳遞給 speak.mjs。在上傳前,請對音檔片段提供建議,因為複製會緊密模仿:

  • 30 到 60 秒(Sonic 3.6 最多可學習 60 秒),單一說話者,安靜環境,小於 16 MB
  • 自然說話,避免像播報員
  • 以所需的語氣錄製,因為愉快的片段會讓所有輸出都帶有愉快語調

專業級聲音複製需要 30 分鐘以上的音訊和更高階的方案。它們改善的是相似度,而非發音,因此無法修正讀錯的詞彙。詳細資訊:https://docs.cartesia.ai/build-with-cartesia/capability-guides/clone-voices-pro

費用說明

Sonic 每字元消耗 1 點數,每分鐘音訊約需 750 到 800 點數。Cartesia 的免費方案每月包含 20,000 點數和即時語音複製,供評估與個人使用。商業使用需要付費方案,每月 $5 美元起。最新詳細資訊:https://www.cartesia.ai/pricing。Gemini 檢查會使用使用者的 Gemini 金鑰。

相關技能