Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -18,10 +18,10 @@ def generate_mel_spectrogram(audio_path, sr=22050, n_mels=128, fmin=0, fmax=7000
|
|
18 |
|
19 |
return S_dB, y, sr
|
20 |
|
21 |
-
def detect_zero_db(spectrogram):
|
22 |
# Create a binary mask where the spectrogram values are close to 0 dB
|
23 |
-
|
24 |
-
mask = np.isclose(spectrogram, threshold, atol=
|
25 |
|
26 |
return mask
|
27 |
|
@@ -53,9 +53,9 @@ def plot_frequency(times, frequencies, label, color, file_path):
|
|
53 |
plt.savefig(file_path, format='png', bbox_inches='tight', pad_inches=0)
|
54 |
plt.close()
|
55 |
|
56 |
-
def process_audio(audio_file):
|
57 |
mel_spectrogram, y, sr = generate_mel_spectrogram(audio_file)
|
58 |
-
edges = detect_zero_db(mel_spectrogram)
|
59 |
|
60 |
# Create temporary files to save the generated images
|
61 |
with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as mel_file, \
|
@@ -110,13 +110,17 @@ def process_audio(audio_file):
|
|
110 |
|
111 |
with gr.Blocks() as demo:
|
112 |
with gr.Group():
|
|
|
|
|
113 |
audio_input = gr.Audio(label="Upload an audio file in WAV format", type="filepath")
|
|
|
114 |
img_slider = ImageSlider(label="Before and After Edge Detection", type="filepath", slider_color="pink")
|
115 |
f0_plot = gr.Image(label="F0 Frequency Plot", type="filepath")
|
116 |
f1_plot = gr.Image(label="F1 Frequency Plot", type="filepath")
|
117 |
f2_plot = gr.Image(label="F2 Frequency Plot", type="filepath")
|
118 |
|
119 |
-
|
|
|
120 |
|
121 |
if __name__ == "__main__":
|
122 |
-
demo.launch()
|
|
|
18 |
|
19 |
return S_dB, y, sr
|
20 |
|
21 |
+
def detect_zero_db(spectrogram,threshold,tol):
|
22 |
# Create a binary mask where the spectrogram values are close to 0 dB
|
23 |
+
# +0 dB threshold
|
24 |
+
mask = np.isclose(spectrogram, threshold, atol=tol) # Use a tolerance to include values close to 0 dB
|
25 |
|
26 |
return mask
|
27 |
|
|
|
53 |
plt.savefig(file_path, format='png', bbox_inches='tight', pad_inches=0)
|
54 |
plt.close()
|
55 |
|
56 |
+
def process_audio( threshold, audio_file,tol):
|
57 |
mel_spectrogram, y, sr = generate_mel_spectrogram(audio_file)
|
58 |
+
edges = detect_zero_db(mel_spectrogram,threshold,tol)
|
59 |
|
60 |
# Create temporary files to save the generated images
|
61 |
with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as mel_file, \
|
|
|
110 |
|
111 |
with gr.Blocks() as demo:
|
112 |
with gr.Group():
|
113 |
+
threshold_slider =gr.Slider(-100,0,value=-20,info="Choose between -100 and 0")
|
114 |
+
tol_slider =gr.Slider(0,25,value=10,info="Choose between 0 and 25")
|
115 |
audio_input = gr.Audio(label="Upload an audio file in WAV format", type="filepath")
|
116 |
+
submit_button = gr.Button("Submit")
|
117 |
img_slider = ImageSlider(label="Before and After Edge Detection", type="filepath", slider_color="pink")
|
118 |
f0_plot = gr.Image(label="F0 Frequency Plot", type="filepath")
|
119 |
f1_plot = gr.Image(label="F1 Frequency Plot", type="filepath")
|
120 |
f2_plot = gr.Image(label="F2 Frequency Plot", type="filepath")
|
121 |
|
122 |
+
|
123 |
+
submit_button.click(process_audio, inputs=[ threshold_slider, audio_input,tol_slider], outputs=[img_slider, f0_plot, f1_plot, f2_plot])
|
124 |
|
125 |
if __name__ == "__main__":
|
126 |
+
demo.launch()
|