Spaces:
Sleeping
Sleeping
# utils.py | |
import sounddevice as sd | |
from scipy.io.wavfile import write | |
import tempfile | |
import os | |
import whisper | |
import json | |
def record_audio(duration=5, fs=44100): | |
stt_file = tempfile.NamedTemporaryFile(delete=False, suffix=".wav") | |
recording = sd.rec(int(duration * fs), samplerate=fs, channels=1) | |
sd.wait() | |
write(stt_file.name, fs, recording) | |
return stt_file.name | |
def transcribe_audio(audio_path, language="English"): | |
model = whisper.load_model("base") | |
result = model.transcribe(audio_path, language=language.lower()) | |
return result['text'] | |
def save_audio_file(uploaded_file, filename): | |
path = os.path.join("audio", filename) | |
os.makedirs("audio", exist_ok=True) | |
with open(path, "wb") as f: | |
f.write(uploaded_file.read()) | |
return path | |
def save_chat_history(history, filename="chat_history.json"): | |
os.makedirs("history", exist_ok=True) | |
with open(os.path.join("history", filename), "w") as f: | |
json.dump(history, f, indent=4) | |