output-files-compression

#5
by DilshanIRU - opened
Files changed (3) hide show
  1. README.md +1 -1
  2. app.py +14 -4
  3. requirements.txt +1 -0
README.md CHANGED
@@ -7,7 +7,7 @@ sdk: gradio
7
  app_file: app.py
8
  pinned: true
9
  duplicated_from: Thafx/Demucs_v4_2s_HT
10
- sdk_version: 5.20.1
11
  ---
12
 
13
  # Configuration
 
7
  app_file: app.py
8
  pinned: true
9
  duplicated_from: Thafx/Demucs_v4_2s_HT
10
+ sdk_version: 5.35.0
11
  ---
12
 
13
  # Configuration
app.py CHANGED
@@ -1,13 +1,23 @@
1
  import os
2
  import gradio as gr
3
  from scipy.io.wavfile import write
 
4
 
 
 
 
5
 
6
  def inference(audio):
7
- os.makedirs("out", exist_ok=True)
8
- write('test.wav', audio[0], audio[1])
9
- os.system("python3 -m demucs.separate -n htdemucs --two-stems=vocals test.wav -o out")
10
- return "./out/htdemucs/test/vocals.wav","./out/htdemucs/test/no_vocals.wav"
 
 
 
 
 
 
11
 
12
  title = "Demucs Music Source Separation (v4)"
13
  article = "<p style='text-align: center'><a href='https://arxiv.org/abs/1911.13254' target='_blank'>Music Source Separation in the Waveform Domain</a> | <a href='https://github.com/facebookresearch/demucs' target='_blank'>Github Repo</a> | <a href='https://www.thafx.com' target='_blank'>//THAFX</a></p>"
 
1
  import os
2
  import gradio as gr
3
  from scipy.io.wavfile import write
4
+ from pydub import AudioSegment
5
 
6
+ def wav_to_mp3(wav_path, mp3_path, bitrate="128k"): # 128k is a good default for quality/compression
7
+ audio = AudioSegment.from_wav(wav_path)
8
+ audio.export(mp3_path, format="mp3", bitrate=bitrate)
9
 
10
  def inference(audio):
11
+ os.makedirs("out", exist_ok=True)
12
+ write('test.wav', audio[0], audio[1])
13
+ os.system("python3 -m demucs.separate -n htdemucs --two-stems=vocals test.wav -o out")
14
+ vocals_wav = "./out/htdemucs/test/vocals.wav"
15
+ no_vocals_wav = "./out/htdemucs/test/no_vocals.wav"
16
+ vocals_mp3 = "./out/htdemucs/test/vocals.mp3"
17
+ no_vocals_mp3 = "./out/htdemucs/test/no_vocals.mp3"
18
+ wav_to_mp3(vocals_wav, vocals_mp3)
19
+ wav_to_mp3(no_vocals_wav, no_vocals_mp3)
20
+ return vocals_mp3, no_vocals_mp3
21
 
22
  title = "Demucs Music Source Separation (v4)"
23
  article = "<p style='text-align: center'><a href='https://arxiv.org/abs/1911.13254' target='_blank'>Music Source Separation in the Waveform Domain</a> | <a href='https://github.com/facebookresearch/demucs' target='_blank'>Github Repo</a> | <a href='https://www.thafx.com' target='_blank'>//THAFX</a></p>"
requirements.txt CHANGED
@@ -4,4 +4,5 @@ invisible-watermark
4
  fonts
5
  font-roboto
6
  numpy<1.26
 
7
 
 
4
  fonts
5
  font-roboto
6
  numpy<1.26
7
+ pydub
8