tee342 commited on
Commit
e96b6e5
·
verified ·
1 Parent(s): 87e66df

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -17
app.py CHANGED
@@ -1,26 +1,34 @@
1
  import gradio as gr
2
  from pydub import AudioSegment
3
- import numpy as np
4
  import tempfile
5
- import soundfile as sf
 
6
 
7
- def normalize_audio(file):
8
- if file is None:
9
  return None
10
- audio = AudioSegment.from_file(file)
11
- normalized_audio = audio.normalize()
12
- temp_path = tempfile.NamedTemporaryFile(suffix=".wav", delete=False).name
13
- normalized_audio.export(temp_path, format="wav")
14
- samples, sample_rate = sf.read(temp_path)
15
- return samples, sample_rate
 
 
 
 
 
 
 
16
 
17
- app = gr.Interface(
18
- fn=normalize_audio,
19
- inputs=gr.Audio(type="filepath"),
20
- outputs=gr.Audio(type="numpy"),
21
- title="Normalize Audio Test",
22
- description="Upload an audio file to normalize it and get the processed audio back."
23
  )
24
 
25
  if __name__ == "__main__":
26
- app.launch()
 
1
  import gradio as gr
2
  from pydub import AudioSegment
3
+ import base64
4
  import tempfile
5
+ import numpy as np
6
+ import io
7
 
8
+ def process_audio_gr(audio):
9
+ if audio is None:
10
  return None
11
+ # Load audio with pydub
12
+ audio_segment = AudioSegment.from_file(io.BytesIO(audio))
13
+ # Simple effect: normalize
14
+ normalized = audio_segment.normalize()
15
+ # Export to bytes
16
+ buf = io.BytesIO()
17
+ normalized.export(buf, format="wav")
18
+ buf.seek(0)
19
+ audio_bytes = buf.read()
20
+ # Convert to base64
21
+ audio_b64 = base64.b64encode(audio_bytes).decode()
22
+ data_uri = f"data:audio/wav;base64,{audio_b64}"
23
+ return data_uri
24
 
25
+ iface = gr.Interface(
26
+ fn=process_audio_gr,
27
+ inputs=gr.Audio(source="upload", type="file"),
28
+ outputs=gr.Audio(type="auto"),
29
+ title="Audio Normalize Demo",
30
+ description="Upload audio, get normalized audio back."
31
  )
32
 
33
  if __name__ == "__main__":
34
+ iface.launch()