ciyidogan commited on
Commit
b459df5
·
verified ·
1 Parent(s): b1c83fa

Update stt/stt_deepgram.py

Browse files
Files changed (1) hide show
  1. stt/stt_deepgram.py +12 -20
stt/stt_deepgram.py CHANGED
@@ -289,19 +289,17 @@ class DeepgramSTT(STTInterface):
289
  except:
290
  log_warning("⚠️ Could not parse as Linear16")
291
 
292
- # Final result geldiyse audio gönderme ama queue'yu kontrol et
293
- if not self.final_result_received:
294
- # Send audio to Deepgram
295
- self.live_connection.send(audio_chunk)
296
-
297
- self.total_chunks += 1
298
- self.total_audio_bytes += len(audio_chunk)
299
-
300
- # Log progress
301
- if self.total_chunks % 50 == 0:
302
- log_debug(f"📊 Listening... {self.total_chunks} chunks, {self.total_audio_bytes/1024:.1f}KB")
303
 
304
- # Her zaman queue'yu kontrol et ve result'ları yield et
305
  while True:
306
  try:
307
  result = self.responses_queue.get_nowait()
@@ -309,13 +307,7 @@ class DeepgramSTT(STTInterface):
309
  # Log for debugging
310
  log_debug(f"🎯 Yielding result: is_final={result.is_final}, text='{result.text}'")
311
 
312
- if result.is_final:
313
- self.final_result_received = True
314
- yield result # ✅ Final result'ı yield et
315
- # Artık yeni audio kabul etme
316
- elif not self.final_result_received:
317
- # Final gelmeden önce interim'leri yield et
318
- yield result
319
 
320
  except queue.Empty:
321
  break
@@ -324,7 +316,7 @@ class DeepgramSTT(STTInterface):
324
  log_error(f"❌ Error streaming audio", error=str(e))
325
  self.is_streaming = False
326
  raise
327
-
328
  async def stop_streaming(self) -> Optional[TranscriptionResult]:
329
  """Stop streaming and clean up"""
330
  if not self.is_streaming:
 
289
  except:
290
  log_warning("⚠️ Could not parse as Linear16")
291
 
292
+ # Send audio to Deepgram (final result gelse bile gönder, Deepgram kendi handle edecek)
293
+ self.live_connection.send(audio_chunk)
294
+
295
+ self.total_chunks += 1
296
+ self.total_audio_bytes += len(audio_chunk)
297
+
298
+ # Log progress
299
+ if self.total_chunks % 50 == 0:
300
+ log_debug(f"📊 Listening... {self.total_chunks} chunks, {self.total_audio_bytes/1024:.1f}KB")
 
 
301
 
302
+ # Check queue for results
303
  while True:
304
  try:
305
  result = self.responses_queue.get_nowait()
 
307
  # Log for debugging
308
  log_debug(f"🎯 Yielding result: is_final={result.is_final}, text='{result.text}'")
309
 
310
+ yield result
 
 
 
 
 
 
311
 
312
  except queue.Empty:
313
  break
 
316
  log_error(f"❌ Error streaming audio", error=str(e))
317
  self.is_streaming = False
318
  raise
319
+
320
  async def stop_streaming(self) -> Optional[TranscriptionResult]:
321
  """Stop streaming and clean up"""
322
  if not self.is_streaming: