Plugin: ReadAloud TTS (published as livekit-plugins-readaloud); in-tree PR or external package?

未关闭
#7,705 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@tsushanth 已经在做这个了。

开始于 2026年11月4日。

  • #8371 来自 @tsushanth —— 未关闭

评估

难度
3/5
预计耗时
1-2 天
新手友好度
18/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
ai-infra-agents, python
领域
ai

调研方向

The open question is whether a third-party TTS plugin belongs in the repository or stays external, so the first step is a maintainer answer, not code. If the answer is in-tree, read CONTRIBUTING.md and an existing plugin under livekit-plugins/ for layout, then check the tts.TTS and SynthesizeStream interfaces the plugin implements. Done is a recorded decision on placement, plus a PR only if maintainers accept it.

由索引模型根据 Issue 内容生成。

描述

Feature Type

Nice to have

Feature Description

I maintain ReadAloud (https://readaloudai.org), a streaming text-to-speech API aimed at voice agents and phone calls (Piper voices, 8 kHz output). I wrote a TTS plugin for livekit-agents and published it as a separate package:

It implements tts.TTS with synthesize() and a sentence-level SynthesizeStream. Closing a stream closes the HTTP connection so generation stops, capacity responses (503/429) surface as a retryable APIStatusError, and output can be 24, 16 or 8 kHz. It has no aligned transcripts, because the API returns no word timestamps.

Question: would you prefer this as an in-tree plugin (a PR adding livekit-plugins/livekit-plugins-readaloud following CONTRIBUTING.md, and I would sign the CLA), or should it stay an external package? If external, is there a place in the docs where community plugins are listed? I'm happy to follow whichever you prefer, and happy to hear that neither fits.

What has and has not been tested: 12 unit tests against a fake of the HTTP protocol, and direct synthesize() and stream() calls against the live API with livekit-agents 1.8.5. I have not yet run it inside a real LiveKit room or agent job, and I would do that before opening any PR.

Workarounds / Alternatives

Install the external package (pip install livekit-plugins-readaloud) and pass readaloud.TTS(...) to AgentSession.

Additional Context

The repo has a single-file example (examples/readaloud_tts_to_wav.py) that needs only a ReadAloud API key, plus a changelog. I work for the company that provides the service, as the README states.

主要语言
Python
星标
14.6k
派生
3.9k
平均合并
3 天
30 天内合并 PR
262

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

livekit/agents 的其他 Issue

查看 livekit/agents 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。