Spaces:
Building
Building
Update websocket_handler.py
Browse files- websocket_handler.py +35 -35
websocket_handler.py
CHANGED
@@ -176,42 +176,42 @@ class RealtimeSession:
|
|
176 |
self.silence_threshold_ms = silence_threshold
|
177 |
|
178 |
async def initialize_stt(self):
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
|
|
|
|
|
|
|
|
|
|
209 |
return False
|
210 |
-
except Exception as e:
|
211 |
-
log_error(f"Failed to initialize STT", error=str(e), session_id=self.session.session_id)
|
212 |
-
# STT başarısız oldu, manager'ı None yap
|
213 |
-
self.stt_manager = None
|
214 |
-
return False
|
215 |
|
216 |
async def change_state(self, new_state: ConversationState):
|
217 |
"""Change conversation state"""
|
|
|
176 |
self.silence_threshold_ms = silence_threshold
|
177 |
|
178 |
async def initialize_stt(self):
|
179 |
+
"""Initialize STT provider"""
|
180 |
+
try:
|
181 |
+
self.stt_manager = STTFactory.create_provider()
|
182 |
+
if self.stt_manager and self.stt_manager.supports_realtime():
|
183 |
+
config = ConfigProvider.get().global_config.stt_provider.settings
|
184 |
+
|
185 |
+
# STTConfig nesnesi oluştur, dict değil!
|
186 |
+
from stt_interface import STTConfig
|
187 |
+
stt_config = STTConfig(
|
188 |
+
language=config.get("language", "tr-TR"),
|
189 |
+
interim_results=config.get("interim_results", True),
|
190 |
+
single_utterance=False,
|
191 |
+
enable_punctuation=config.get("enable_punctuation", True),
|
192 |
+
sample_rate=16000,
|
193 |
+
encoding="WEBM_OPUS",
|
194 |
+
model=config.get("model", "latest_long"),
|
195 |
+
use_enhanced=config.get("use_enhanced", True),
|
196 |
+
# Voice Activity Detection
|
197 |
+
vad_enabled=True,
|
198 |
+
speech_timeout_ms=config.get("speech_timeout_ms", 2000),
|
199 |
+
# Noise reduction
|
200 |
+
noise_reduction_enabled=True,
|
201 |
+
noise_reduction_level=config.get("noise_reduction_level", 2)
|
202 |
+
)
|
203 |
+
|
204 |
+
await self.stt_manager.start_streaming(stt_config)
|
205 |
+
log_info("STT manager initialized", session_id=self.session.session_id)
|
206 |
+
return True
|
207 |
+
else:
|
208 |
+
log_warning("STT provider does not support realtime", session_id=self.session.session_id)
|
209 |
+
return False
|
210 |
+
except Exception as e:
|
211 |
+
log_error(f"Failed to initialize STT", error=str(e), session_id=self.session.session_id)
|
212 |
+
# STT başarısız oldu, manager'ı None yap
|
213 |
+
self.stt_manager = None
|
214 |
return False
|
|
|
|
|
|
|
|
|
|
|
215 |
|
216 |
async def change_state(self, new_state: ConversationState):
|
217 |
"""Change conversation state"""
|