Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
theomonnom committed Jul 23, 2024
1 parent baafe48 commit 0a25491
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 8 deletions.
2 changes: 2 additions & 0 deletions livekit-agents/livekit/agents/ipc/channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ def _read_thread(self) -> None:
self._loop.call_soon_threadsafe(self._read_q.put_nowait, msg)
except RuntimeError:
break
except (OSError, EOFError, ValueError):
break
except ChannelClosed:
break

Expand Down
2 changes: 1 addition & 1 deletion livekit-agents/livekit/agents/tokenize/token_stream.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def push_text(self, text: str) -> None:
self._event_ch.send_nowait(TokenData(token=buf))

for i, tok in enumerate(buf_toks):
tok_i = self._buf.index(tok)
tok_i = self._buf.find(tok)
self._buf = self._buf[tok_i + len(tok) :].lstrip()

buf_toks = []
Expand Down
6 changes: 2 additions & 4 deletions livekit-agents/livekit/agents/transcription/tts_forwarder.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,7 @@ def push_text(self, text: str) -> None:
def mark_text_segment_end(self) -> None:
self._check_not_closed()
stream = self._forming_segments.text.sentence_stream
stream.mark_segment_end()
self._task_set.create_task(stream.aclose())
stream.end_input()

# create a new segment on "mark_text_segment_end"
# further text can already be pushed even if mark_audio_segment_end has not been
Expand Down Expand Up @@ -235,8 +234,7 @@ async def _forward_task():
seg.forward_start_time = time.time()

async for ev in sentence_stream:
if ev.type == tokenize.TokenEventType.TOKEN:
await self._sync_sentence_co(seg, ev.token, rtc_seg_q)
await self._sync_sentence_co(seg, ev.token, rtc_seg_q)

rtc_seg_q.put_nowait(None)
await forward_task
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,6 @@ async def _read_generated_audio_task():
handle._buf_ch.send_nowait(audio.frame)

# we're only flushing once, so we know we can break at the end of the first segment
if audio.end_of_segment:
break

# self._log_debug(
# f"tts finished synthesising {audio_duration:.2f}s audio (streamed)"
Expand All @@ -212,7 +210,7 @@ async def _read_generated_audio_task():
if handle._tr_fwd is not None:
handle._tr_fwd.mark_text_segment_end()

tts_stream.flush()
tts_stream.end_input()
await read_atask
await tts_stream.aclose()

Expand Down

0 comments on commit 0a25491

Please sign in to comment.