meraj12 commited on
Commit
3441734
·
verified ·
1 Parent(s): 03eb8b0

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +20 -15
utils.py CHANGED
@@ -1,19 +1,24 @@
1
- import torch
2
  import torchaudio
3
- import soundfile as sf
4
- from pathlib import Path
5
 
6
- def save_uploaded_audio(uploaded_file, save_path="user_audio.wav"):
7
- with open(save_path, "wb") as f:
8
- f.write(uploaded_file.read())
9
- return save_path
 
 
10
 
11
- def record_audio(file_path="recorded.wav", duration=5, sample_rate=16000):
12
- import sounddevice as sd
13
- from scipy.io.wavfile import write
14
 
15
- st.info("Recording...")
16
- audio = sd.rec(int(duration * sample_rate), samplerate=sample_rate, channels=1)
17
- sd.wait()
18
- write(file_path, sample_rate, audio)
19
- return file_path
 
 
 
 
 
 
 
 
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