pnavin commited on
Commit
a232255
·
1 Parent(s): 1acc407

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -0
app.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import torchaudio
3
+ import speechbrain as sb
4
+ from speechbrain.dataio.dataio import read_audio
5
+ from IPython.display import Audio
6
+ from speechbrain.pretrained import SepformerSeparation as separator
7
+
8
+ # Load the pretrained model
9
+ model = separator.from_hparams(source="speechbrain/sepformer-whamr-enhancement", savedir='pretrained_models/sepformer-whamr-enhancement')
10
+
11
+ # Define the Streamlit app
12
+ def app():
13
+ st.title("Speech Enhancement using Sepformer")
14
+
15
+ # Add a file uploader to allow the user to select an audio file
16
+ uploaded_file = st.file_uploader("Choose an audio file", type=["wav"])
17
+
18
+ # If an audio file is uploaded, perform speech enhancement and play the results
19
+ if uploaded_file is not None:
20
+ # Load the uploaded audio file
21
+ audio_bytes = uploaded_file.read()
22
+ with open("uploaded_audio.wav", "wb") as f:
23
+ f.write(audio_bytes)
24
+ signal = read_audio("uploaded_audio.wav").squeeze()
25
+
26
+ # Perform speech enhancement using the Sepformer model
27
+ enhanced_speech = model.separate_file(path='uploaded_audio.wav')
28
+ enhanced_signal = enhanced_speech[:, :].detach().cpu().squeeze()
29
+
30
+ # Play the original and enhanced audio
31
+ st.audio(audio_bytes, format='audio/wav')
32
+ st.audio(enhanced_signal, format='audio/wav')
33
+
34
+ # Run the Streamlit app
35
+ if __name__ == '__main__':
36
+ app()