gemma
This commit is contained in:
+19
-1
@@ -107,10 +107,28 @@ class FillerAudioLibrary:
|
||||
segments: Iterable[tuple[str, str | None]],
|
||||
) -> bytes:
|
||||
clip = bytearray()
|
||||
for text, language_code in segments:
|
||||
for i, (text, language_code) in enumerate(segments):
|
||||
LOGGER.info(
|
||||
"synthesize_segments: starting segment %s language=%s text=%r",
|
||||
i,
|
||||
language_code,
|
||||
text[:60],
|
||||
)
|
||||
segment = await self._synthesize_clip(tts, text, language_code=language_code)
|
||||
if segment:
|
||||
clip.extend(segment)
|
||||
LOGGER.info(
|
||||
"synthesize_segments: completed segment %s bytes=%s total_bytes=%s",
|
||||
i,
|
||||
len(segment),
|
||||
len(clip),
|
||||
)
|
||||
else:
|
||||
LOGGER.warning(
|
||||
"synthesize_segments: segment %s produced NO audio; language=%s",
|
||||
i,
|
||||
language_code,
|
||||
)
|
||||
return bytes(clip)
|
||||
|
||||
def _load_from_files(self) -> None:
|
||||
|
||||
@@ -1868,6 +1868,7 @@ class CallSession:
|
||||
len(segment_text),
|
||||
_preview_text(segment_text),
|
||||
)
|
||||
audio_segment_chunk_count = 0
|
||||
async for audio_chunk in self._tts.synthesize_stream(
|
||||
one_shot_text_stream(),
|
||||
language_code=language_code,
|
||||
@@ -1875,6 +1876,7 @@ class CallSession:
|
||||
self._ensure_generation(epoch)
|
||||
if not audio_chunk:
|
||||
continue
|
||||
audio_segment_chunk_count += 1
|
||||
audio_chunk_count += 1
|
||||
audio_byte_count += len(audio_chunk)
|
||||
if not first_audio_seen:
|
||||
@@ -1887,6 +1889,20 @@ class CallSession:
|
||||
)
|
||||
self._set_state(SessionState.ASSISTANT_SPEAKING, reason="initial greeting started")
|
||||
await self.transport.send_audio(audio_chunk)
|
||||
|
||||
if audio_segment_chunk_count == 0:
|
||||
LOGGER.warning(
|
||||
"realtime session %s initial greeting segment produced NO audio: language=%s",
|
||||
self.session_id,
|
||||
language_code,
|
||||
)
|
||||
else:
|
||||
LOGGER.info(
|
||||
"realtime session %s initial greeting segment completed: language=%s chunks=%s",
|
||||
self.session_id,
|
||||
language_code,
|
||||
audio_segment_chunk_count,
|
||||
)
|
||||
await self.transport.flush_audio()
|
||||
self._ensure_generation(epoch)
|
||||
LOGGER.info(
|
||||
|
||||
Reference in New Issue
Block a user