AudioRecording / app.py
smease's picture
Update app.py
26c90c0
import os
import io
import streamlit as st
from audiorecorder import audiorecorder
from openai import OpenAI
import tempfile
import base64
# Set an environment variable for key
os.environ['OPENAI_API_KEY'] = os.environ.get('OPENAI_API_KEY')
def autoplay_audio(exported_audio):
with exported_audio:
data = exported_audio.read()
b64 = base64.b64encode(data).decode()
md = f"""
<audio controls autoplay="true">
<source src="data:audio/mp3;base64,{b64}" type="audio/mp3">
</audio>
"""
st.markdown(
md,
unsafe_allow_html=True,
)
def transcribe_audio(filepath):
client = OpenAI()
audio_file = open(filepath, "rb")
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file
)
audio_file.close()
return transcript
#model = whisper.load_model("base")
client = OpenAI()
st.title("Whisper App")
audio = audiorecorder("Click to record", "Click to stop recording")
if len(audio) > 0:
temp_dir = tempfile.mkdtemp()
temp_file_path = os.path.join(temp_dir, 'temp_audio.mp3')
audio.export(temp_file_path, format="mp3")
transcript = transcribe_audio(temp_file_path)
st.write(transcript)