FitnessEquation / app.py
Nico8800
add video transcribe and chat display
e87f4b7
raw
history blame
1.69 kB
import streamlit as st
from st_audiorec import st_audiorec
from Modules.Speech2Text.transcribe import transcribe
import base64
st.set_page_config(layout="wide", initial_sidebar_state="collapsed")
# Create two columns
col1, col2 = st.columns(2)
# First column containers
with col1:
st.subheader("Audio Recorder")
recorded = False
temp_path = 'data/temp_audio/audio_file.wav'
wav_audio_data = st_audiorec()
if wav_audio_data is not None:
with open(temp_path, 'wb') as f:
# Write the audio data to the file
f.write(wav_audio_data)
instruction = transcribe(temp_path)
print(instruction)
recorded = True
st.subheader("LLM answering")
if recorded:
if "messages" not in st.session_state:
st.session_state.messages = []
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
st.session_state.messages.append({"role": "user", "content": instruction})
with st.chat_message("user"):
st.markdown(instruction)
with st.chat_message("assistant"):
# Build answer from LLM
response = " to be DEFINED - TO DO"
st.session_state.messages.append({"role": "assistant", "content": response})
st.subheader("Movement Analysis")
# Second column containers
with col2:
st.subheader("Sports Agenda")
st.subheader("Video Analysis")
_left, mid, _right = st.columns(3)
with mid:
video_path = "./data/pose/squat_inference.mp4"
# Display the video
st.video(video_path)
st.subheader("Graph Displayer")