NHLOCAL commited on
Commit
78ed788
·
1 Parent(s): fe146d2

refactor: Remove chunk timestamp display

Browse files

Removes the feature that displays the timestamps of the audio chunks. This simplifies the UI and the backend code.

Files changed (3) hide show
  1. main.py +0 -2
  2. static/main.js +0 -13
  3. templates/index.html +1 -18
main.py CHANGED
@@ -300,8 +300,6 @@ async def _transcribe_and_stream(api_key: str, file_content: bytes, model_name:
300
  yield send_event("progress", f"אורך פס הקול {len(audio) / 60000:.1f} דקות. מבצע חלוקה...", 15)
301
  chunks = await asyncio.to_thread(split_audio_webrtcvad, audio, MIN_SILENCE_LEN_MS)
302
  if not chunks: raise ValueError("לא נוצרו מקטעי שמע לעיבוד.")
303
- chunk_info_messages = [f"{i+1}. {format_ms_to_srt_time(sum(len(c) for c in chunks[:i]))} - {format_ms_to_srt_time(sum(len(c) for c in chunks[:i+1]))}" for i in range(len(chunks))]
304
- yield send_event("chunk_timestamps", message="השמע חולק למקטעים בנקודות הבאות:", data="\n".join(chunk_info_messages))
305
 
306
  yield send_event("progress", f"הקובץ חולק ל-{len(chunks)} מקטעים. מתחיל תמלול...", 20)
307
 
 
300
  yield send_event("progress", f"אורך פס הקול {len(audio) / 60000:.1f} דקות. מבצע חלוקה...", 15)
301
  chunks = await asyncio.to_thread(split_audio_webrtcvad, audio, MIN_SILENCE_LEN_MS)
302
  if not chunks: raise ValueError("לא נוצרו מקטעי שמע לעיבוד.")
 
 
303
 
304
  yield send_event("progress", f"הקובץ חולק ל-{len(chunks)} מקטעים. מתחיל תמלול...", 20)
305
 
static/main.js CHANGED
@@ -15,9 +15,6 @@ document.addEventListener('DOMContentLoaded', () => {
15
  const downloadSrtButton = document.getElementById('download-srt-button');
16
  const downloadTxtButton = document.getElementById('download-txt-button');
17
  const copyButton = document.getElementById('copy-button');
18
- const chunkInfoSection = document.getElementById('chunk-info-section');
19
- const chunkInfoMessage = document.getElementById('chunk-info-message');
20
- const chunkTimestampsOutput = document.getElementById('chunk-timestamps-output');
21
  const resultsOutput = document.getElementById('results-output');
22
  const resultsViewToggle = document.getElementById('results-view-toggle');
23
  const viewSrtBtn = document.getElementById('view-srt-btn');
@@ -84,9 +81,6 @@ document.addEventListener('DOMContentLoaded', () => {
84
  statusContainer.style.display = 'none';
85
  resultsSection.style.display = 'none';
86
  resultsViewToggle.style.display = 'none';
87
- chunkInfoSection.style.display = 'none';
88
- chunkTimestampsOutput.textContent = '';
89
- chunkInfoMessage.textContent = '';
90
  updateStatus("", 0);
91
  }
92
 
@@ -283,9 +277,6 @@ document.addEventListener('DOMContentLoaded', () => {
283
  if (submitButton.disabled) return;
284
 
285
  resultsSection.style.display = 'none';
286
- chunkInfoSection.style.display = 'none';
287
- chunkTimestampsOutput.textContent = '';
288
- chunkInfoMessage.textContent = '';
289
 
290
  setFormEnabled(false);
291
  updateStatus('מתחיל את התהליך...', 0);
@@ -321,10 +312,6 @@ document.addEventListener('DOMContentLoaded', () => {
321
  const event = JSON.parse(eventStr);
322
  if (event.type === 'progress') {
323
  updateStatus(event.message, event.percent);
324
- } else if (event.type === 'chunk_timestamps') {
325
- chunkInfoSection.style.display = 'block';
326
- chunkInfoMessage.textContent = event.message;
327
- chunkTimestampsOutput.textContent = event.data;
328
  } else if (event.type === 'result') {
329
  updateStatus(event.message, event.percent);
330
  resultsSection.style.display = 'block';
 
15
  const downloadSrtButton = document.getElementById('download-srt-button');
16
  const downloadTxtButton = document.getElementById('download-txt-button');
17
  const copyButton = document.getElementById('copy-button');
 
 
 
18
  const resultsOutput = document.getElementById('results-output');
19
  const resultsViewToggle = document.getElementById('results-view-toggle');
20
  const viewSrtBtn = document.getElementById('view-srt-btn');
 
81
  statusContainer.style.display = 'none';
82
  resultsSection.style.display = 'none';
83
  resultsViewToggle.style.display = 'none';
 
 
 
84
  updateStatus("", 0);
85
  }
86
 
 
277
  if (submitButton.disabled) return;
278
 
279
  resultsSection.style.display = 'none';
 
 
 
280
 
281
  setFormEnabled(false);
282
  updateStatus('מתחיל את התהליך...', 0);
 
312
  const event = JSON.parse(eventStr);
313
  if (event.type === 'progress') {
314
  updateStatus(event.message, event.percent);
 
 
 
 
315
  } else if (event.type === 'result') {
316
  updateStatus(event.message, event.percent);
317
  resultsSection.style.display = 'block';
templates/index.html CHANGED
@@ -85,24 +85,7 @@
85
  </div>
86
  </div>
87
 
88
- <div id="chunk-info-section" class="card" style="margin-top: 1.5rem; display: none;">
89
- <h2>חלוקת קובץ השמע למקטעים</h2>
90
- <p id="chunk-info-message" style="margin-bottom: 1rem;"></p>
91
- <pre id="chunk-timestamps-output" style="
92
- background-color: var(--md-sys-color-surface);
93
- padding: 1rem;
94
- border-radius: var(--border-radius-small);
95
- border: 1px solid var(--md-sys-color-outline);
96
- font-family: monospace;
97
- font-size: 0.9rem;
98
- direction: rtl;
99
- text-align: right;
100
- max-height: 200px;
101
- overflow-y: auto;
102
- "></pre>
103
- </div>
104
-
105
- <section id="results-section" class="card">
106
  <div class="results-header">
107
  <h2>תוצאות התמלול</h2>
108
  <div class="view-toggle" id="results-view-toggle">
 
85
  </div>
86
  </div>
87
 
88
+ <section id="results-section" class="card" style="margin-top: 2rem;">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  <div class="results-header">
90
  <h2>תוצאות התמלול</h2>
91
  <div class="view-toggle" id="results-view-toggle">