Spaces:
Sleeping
Sleeping
Update utils.py
Browse files
utils.py
CHANGED
@@ -1,19 +1,24 @@
|
|
1 |
-
import torch
|
2 |
import torchaudio
|
3 |
-
import
|
4 |
-
from pathlib import Path
|
5 |
|
6 |
-
def save_uploaded_audio(uploaded_file, save_path="
|
7 |
-
|
8 |
-
|
9 |
-
|
|
|
|
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
from scipy.io.wavfile import write
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import torchaudio
|
2 |
+
import os
|
|
|
3 |
|
4 |
+
def save_uploaded_audio(uploaded_file, save_path="converted_audio.wav"):
|
5 |
+
try:
|
6 |
+
# Save to a temp file
|
7 |
+
temp_path = f"temp_{uploaded_file.name}"
|
8 |
+
with open(temp_path, "wb") as f:
|
9 |
+
f.write(uploaded_file.read())
|
10 |
|
11 |
+
# Load with torchaudio
|
12 |
+
waveform, sample_rate = torchaudio.load(temp_path)
|
|
|
13 |
|
14 |
+
# Convert to 16kHz mono .wav (Whisper preferred)
|
15 |
+
waveform = waveform.mean(dim=0).unsqueeze(0)
|
16 |
+
torchaudio.save(save_path, waveform, 16000)
|
17 |
+
|
18 |
+
# Clean up temp
|
19 |
+
os.remove(temp_path)
|
20 |
+
|
21 |
+
return save_path
|
22 |
+
except Exception as e:
|
23 |
+
print(f"[Error] Audio conversion failed: {e}")
|
24 |
+
return None
|