amirjamali commited on
Commit
ae1db9f
·
unverified ·
1 Parent(s): bb36a56

Refactor accent analysis result display; streamline code structure and improve readability in Streamlit app

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +35 -36
src/streamlit_app.py CHANGED
@@ -681,7 +681,6 @@ with tab1:
681
 
682
  # Create columns for results
683
  col1, col2 = st.columns([2, 1])
684
-
685
  with col1:
686
  st.subheader("Accent Analysis Results")
687
  st.markdown(f"**Detected Accent:** {results['accent']}")
@@ -691,26 +690,26 @@ with tab1:
691
  # Show explanation in a box
692
  st.markdown("### Expert Analysis")
693
  st.info(results['explanation'])
694
- with col2:
 
695
  if results['audio_viz']:
696
  try:
697
  st.pyplot(results['audio_viz'])
698
  except Exception as viz_error:
699
  st.warning("Could not display visualization due to torchvision issue.")
700
- st.info("Audio analysis was successful even though visualization failed.")
701
-
702
- # Show audio playback
703
  st.audio(audio_path)
704
- # Clean up files
705
- try:
706
- if os.path.exists(video_path):
707
- os.remove(video_path)
708
- if os.path.exists(audio_path):
709
- os.remove(audio_path)
710
- if cookies_file and os.path.exists(cookies_file):
711
- os.remove(cookies_file)
712
- except Exception as e:
713
- st.warning(f"Couldn't clean up temporary files: {str(e)}")
 
714
 
715
  except Exception as e:
716
  st.error(f"Error during analysis: {str(e)}")
@@ -772,31 +771,31 @@ with tab2:
772
 
773
  progress_bar.progress(50, text="Analyzing audio...")
774
 
775
- # Process using the saved file path directly
776
- results = process_uploaded_audio(temp_file_path)
777
 
778
  progress_bar.progress(100, text="Analysis complete!")
779
  # Display results
780
  st.success("✅ Analysis Complete!")
781
-
782
- # Create columns for results
783
- col1, col2 = st.columns([2, 1])
784
-
785
- with col1:
786
- st.subheader("Accent Analysis Results")
787
- st.markdown(f"**Detected Accent:** {results['accent']}")
788
- st.markdown(f"**English Proficiency:** {results['english_confidence']:.1f}%")
789
- st.markdown(f"**Accent Confidence:** {results['accent_confidence']:.1f}%")
790
- # Show explanation in a box
791
- st.markdown("### Expert Analysis")
792
- st.info(results['explanation'])
793
- with col2:
794
- if results['audio_viz']:
795
- try:
796
- st.pyplot(results['audio_viz'])
797
- except Exception as viz_error:
798
- st.warning("Could not display visualization due to torchvision issue.")
799
- st.info("Audio analysis was successful even though visualization failed.")
 
800
 
801
  except subprocess.CalledProcessError as e:
802
  st.error("Error processing audio file")
 
681
 
682
  # Create columns for results
683
  col1, col2 = st.columns([2, 1])
 
684
  with col1:
685
  st.subheader("Accent Analysis Results")
686
  st.markdown(f"**Detected Accent:** {results['accent']}")
 
690
  # Show explanation in a box
691
  st.markdown("### Expert Analysis")
692
  st.info(results['explanation'])
693
+
694
+ with col2:
695
  if results['audio_viz']:
696
  try:
697
  st.pyplot(results['audio_viz'])
698
  except Exception as viz_error:
699
  st.warning("Could not display visualization due to torchvision issue.")
700
+ st.info("Audio analysis was successful even though visualization failed.") # Show audio playback
 
 
701
  st.audio(audio_path)
702
+
703
+ # Clean up files
704
+ try:
705
+ if os.path.exists(video_path):
706
+ os.remove(video_path)
707
+ if os.path.exists(audio_path):
708
+ os.remove(audio_path)
709
+ if cookies_file and os.path.exists(cookies_file):
710
+ os.remove(cookies_file)
711
+ except Exception as e:
712
+ st.warning(f"Couldn't clean up temporary files: {str(e)}")
713
 
714
  except Exception as e:
715
  st.error(f"Error during analysis: {str(e)}")
 
771
 
772
  progress_bar.progress(50, text="Analyzing audio...")
773
 
774
+ # Process using the saved file path directly results = process_uploaded_audio(temp_file_path)
 
775
 
776
  progress_bar.progress(100, text="Analysis complete!")
777
  # Display results
778
  st.success("✅ Analysis Complete!")
779
+
780
+ # Create columns for results
781
+ col1, col2 = st.columns([2, 1])
782
+
783
+ with col1:
784
+ st.subheader("Accent Analysis Results")
785
+ st.markdown(f"**Detected Accent:** {results['accent']}")
786
+ st.markdown(f"**English Proficiency:** {results['english_confidence']:.1f}%")
787
+ st.markdown(f"**Accent Confidence:** {results['accent_confidence']:.1f}%")
788
+
789
+ # Show explanation in a box
790
+ st.markdown("### Expert Analysis")
791
+ st.info(results['explanation'])
792
+ with col2:
793
+ if results['audio_viz']:
794
+ try:
795
+ st.pyplot(results['audio_viz'])
796
+ except Exception as viz_error:
797
+ st.warning("Could not display visualization due to torchvision issue.")
798
+ st.info("Audio analysis was successful even though visualization failed.")
799
 
800
  except subprocess.CalledProcessError as e:
801
  st.error("Error processing audio file")