Integraciones
Texto a voz de KugelAudio para Pipecat
KugelAudio ofrece un servicio oficial de TTS para Pipecat. Coloca KugelAudioTTSService en la etapa de TTS de tu pipeline y el resto del bot queda igual.
Cómo funciona
Qué hace la integración
Un TTSService listo para usar
Emite los frames estándar de Pipecat, así que encaja en cualquier pipeline basado en Pipecat 0.x o 1.x.
Reutilización de la conexión
Llama a prewarm() en tu configuración asíncrona y el servicio reutiliza un mismo WebSocket en todos los turnos, y se reconecta si se corta.
Métricas incluidas
El TTFB de Pipecat y el uso de caracteres se registran automáticamente. KugelAudioEnhanceFilter elimina el ruido de fondo en la entrada.
Código
Un bot de voz local
Micrófono de entrada, STT de Deepgram, LLM de OpenAI, TTS de KugelAudio y altavoz de salida. Define KUGELAUDIO_API_KEY, DEEPGRAM_API_KEY y OPENAI_API_KEY y ejecuta python bot.py.
pip install "kugelaudio[pipecat]" "pipecat-ai[deepgram,local,openai,silero]"import asyncio
import os
from pipecat.audio.vad.silero import SileroVADAnalyzer
from pipecat.frames.frames import TTSSpeakFrame
from pipecat.pipeline.pipeline import Pipeline
from pipecat.pipeline.runner import PipelineRunner
from pipecat.pipeline.task import PipelineTask
from pipecat.processors.aggregators.llm_context import LLMContext
from pipecat.processors.aggregators.llm_response_universal import (
LLMContextAggregatorPair,
)
from pipecat.services.deepgram.stt import DeepgramSTTService
from pipecat.services.openai.llm import OpenAILLMService
from pipecat.transports.local.audio import (
LocalAudioTransport,
LocalAudioTransportParams,
)
from kugelaudio.pipecat import KugelAudioTTSService
async def main():
transport = LocalAudioTransport(
LocalAudioTransportParams(
audio_in_enabled=True,
audio_out_enabled=True,
audio_out_sample_rate=24000,
vad_enabled=True,
vad_analyzer=SileroVADAnalyzer(),
)
)
stt = DeepgramSTTService(api_key=os.environ["DEEPGRAM_API_KEY"])
llm = OpenAILLMService(
api_key=os.environ["OPENAI_API_KEY"],
settings=OpenAILLMService.Settings(
model="gpt-4o-mini",
system_instruction="You are a helpful voice assistant. Keep answers short.",
),
)
tts = KugelAudioTTSService(
model="kugel-3.5",
voice_id=1071,
sample_rate=24000, # must match the transport's output rate
language="en", # normalization language (default: the voice's)
)
tts.prewarm() # needs the running event loop, so call it inside main()
context_aggregator = LLMContextAggregatorPair(LLMContext())
pipeline = Pipeline(
[
transport.input(),
stt,
context_aggregator.user(),
llm,
tts,
transport.output(),
context_aggregator.assistant(),
]
)
task = PipelineTask(pipeline)
await task.queue_frames([TTSSpeakFrame("Hi! How can I help you?")])
await PipelineRunner().run(task)
if __name__ == "__main__":
asyncio.run(main())Copiado de la documentación en docs.kugelaudio.com/integrations/pipecat. Leer la guía completa
Integraciones
Otras integraciones
LiveKit Agents
Plugin oficial de TTS para LiveKit Agents en Python y TypeScript.
Ver integraciónVapi
Endpoint de TTS personalizado integrado para asistentes de Vapi, sin proxy.
Ver integraciónCognigy
Endpoint de proveedor de voz personalizado para Cognigy Voice Gateway.
Ver integraciónServidor MCP
Conecta Claude, Cursor o cualquier cliente MCP y genera voz desde un chat.
Ver integración
Dale a tu agente una voz de KugelAudio
Crea una cuenta, copia una clave de API en el panel y elige una voz. Todas las integraciones de esta página funcionan con la misma API.