Spaces:
Sleeping
Sleeping
Update Web/script.js
Browse files- 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 |
-
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
| 157 |
-
|
| 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 || "
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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);
|