LiveKit 语音智能体的文本转语音
一个插件,指向 Paxa#
语音合成和转写对象都来自 LiveKit 的 OpenAI 插件,并设置了 Paxa 的 base URL、密钥、模型和音色。各参数的说明取自设置指南。
import os from livekit.plugins import openai paxa_tts = openai.TTS( base_url="https://api.paxalabs.com/v1", api_key=os.environ["PAXA_API_KEY"], model="paxa-tts-flash-v2", voice="khanomkrok", response_format="pcm", )
from livekit.agents import AgentSession, inference paxa_stt = openai.STT( base_url="https://api.paxalabs.com/v1", api_key=os.environ["PAXA_API_KEY"], model="paxa-stt-lite-v1-preview", language="th", ) session = AgentSession( stt=paxa_stt, # Any LLM LiveKit Agents supports. llm=inference.LLM("openai/gpt-4.1-mini"), tts=paxa_tts, vad=inference.VAD(), )
Give the agent a voice
- Set
modeltopaxa-tts-flash-v2, or keep OpenAI's model names, which run on it. The plugin asks for an event stream on most model names, and Paxa answers with raw audio, which the plugin plays as it arrives. - Set
voiceto any voice id from GET /v1/voices whose model ispaxa-tts-flash-v2. OpenAI's voice names also work (accepted voice names). - Keep
response_format="pcm". It returns 16-bit mono samples at 24 kHz, the rate the plugin plays, with no decoding step. - Set
speedbetween 0.5 and 1.5. A value outside that range answers 400.
Add transcription
- The plugin transcribes each finished turn as one recording. The session needs a VAD to find where each turn ends.
languagepasses a hint, such asth. Setdetect_language=Trueto send none and let the model detect the language.- Paxa STT Lite is a Research preview.
从密钥到能说话的智能体#
智能体保留原有的 LLM 和 session 代码。Paxa 负责语音合成,加上转写后也负责转写。
安装插件
安装带 openai 扩展的 livekit-agents,并把 PAXA_API_KEY 设为控制台中的密钥。
把 TTS 指向 Paxa
创建 openai.TTS,把 base_url 设为 https://api.paxalabs.com/v1,model 设为 paxa-tts-flash-v2,填入 Paxa 音色 ID,再把 response_format 设为 pcm,插件无需解码即可直接播放。
加入转写
用相同的 base URL 和模型 paxa-stt-lite-v1-preview 创建 openai.STT,再把两者连同判断每轮结束位置的 VAD 一起传给 AgentSession。
Paxa TTS Flash v2 标价为每百万字符 $10。Paxa STT Lite 标价为每小时音频 $0.50,按毫秒计费。
常见问题#
LiveKit Agents 是什么?
LiveKit 把 Agents 描述为面向语音、视频和物理 AI 智能体的实时框架。语音智能体的音频依次经过语音转文字、LLM 和文本转语音,Paxa 可以承担其中的语音转文字和文本转语音两个环节。
智能体可以使用哪些音色?
智能体可以使用 Paxa TTS Flash v2 的全部 50 个音色,每个音色都能说中文、英语和泰语。GET /v1/voices 列出所有音色 ID,音色库可以试听。OpenAI 的音色名也能使用,会映射到 Paxa 的音色。
较长的泰语回复什么时候开始朗读?
智能体逐句朗读回复。不带标点的泰语文本会被当作一句,因此较长的泰语回复要等 LLM 写完后才开始朗读。
LiveKit 中的转写如何工作?
openai.STT 会把每一轮说完的话作为一段录音发给 Paxa,由 session 的 VAD 判断每轮在哪里结束。可以用 language 传入语言提示,例如 th;也可以把 detect_language 设为 True,让模型自行识别语言。Paxa STT Lite 目前是研究预览版。
从免费积分开始
使用 Google、GitHub 或 Hugging Face 登录,即可用 100 一次性免费积分处理您自己的文本。