Documentation
Integration Examples/LiveKit/LiveKit Integration Overview

LiveKit Integration Overview

Integrate Noveum Trace with LiveKit voice agents for STT/TTS tracing and real-time audio observability

Noveum Trace provides seamless integration with LiveKit voice agents, enabling you to trace speech-to-text (STT), text-to-speech (TTS), and agent interactions in real-time voice applications.

What You Get

  • STT Tracing: Automatic tracing of speech-to-text operations with Deepgram, AssemblyAI, and other providers
  • TTS Tracing: Track text-to-speech generation with Cartesia, ElevenLabs, and other providers
  • Agent Session Tracing: Monitor complete voice agent sessions and conversations
  • Audio Metrics: Track latency, audio duration, and quality metrics
  • Automatic Integration: Minimal code changes with wrapper pattern

Installation

pip install noveum-trace livekit livekit-agents
pip install livekit-plugins-deepgram livekit-plugins-cartesia  # or your preferred providers

Quick Start

Wrap your STT/TTS providers with Noveum Trace wrappers:

import noveum_trace
from noveum_trace.integrations.livekit import (
    LiveKitSTTWrapper,
    LiveKitTTSWrapper,
    setup_livekit_tracing,
    extract_job_context
)
from livekit.agents import Agent, AgentSession, JobContext
from livekit.plugins import deepgram, cartesia, openai
 
# Initialize Noveum Trace
noveum_trace.init(
    project="voice-agent",
    api_key="your-api-key"
)
 
# Define your agent (see basic-agent guide for advanced examples)
class VoiceAgent(Agent):
    def __init__(self):
        super().__init__(
            instructions="You are a helpful voice assistant."
        )
 
async def entrypoint(ctx: JobContext):
    session_id = ctx.job.id
    
    # Extract JobContext metadata to enrich traces
    job_metadata = extract_job_context(ctx)
    
    # Wrap STT provider
    traced_stt = LiveKitSTTWrapper(
        stt=deepgram.STT(model="nova-2"),
        session_id=session_id
    )
    
    # Wrap TTS provider
    traced_tts = LiveKitTTSWrapper(
        tts=cartesia.TTS(model="sonic-english"),
        session_id=session_id
    )
    
    # Create session with traced providers
    session = AgentSession(
        stt=traced_stt,
        llm=openai.LLM(model="gpt-4o-mini"),
        tts=traced_tts
    )
    
    # Setup automatic tracing with enriched metadata
    setup_livekit_tracing(session, metadata=job_metadata)
    
    # Start agent
    await session.start(agent=VoiceAgent(), room=ctx.room)

Integration Patterns

1. STT/TTS Wrappers

Wrap audio providers for automatic tracing.

2. Session Tracing

Track complete conversation sessions with context.

3. Agent Integration

Monitor agent decisions and tool usage in voice workflows.

Key Features

  • Non-Intrusive: Wrap existing providers without changing your code
  • Audio Metrics: Track transcription accuracy, latency, and audio quality
  • Context Enrichment: Automatically extract room, participant, and job metadata with extract_job_context()
  • Session Context: Maintain conversation context across interactions
  • Provider Agnostic: Works with Deepgram, Cartesia, ElevenLabs, and more

What Gets Traced

  • STT Operations:
    • Original audio recordings (playable in dashboard)
    • Full audio transcriptions (exact text spoken)
    • Audio input duration and format
    • Confidence scores and accuracy
    • Processing latency
  • TTS Operations:
    • Generated audio files (playable in dashboard)
    • Text-to-speech input (exact text sent)
    • Generated audio metadata (duration, format, quality)
    • Audio generation timing
    • Voice and model details
  • Agent Sessions: Session lifecycle, user interactions, agent responses
  • Audio Metrics: Processing time, audio duration, quality indicators
  • JobContext Metadata: Room name/SID, participant identity, job ID, agent name, custom metadata

Next Steps

Need Help?

  • Documentation: Browse our comprehensive guides
  • Examples: Check out LangChain and LangGraph examples
  • Support: Contact our team for assistance
Exclusive Early Access

Get Early Access to Noveum.ai Platform

Be the first one to get notified when we open Noveum Platform to more users. All users get access to Observability suite for free, early users get free eval jobs and premium support for the first year.

Sign up now. We send access to new batch every week.

Early access members receive premium onboarding support and influence our product roadmap. Limited spots available.

On this page