MeysamSh commited on
Commit
c805717
·
verified ·
1 Parent(s): 0bfd4c4

Update Web/script.js

Browse files
Files changed (1) hide show
  1. Web/script.js +17 -7
Web/script.js CHANGED
@@ -137,6 +137,7 @@ function createWaveformItem(blob, forcedUrl = null) {
137
  // Create WaveSurfer
138
  const wavesurfer = WaveSurfer.create({
139
  container,
 
140
  waveColor: "#bbb",
141
  progressColor: "#ff5500",
142
  cursorColor: "#333",
@@ -145,7 +146,10 @@ function createWaveformItem(blob, forcedUrl = null) {
145
  responsive: true,
146
  });
147
 
148
- wavesurfer.load(url);
 
 
 
149
 
150
  // Toggle play/pause
151
  playBtn.addEventListener("click", () => {
@@ -153,10 +157,8 @@ function createWaveformItem(blob, forcedUrl = null) {
153
  playBtn.innerText = wavesurfer.isPlaying() ? "Pause" : "Play";
154
  });
155
 
156
- // Analyze
157
- analyzeBtn.addEventListener("click", () => {
158
- analyzeAudio(blob);
159
- });
160
 
161
  // Metadata
162
  blob.arrayBuffer().then((buffer) => {
@@ -183,7 +185,7 @@ async function analyzeAudio(blob) {
183
  responseBox.innerHTML = "<em>Analyzing...</em>";
184
 
185
  // Convert Blob to File
186
- const file = new File([blob], blob.name || "audio.wav", { type: blob.type });
187
 
188
  const formData = new FormData();
189
  formData.append("files", file);
@@ -203,7 +205,15 @@ async function analyzeAudio(blob) {
203
  const confidencePercent = Math.round(item.confidence * 100);
204
  message = `${item.filename} is ${item.label} with confidence of ${confidencePercent}%`;
205
  }
206
- responseBox.innerHTML = `<pre>${message}</pre>`;
 
 
 
 
 
 
 
 
207
  } catch (err) {
208
  responseBox.innerHTML = `<span style="color:red;">Analysis failed.</span>`;
209
  console.error(err);
 
137
  // Create WaveSurfer
138
  const wavesurfer = WaveSurfer.create({
139
  container,
140
+ autoCenter: true,
141
  waveColor: "#bbb",
142
  progressColor: "#ff5500",
143
  cursorColor: "#333",
 
146
  responsive: true,
147
  });
148
 
149
+ // Analyze
150
+ analyzeBtn.addEventListener("click", () => {
151
+ analyzeAudio(blob);
152
+ });
153
 
154
  // Toggle play/pause
155
  playBtn.addEventListener("click", () => {
 
157
  playBtn.innerText = wavesurfer.isPlaying() ? "Pause" : "Play";
158
  });
159
 
160
+ wavesurfer.load(url);
161
+
 
 
162
 
163
  // Metadata
164
  blob.arrayBuffer().then((buffer) => {
 
185
  responseBox.innerHTML = "<em>Analyzing...</em>";
186
 
187
  // Convert Blob to File
188
+ const file = new File([blob], blob.name || "recording.wav", { type: blob.type });
189
 
190
  const formData = new FormData();
191
  formData.append("files", file);
 
205
  const confidencePercent = Math.round(item.confidence * 100);
206
  message = `${item.filename} is ${item.label} with confidence of ${confidencePercent}%`;
207
  }
208
+ let messageVolume = "";
209
+ if (data[0]?.volume === "silent") {
210
+ messageVolume = "The audio appears to be silent or contains no detectable speech. Please record/select another file! ";
211
+ message = ""
212
+ }
213
+ if (data[0]?.volume === "augmented") {
214
+ messageVolume = "The detected speech volume was low, so a volume augmentation was applied before analysis. ";
215
+ }
216
+ responseBox.innerHTML = `<span style="color:red;">${message}</span>`;
217
  } catch (err) {
218
  responseBox.innerHTML = `<span style="color:red;">Analysis failed.</span>`;
219
  console.error(err);