作者运营一个播客,该播客通过使用开源文本转语音(TTS)模型自动从博客文章生成——这是一个作者自我设定的挑战。在使用F5-TTS后,他们寻求升级,并参考了人工智能分析TTS排行榜。虽然Kokoro排名第一,但它缺乏语音克隆功能。
测试Fish Audio的S1-mini令人失望,开源版本功能有限,这反映了一种常见的策略,即吸引用户使用付费的、更高级的模型。Chatterbox最终成为最佳可行选择,但与其他开源TTS一样,存在局限性:字符限制较短(约1000-2000个),导致处理较长文本时出现幻觉或速度问题。
整个流程包括使用LLM生成稿件和摘要、分块、通过Modal容器使用Chatterbox进行并行处理,以及拼接音频。改进包括Spotify可用性和可点击的节目说明。尽管取得了进展,作者认为开源TTS在可靠性和控制方面仍然落后于专有系统,需要像逐句输入这样的解决方法。整个流程是开源的,并且可在GitHub上获取。
## TigerBeetle 票务:从好奇到 977 TPS
这个项目始于一个简单的问题:如何构建一个能够处理巨大需求的强大票务系统,例如 Oasis 级别演唱会。根据 TigerBeetle 首席执行官的说法,答案是“太简单了:TigerBeetle”——一个专为高容量、精确计数而设计的金融交易数据库。
为了理解*如何*做到,作者用 Python 在 19 天内构建了一个可用的演示,实现了**每秒 977 张票的预订**——比 Oasis 基准快 15 倍。关键是将票务建模为金融交易,利用 TigerBeetle 的复式记账原则,保证不会超售。
最初的性能瓶颈源于 PostgreSQL 的使用。转向“热/冷”架构——利用 Redis 处理快速、短暂的会话数据,并使用 PostgreSQL 存储持久的订单记录——极大地提高了速度。最终的突破来自于**批量处理**,利用 TigerBeetle 处理每请求数千个操作的能力,在 Python 本身存在开销的情况下,仍达到峰值性能。
令人惊讶的是,*更多*的处理 worker 实际上*降低*了性能,因为批处理被分割了。这个项目突出了 TigerBeetle 设计的强大之处以及理解架构权衡的重要性。作者发起了 **TigerBeetle 票务挑战**,邀请其他人使用不同的语言和技术栈来复制和改进这些结果。