Spaces:
Running
Running
Hendrik Schroeter
commited on
Commit
•
3db022a
1
Parent(s):
21fe9a1
Move to pillow due to buggy gradio plot
Browse files- app.py +9 -17
- requirements.txt +1 -0
app.py
CHANGED
@@ -8,6 +8,7 @@ import gradio.outputs
|
|
8 |
import markdown
|
9 |
import matplotlib.pyplot as plt
|
10 |
import numpy as np
|
|
|
11 |
import torch
|
12 |
from loguru import logger
|
13 |
from torch import Tensor
|
@@ -144,9 +145,9 @@ def demo_fn(speech_upl: str, noise_type: str, snr: int):
|
|
144 |
ax_enh.clear()
|
145 |
return (
|
146 |
gradio.make_waveform(noisy_fn, bar_count=200),
|
147 |
-
|
148 |
gradio.make_waveform(enhanced_fn, bar_count=200),
|
149 |
-
|
150 |
)
|
151 |
|
152 |
|
@@ -208,16 +209,15 @@ def specshow(
|
|
208 |
return im
|
209 |
|
210 |
|
211 |
-
def
|
212 |
audio: torch.Tensor,
|
213 |
figsize=(15, 5),
|
214 |
colorbar=False,
|
215 |
colorbar_format=None,
|
216 |
figure=None,
|
217 |
-
return_im=False,
|
218 |
labels=True,
|
219 |
**kwargs,
|
220 |
-
) ->
|
221 |
audio = torch.as_tensor(audio)
|
222 |
if labels:
|
223 |
kwargs.setdefault("xlabel", "Time [s]")
|
@@ -244,17 +244,11 @@ def spec_figure(
|
|
244 |
colorbar_format = "%+2.0f dB"
|
245 |
ckwargs = {"ax": kwargs["ax"]}
|
246 |
plt.colorbar(im, format=colorbar_format, **ckwargs)
|
247 |
-
|
248 |
-
|
249 |
-
return figure
|
250 |
|
251 |
|
252 |
inputs = [
|
253 |
-
# gradio.inputs.Audio(
|
254 |
-
# label="Record your own voice",
|
255 |
-
# source="microphone",
|
256 |
-
# type="numpy",
|
257 |
-
# ),
|
258 |
gradio.Audio(
|
259 |
label="Upload audio sample",
|
260 |
source="upload",
|
@@ -273,11 +267,9 @@ inputs = [
|
|
273 |
]
|
274 |
outputs = [
|
275 |
gradio.Video(type="filepath", label="Noisy audio"),
|
276 |
-
|
277 |
-
gradio.Plot(label="Noisy spectrogram"),
|
278 |
gradio.Video(type="filepath", label="Noisy audio"),
|
279 |
-
|
280 |
-
gradio.Plot(label="Enhanced spectrogram"),
|
281 |
]
|
282 |
description = "This demo denoises audio files using DeepFilterNet. Try it with your own voice!"
|
283 |
iface = gradio.Interface(
|
|
|
8 |
import markdown
|
9 |
import matplotlib.pyplot as plt
|
10 |
import numpy as np
|
11 |
+
from PIL import Image
|
12 |
import torch
|
13 |
from loguru import logger
|
14 |
from torch import Tensor
|
|
|
145 |
ax_enh.clear()
|
146 |
return (
|
147 |
gradio.make_waveform(noisy_fn, bar_count=200),
|
148 |
+
spec_im(sample, sr=sr, figure=fig_noisy, ax=ax_noisy),
|
149 |
gradio.make_waveform(enhanced_fn, bar_count=200),
|
150 |
+
spec_im(enhanced, sr=sr, figure=fig_enh, ax=ax_enh),
|
151 |
)
|
152 |
|
153 |
|
|
|
209 |
return im
|
210 |
|
211 |
|
212 |
+
def spec_im(
|
213 |
audio: torch.Tensor,
|
214 |
figsize=(15, 5),
|
215 |
colorbar=False,
|
216 |
colorbar_format=None,
|
217 |
figure=None,
|
|
|
218 |
labels=True,
|
219 |
**kwargs,
|
220 |
+
) -> Image:
|
221 |
audio = torch.as_tensor(audio)
|
222 |
if labels:
|
223 |
kwargs.setdefault("xlabel", "Time [s]")
|
|
|
244 |
colorbar_format = "%+2.0f dB"
|
245 |
ckwargs = {"ax": kwargs["ax"]}
|
246 |
plt.colorbar(im, format=colorbar_format, **ckwargs)
|
247 |
+
figure.canvas.draw()
|
248 |
+
return Image.frombytes("RGB", figure.canvas.get_width_height(), figure.canvas.tostring_rgb())
|
|
|
249 |
|
250 |
|
251 |
inputs = [
|
|
|
|
|
|
|
|
|
|
|
252 |
gradio.Audio(
|
253 |
label="Upload audio sample",
|
254 |
source="upload",
|
|
|
267 |
]
|
268 |
outputs = [
|
269 |
gradio.Video(type="filepath", label="Noisy audio"),
|
270 |
+
gradio.Image(label="Noisy spectrogram"),
|
|
|
271 |
gradio.Video(type="filepath", label="Noisy audio"),
|
272 |
+
gradio.Image(label="Enhanced spectrogram"),
|
|
|
273 |
]
|
274 |
description = "This demo denoises audio files using DeepFilterNet. Try it with your own voice!"
|
275 |
iface = gradio.Interface(
|
requirements.txt
CHANGED
@@ -4,3 +4,4 @@ deepfilternet==0.4.0
|
|
4 |
matplotlib==3.6
|
5 |
markdown==3.4
|
6 |
gradio==3.17
|
|
|
|
4 |
matplotlib==3.6
|
5 |
markdown==3.4
|
6 |
gradio==3.17
|
7 |
+
Pillow==9.3
|