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 扩展使用不透明状态指令。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目