Skip to content
Merged
Changes from all commits
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
39 changes: 20 additions & 19 deletions backend/routers/transcribe.py
Original file line number Diff line number Diff line change
Expand Up @@ -583,27 +583,28 @@ async def receive_audio(dg_socket1, dg_socket2, soniox_socket, speechmatics_sock
data = decoder.decode(bytes(data), frame_size=160)
# audio_data.extend(data)

# STT
has_speech = True
if include_speech_profile and codec != 'opus': # don't do for opus 1.0.4 for now
has_speech = _has_speech(data, sample_rate)
if not has_speech:
continue

if soniox_socket is not None:
await soniox_socket.send(data)

if speechmatics_socket1 is not None:
await speechmatics_socket1.send(data)

if dg_socket1 is not None:
elapsed_seconds = time.time() - timer_start
if elapsed_seconds > speech_profile_duration or not dg_socket2:
dg_socket1.send(data)
if dg_socket2:
print('Killing socket2', uid)
dg_socket2.finish()
dg_socket2 = None
else:
dg_socket2.send(data)

if has_speech:
if soniox_socket is not None:
await soniox_socket.send(data)

if speechmatics_socket1 is not None:
await speechmatics_socket1.send(data)

if dg_socket1 is not None:
elapsed_seconds = time.time() - timer_start
if elapsed_seconds > speech_profile_duration or not dg_socket2:
dg_socket1.send(data)
if dg_socket2:
print('Killing socket2', uid)
dg_socket2.finish()
dg_socket2 = None
else:
dg_socket2.send(data)

# Send to external trigger
if audio_bytes_send is not None:
Expand Down