Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog/3809.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Added debug logging to `KrispVivaTurn.analyze_end_of_turn()` to log turn state and probability at decision time.
8 changes: 6 additions & 2 deletions examples/foundational/07p-interruptible-krisp-viva.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,14 @@
)
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.cartesia.tts import CartesiaTTSService
from pipecat.services.deepgram.stt import DeepgramSTTService
from pipecat.services.deepgram.tts import DeepgramTTSService
from pipecat.services.openai.llm import OpenAILLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams
from pipecat.turns.user_stop import TurnAnalyzerUserTurnStopStrategy
from pipecat.turns.user_turn_strategies import UserTurnStrategies

load_dotenv(override=True)

Expand Down Expand Up @@ -76,7 +78,9 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):

stt = DeepgramSTTService(api_key=os.getenv("DEEPGRAM_API_KEY"))

tts = DeepgramTTSService(api_key=os.getenv("DEEPGRAM_API_KEY"), voice="aura-helios-en")
tts = CartesiaTTSService(
api_key=os.getenv("CARTESIA_API_KEY"), voice_id="71a7ad14-091c-4e8e-a314-022ece01c121"
)

llm = OpenAILLMService(api_key=os.getenv("OPENAI_API_KEY"))

Expand Down
3 changes: 1 addition & 2 deletions scripts/evals/run-release-evals.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ def EVAL_VISION_IMAGE(*, eval_speaks_first: bool = False):
("07n-interruptible-google.py", EVAL_SIMPLE_MATH),
("07n-interruptible-google-http.py", EVAL_SIMPLE_MATH),
("07o-interruptible-assemblyai.py", EVAL_SIMPLE_MATH),
("07p-interruptible-krisp-viva.py", EVAL_SIMPLE_MATH),
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aconchillo I can provide the Krisp SDK and model for running release evals.

("07q-interruptible-rime.py", EVAL_SIMPLE_MATH),
("07q-interruptible-rime-http.py", EVAL_SIMPLE_MATH),
("07r-interruptible-nvidia.py", EVAL_SIMPLE_MATH),
Expand All @@ -148,8 +149,6 @@ def EVAL_VISION_IMAGE(*, eval_speaks_first: bool = False):
("07zj-interruptible-kokoro.py", EVAL_SIMPLE_MATH),
# Needs a local XTTS docker instance running.
# ("07i-interruptible-xtts.py", EVAL_SIMPLE_MATH),
# Needs a Krisp license.
# ("07p-interruptible-krisp.py", EVAL_SIMPLE_MATH),
]

TESTS_12 = [
Expand Down
3 changes: 3 additions & 0 deletions src/pipecat/audio/turn/krisp_viva_turn.py
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,9 @@ async def analyze_end_of_turn(self) -> Tuple[EndOfTurnState, Optional[MetricsDat
"""
# For real-time processing, the state is determined in append_audio
# Return the last state that was computed
logger.debug(
f"Krisp turn analysis: state={self._last_state}, probability={self._last_probability}"
)
return self._last_state, None

def clear(self):
Expand Down