Skip to content

Commit

Permalink
increase min silence duration for better interrupt handling
Browse files Browse the repository at this point in the history
  • Loading branch information
jhakulin committed Nov 2, 2024
1 parent 1857fd9 commit 0b4f6fa
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
13 changes: 7 additions & 6 deletions samples/async/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,10 @@ def on_speech_start(self):
asyncio.run_coroutine_threadsafe(self.client.cancel_response(), self.event_loop)
self.cancelled = True

current_item_id = self.event_handler.get_current_conversation_item_id()
current_audio_content_index = self.event_handler.get_current_audio_content_id()
logger.info(f"Truncate the current audio, current item ID: {current_item_id}, current audio content index: {current_audio_content_index}")
asyncio.run_coroutine_threadsafe(self.client.truncate_response(item_id=current_item_id, content_index=current_audio_content_index, audio_end_ms=1000), self.event_loop)
#current_item_id = self.event_handler.get_current_conversation_item_id()
#current_audio_content_index = self.event_handler.get_current_audio_content_id()
#logger.info(f"Truncate the current audio, current item ID: {current_item_id}, current audio content index: {current_audio_content_index}")
#asyncio.run_coroutine_threadsafe(self.client.truncate_response(item_id=current_item_id, content_index=current_audio_content_index, audio_end_ms=1000), self.event_loop)

# Restart the audio player
self.event_handler.audio_player.drain_and_restart()
Expand Down Expand Up @@ -295,7 +295,8 @@ async def main():
tools=functions.definitions,
tool_choice="auto",
temperature=0.8,
max_output_tokens=None
max_output_tokens=None,
voice="ballad",
)

# Define AudioStreamOptions
Expand Down Expand Up @@ -336,7 +337,7 @@ async def main():
"window_duration": 1.0,
"silence_ratio": 1.5,
"min_speech_duration": 0.3,
"min_silence_duration": 0.3
"min_silence_duration": 1.0
},
enable_wave_capture=False
)
Expand Down
12 changes: 6 additions & 6 deletions samples/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ def on_speech_start(self):
logger.info("Cancelling response.")
self._client.cancel_response()

current_item_id = self._event_handler.get_current_conversation_item_id()
current_audio_content_index = self._event_handler.get_current_audio_content_id()
logger.info(f"Truncate the current audio, current item ID: {current_item_id}, current audio content index: {current_audio_content_index}")
self._client.truncate_response(item_id=current_item_id, content_index=current_audio_content_index, audio_end_ms=1000)
#current_item_id = self._event_handler.get_current_conversation_item_id()
#current_audio_content_index = self._event_handler.get_current_audio_content_id()
#logger.info(f"Truncate the current audio, current item ID: {current_item_id}, current audio content index: {current_audio_content_index}")
#self._client.truncate_response(item_id=current_item_id, content_index=current_audio_content_index, audio_end_ms=1000)

# Restart the audio player
self._event_handler.audio_player.drain_and_restart()
Expand Down Expand Up @@ -271,7 +271,7 @@ def main():
tool_choice="auto",
temperature=0.8,
max_output_tokens=None,
voice="echo",
voice="ballad",
)

# Define AudioStreamOptions
Expand Down Expand Up @@ -309,7 +309,7 @@ def main():
"window_duration": 1.0,
"silence_ratio": 1.5,
"min_speech_duration": 0.3,
"min_silence_duration": 0.3
"min_silence_duration": 1.0
},
enable_wave_capture=False
)
Expand Down
2 changes: 1 addition & 1 deletion samples/utils/vad.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

class VoiceActivityDetector:
def __init__(self, sample_rate, chunk_size, window_duration=1.0,
silence_ratio=1.5, min_speech_duration=0.3, min_silence_duration=0.3):
silence_ratio=1.5, min_speech_duration=0.3, min_silence_duration=1.0):
"""
Initialize the Voice Activity Detector (VAD).
Expand Down

0 comments on commit 0b4f6fa

Please sign in to comment.