bartman081523 commited on
Commit
ae54d9a
1 Parent(s): 463cfd6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -16
app.py CHANGED
@@ -4,6 +4,7 @@ from scipy import signal
4
  import gradio as gr
5
  import shutil
6
  import tempfile
 
7
 
8
  def generate_vinyl_sound(noise_ratio, lowcut, highcut, duration, pop_rate):
9
  # Parameters
@@ -66,24 +67,31 @@ def download_wav(noise_ratio, lowcut, highcut, duration, pop_rate):
66
  shutil.move(temp_file, "download.wav")
67
  return "download.wav"
68
 
 
 
 
 
 
69
  iface = gr.Interface(
70
- fn=download_wav,
71
  inputs=[
72
- gr.inputs.Slider(minimum=0, maximum=1, default=0.001, step=0.001, label="Noise Ratio"),
73
- gr.inputs.Slider(minimum=20, maximum=20000, default=300, step=10, label="Lowcut Frequency (Hz)"),
74
- gr.inputs.Slider(minimum=20, maximum=20000, default=5000, step=10, label="Highcut Frequency (Hz)"),
75
- gr.inputs.Slider(minimum=1, maximum=60, default=10, step=1, label="Duration (seconds)"),
76
- gr.inputs.Slider(minimum=1, maximum=100, default=10, step=1, label="Pop Rate (pops per second)")
77
- ],
78
- outputs="file",
79
- title="Vinyl Sound Generator",
80
- description="Generate a synthetic vinyl sound using pink noise, rumble, hiss, and pops. Adjust the noise ratio, bandpass frequencies, duration, and pop rate to modify the sound.",
81
- examples=[
82
- [0.001, 300, 5000, 10, 10],
83
- [0.002, 500, 4000, 15, 20],
84
- [0.005, 200, 6000, 20, 30]
85
- ]
 
 
 
86
  )
87
 
88
  iface.launch(inbrowser=True)
89
-
 
4
  import gradio as gr
5
  import shutil
6
  import tempfile
7
+ import IPython.display as ipd
8
 
9
  def generate_vinyl_sound(noise_ratio, lowcut, highcut, duration, pop_rate):
10
  # Parameters
 
67
  shutil.move(temp_file, "download.wav")
68
  return "download.wav"
69
 
70
+ def play_wav(noise_ratio, lowcut, highcut, duration, pop_rate):
71
+ data, sample_rate = generate_vinyl_sound(noise_ratio, lowcut, highcut, duration, pop_rate)
72
+ ipd.display(ipd.Audio(data, rate=sample_rate))
73
+ return None
74
+
75
  iface = gr.Interface(
76
+ fn=None, # We don't need a main function
77
  inputs=[
78
+ gr.inputs.Slider(minimum=0, maximum=1, default=0.001, step=0.001, label="Noise Ratio"),
79
+ gr.inputs.Slider(minimum=20, maximum=20000, default=300, step=10, label="Lowcut Frequency (Hz)"),
80
+ gr.inputs.Slider(minimum=20, maximum=20000, default=5000, step=10, label="Highcut Frequency (Hz)"),
81
+ gr.inputs.Slider(minimum=1, maximum=60, default=10, step=1, label="Duration (seconds)"),
82
+ gr.inputs.Slider(minimum=1, maximum=100, default=10, step=1, label="Pop Rate (pops per second)")
83
+ ],
84
+ outputs=[
85
+ gr.outputs.File(label="Download Vinyl Sound", type="auto", convert=download_wav),
86
+ gr.outputs.Button(label="Play Vinyl Sound", type="auto", callback=play_wav)
87
+ ],
88
+ title="Vinyl Sound Generator",
89
+ description="Generate a synthetic vinyl sound using pink noise, rumble, hiss, and pops. Adjust the noise ratio, bandpass frequencies, duration, and pop rate to modify the sound.",
90
+ examples=[
91
+ [0.001, 300, 5000, 10, 10],
92
+ [0.002, 500, 4000, 15, 20],
93
+ [0.005, 200, 6000, 20, 30]
94
+ ]
95
  )
96
 
97
  iface.launch(inbrowser=True)