qfuxa commited on
Commit
0ccc611
·
1 Parent(s): f19ad6b

add time duration ; display when no speaker is detected

Browse files
Files changed (1) hide show
  1. src/web/live_transcription.html +19 -5
src/web/live_transcription.html CHANGED
@@ -179,8 +179,9 @@
179
  The server might send:
180
  {
181
  "lines": [
182
- {"speaker": 0, "text": "Hello."},
183
- {"speaker": 1, "text": "Bonjour."},
 
184
  ...
185
  ],
186
  "buffer": "..."
@@ -198,14 +199,27 @@
198
  linesTranscriptDiv.innerHTML = "";
199
  return;
200
  }
201
- // Build the HTML
202
- // The buffer is appended to the last line if it's non-empty
203
  const linesHtml = lines.map((item, idx) => {
 
 
 
 
 
 
 
 
 
 
 
 
204
  let textContent = item.text;
205
  if (idx === lines.length - 1 && buffer) {
206
  textContent += `<span class="buffer">${buffer}</span>`;
207
  }
208
- return `<p><strong>Speaker ${item.speaker}:</strong> ${textContent}</p>`;
 
 
 
209
  }).join("");
210
 
211
  linesTranscriptDiv.innerHTML = linesHtml;
 
179
  The server might send:
180
  {
181
  "lines": [
182
+ {"speaker": 0, "text": "Hello.", "beg": "00:00", "end": "00:01"},
183
+ {"speaker": -2, "text": "Hi, no speaker here.", "beg": "00:01", "end": "00:02"},
184
+ {"speaker": -1, "text": "...", "beg": "00:02", "end": "00:03" },
185
  ...
186
  ],
187
  "buffer": "..."
 
199
  linesTranscriptDiv.innerHTML = "";
200
  return;
201
  }
 
 
202
  const linesHtml = lines.map((item, idx) => {
203
+ let speakerLabel = "";
204
+ if (item.speaker === -2) {
205
+ speakerLabel = "No speaker";
206
+ } else if (item.speaker !== -1) {
207
+ speakerLabel = `Speaker ${item.speaker}`;
208
+ }
209
+
210
+ let timeInfo = "";
211
+ if (item.beg !== undefined && item.end !== undefined) {
212
+ timeInfo = ` [${item.beg}, ${item.end}]`;
213
+ }
214
+
215
  let textContent = item.text;
216
  if (idx === lines.length - 1 && buffer) {
217
  textContent += `<span class="buffer">${buffer}</span>`;
218
  }
219
+
220
+ return speakerLabel
221
+ ? `<p><strong>${speakerLabel}${timeInfo}</strong> ${textContent}</p>`
222
+ : `<p>${textContent}</p>`;
223
  }).join("");
224
 
225
  linesTranscriptDiv.innerHTML = linesHtml;