tgies/klattsch

primitive parallel-formant speech synth in the browser

解決的問題

在瀏覽器、Node.js 或透過 CLI 生成合成語音,無需依賴重型外部套件。它特別使用並行共振峰合成技術,重現 1970 年代末至 1980 年代初語音合成器(如 Votrax 或 SAM)的「復古」音色。

工作原理

系統採用兩階段流程:編譯器與合成器。

  1. 編譯器:接收使用 ARPABET 標準的音素字串與指令(用於控制音高、音調高度與時序),轉換為帶時間戳的目標排程表。
  2. 合成器:解析該排程表以產生聲音。它使用 Rosenberg 風格的聲門脈衝處理有聲音,使用 xorshift 噪聲處理無聲音,然後將這些訊號透過三個平行的帶通二階濾波器(共振峰)處理,以塑造語音質感。

支援多音軌(多聲部),允許多個獨立的聲音混合在一起,可透過 AudioWorklets 集成到網頁應用中,實現低延遲播放。

適用對象

  • 希望在專案中加入復古語音效果的 Web 開發者。
  • 尋找輕量級、無依賴語音引擎用於角色對話的遊戲開發者。
  • 對共振峰合成與早期電腦語音感興趣的音效設計師。

特色亮點

  • 零執行時依賴:可在瀏覽器、Node.js 與 CLI 中無縫運行。
  • 多聲部支援:可創造和弦或多重語音。
  • 靈活的語調控制:可調節音高、顫音、氣息感與聲門努力。
  • 高度可客製化:編譯器與核心解碼器解耦,支援自訂引擎或為高階 DSP 擴展使用不透明狀態指令。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案