Spaces:
Running
Running
Update stt/stt_google.py
Browse files- stt/stt_google.py +7 -0
stt/stt_google.py
CHANGED
@@ -348,6 +348,8 @@ class GoogleCloudSTT(STTInterface):
|
|
348 |
chunk_count = 0
|
349 |
total_bytes = 0
|
350 |
first_chunk_processed = False
|
|
|
|
|
351 |
|
352 |
while not self.stop_event.is_set():
|
353 |
try:
|
@@ -358,6 +360,7 @@ class GoogleCloudSTT(STTInterface):
|
|
358 |
|
359 |
chunk_count += 1
|
360 |
total_bytes += len(chunk)
|
|
|
361 |
|
362 |
# İlk chunk'ta audio format kontrolü
|
363 |
if chunk_count == 1:
|
@@ -384,6 +387,10 @@ class GoogleCloudSTT(STTInterface):
|
|
384 |
yield speech.StreamingRecognizeRequest(audio_content=chunk)
|
385 |
|
386 |
except queue.Empty:
|
|
|
|
|
|
|
|
|
387 |
continue
|
388 |
except Exception as e:
|
389 |
log_error(f"❌ Error in request generator: {e}")
|
|
|
348 |
chunk_count = 0
|
349 |
total_bytes = 0
|
350 |
first_chunk_processed = False
|
351 |
+
last_chunk_time = time.time()
|
352 |
+
silence_timeout = 2.0 # 2 saniye sessizlik timeout
|
353 |
|
354 |
while not self.stop_event.is_set():
|
355 |
try:
|
|
|
360 |
|
361 |
chunk_count += 1
|
362 |
total_bytes += len(chunk)
|
363 |
+
last_chunk_time = time.time() # Update last chunk time
|
364 |
|
365 |
# İlk chunk'ta audio format kontrolü
|
366 |
if chunk_count == 1:
|
|
|
387 |
yield speech.StreamingRecognizeRequest(audio_content=chunk)
|
388 |
|
389 |
except queue.Empty:
|
390 |
+
# Check for silence timeout
|
391 |
+
if time.time() - last_chunk_time > silence_timeout:
|
392 |
+
log_info(f"🔇 Silence timeout reached ({silence_timeout}s), ending stream")
|
393 |
+
break
|
394 |
continue
|
395 |
except Exception as e:
|
396 |
log_error(f"❌ Error in request generator: {e}")
|