Saiyaswanth007 commited on
Commit
75d4ff4
·
1 Parent(s): 4e75e2b

process_audio_chunk result is not sent back to the client

Browse files
Files changed (2) hide show
  1. inference.py +16 -0
  2. ui.py +30 -0
inference.py CHANGED
@@ -245,12 +245,27 @@ async def ws_inference(websocket: WebSocket):
245
  # Process audio chunk
246
  result = diart.process_audio_chunk(data)
247
 
 
 
 
 
 
 
 
 
 
248
  # Log processing result (optional)
249
  if connection_stats["total_audio_chunks"] % 100 == 0: # Log every 100 chunks
250
  logger.debug(f"Processed {connection_stats['total_audio_chunks']} audio chunks")
251
 
252
  elif not diart:
253
  logger.warning("Received audio data but diarization system not initialized")
 
 
 
 
 
 
254
 
255
  except Exception as e:
256
  logger.error(f"Error processing audio chunk: {e}")
@@ -258,6 +273,7 @@ async def ws_inference(websocket: WebSocket):
258
  error_message = json.dumps({
259
  "type": "error",
260
  "message": "Error processing audio",
 
261
  "timestamp": time.time()
262
  })
263
  await websocket.send_text(error_message)
 
245
  # Process audio chunk
246
  result = diart.process_audio_chunk(data)
247
 
248
+ # Send processing result back to client
249
+ if result:
250
+ result_message = json.dumps({
251
+ "type": "processing_result",
252
+ "timestamp": time.time(),
253
+ "data": result
254
+ })
255
+ await websocket.send_text(result_message)
256
+
257
  # Log processing result (optional)
258
  if connection_stats["total_audio_chunks"] % 100 == 0: # Log every 100 chunks
259
  logger.debug(f"Processed {connection_stats['total_audio_chunks']} audio chunks")
260
 
261
  elif not diart:
262
  logger.warning("Received audio data but diarization system not initialized")
263
+ error_message = json.dumps({
264
+ "type": "error",
265
+ "message": "Diarization system not initialized",
266
+ "timestamp": time.time()
267
+ })
268
+ await websocket.send_text(error_message)
269
 
270
  except Exception as e:
271
  logger.error(f"Error processing audio chunk: {e}")
 
273
  error_message = json.dumps({
274
  "type": "error",
275
  "message": "Error processing audio",
276
+ "details": str(e),
277
  "timestamp": time.time()
278
  })
279
  await websocket.send_text(error_message)
ui.py CHANGED
@@ -187,11 +187,41 @@ def build_ui():
187
  }
188
  break;
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  case 'connection':
191
  console.log('Connection status:', message.status);
192
  updateStatus(message.status === 'connected' ? 'connected' : 'warning');
193
  break;
194
 
 
 
 
 
 
 
 
 
 
 
195
  case 'conversation_update':
196
  if (message.conversation_html) {
197
  document.getElementById("conversation").innerHTML = message.conversation_html;
 
187
  }
188
  break;
189
 
190
+ case 'processing_result':
191
+ // Handle individual audio chunk processing result
192
+ console.log('Processing result:', message.data);
193
+
194
+ // Update status info if needed
195
+ if (message.data && message.data.status === "processed") {
196
+ const statusElem = document.getElementById('status-text');
197
+ if (statusElem) {
198
+ const speakerId = message.data.speaker_id !== undefined ?
199
+ `Speaker ${message.data.speaker_id + 1}` : '';
200
+
201
+ if (speakerId) {
202
+ statusElem.textContent = `Connected - ${speakerId} active`;
203
+ }
204
+ }
205
+ } else if (message.data && message.data.status === "error") {
206
+ updateStatus('error', message.data.message || 'Processing error');
207
+ }
208
+ break;
209
+
210
  case 'connection':
211
  console.log('Connection status:', message.status);
212
  updateStatus(message.status === 'connected' ? 'connected' : 'warning');
213
  break;
214
 
215
+ case 'connection_established':
216
+ console.log('Connection established:', message);
217
+ updateStatus('connected');
218
+
219
+ // If initial conversation is provided, display it
220
+ if (message.conversation) {
221
+ document.getElementById("conversation").innerHTML = message.conversation;
222
+ }
223
+ break;
224
+
225
  case 'conversation_update':
226
  if (message.conversation_html) {
227
  document.getElementById("conversation").innerHTML = message.conversation_html;