Manyue-DataScientist commited on
Commit
853df82
·
verified ·
1 Parent(s): 06de8a8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -2
app.py CHANGED
@@ -1,10 +1,11 @@
1
  import streamlit as st
2
  from pyannote.audio import Pipeline
3
- import whisper # Changed import
4
  import tempfile
5
  import os
6
  import torch
7
  from transformers import pipeline as tf_pipeline
 
8
 
9
  @st.cache_resource
10
  def load_models():
@@ -29,9 +30,19 @@ def load_models():
29
 
30
  def process_audio(audio_file, max_duration=600): # limit to 5 minutes initially
31
  try:
 
 
32
  with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmp:
33
- tmp.write(audio_file.getvalue())
 
 
 
 
 
 
 
34
  tmp_path = tmp.name
 
35
 
36
  # Get cached models
37
  diarization, transcriber, summarizer = load_models()
 
1
  import streamlit as st
2
  from pyannote.audio import Pipeline
3
+ import whisper
4
  import tempfile
5
  import os
6
  import torch
7
  from transformers import pipeline as tf_pipeline
8
+ from pydub import AudioSegment
9
 
10
  @st.cache_resource
11
  def load_models():
 
30
 
31
  def process_audio(audio_file, max_duration=600): # limit to 5 minutes initially
32
  try:
33
+
34
+
35
  with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmp:
36
+ # Convert MP3 to WAV if needed
37
+ if audio_file.name.endswith('.mp3'):
38
+ audio = AudioSegment.from_mp3(audio_file)
39
+ else:
40
+ audio = AudioSegment.from_wav(audio_file)
41
+
42
+ # Export as WAV
43
+ audio.export(tmp.name, format="wav")
44
  tmp_path = tmp.name
45
+
46
 
47
  # Get cached models
48
  diarization, transcriber, summarizer = load_models()