artificialguybr commited on
Commit
771b4e4
·
verified ·
1 Parent(s): a30c4d9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -12
app.py CHANGED
@@ -5,31 +5,31 @@ from audiocraft.data.audio import audio_write
5
  import spaces
6
 
7
  @spaces.GPU(duration=120)
 
8
  def generate_music(description, melody_audio):
 
9
  model = MusicGen.get_pretrained('nateraw/musicgen-songstarter-v0.2')
10
- model.set_generation_params(duration=8) # generate 8 seconds.
11
 
12
  if description:
13
- descriptions = [description] * 3
14
  if melody_audio:
15
  melody, sr = torchaudio.load(melody_audio)
16
- wav = model.generate_with_chroma(descriptions, melody[None].expand(3, -1, -1), sr)
17
  else:
18
- wav = model.generate(descriptions) # generates 3 samples.
19
  else:
20
- wav = model.generate_unconditional(4) # generates 4 unconditional audio samples
21
 
22
- output_audios = []
23
- for idx, one_wav in enumerate(wav):
24
- output_path = f'output_{idx}.wav'
25
- audio_write(output_path, one_wav.cpu(), model.sample_rate, strategy="loudness", loudness_compressor=True)
26
- output_audios.append(output_path)
27
 
28
- return output_audios
29
 
30
  description = gr.Textbox(label="Description", placeholder="acoustic, guitar, melody, trap, d minor, 90 bpm")
31
  melody_audio = gr.Audio(label="Melody Audio (optional)", type="filepath")
32
- output_audio = gr.Audio(label="Generated Music", type="filepath")
33
 
34
  gr.Interface(
35
  fn=generate_music,
 
5
  import spaces
6
 
7
  @spaces.GPU(duration=120)
8
+ @spaces.GPU(duration=120)
9
  def generate_music(description, melody_audio):
10
+
11
  model = MusicGen.get_pretrained('nateraw/musicgen-songstarter-v0.2')
12
+ model.set_generation_params(duration=8)
13
 
14
  if description:
15
+ description = [description]
16
  if melody_audio:
17
  melody, sr = torchaudio.load(melody_audio)
18
+ wav = model.generate_with_chroma(description, melody[None], sr)
19
  else:
20
+ wav = model.generate(description)
21
  else:
22
+ wav = model.generate_unconditional(1)
23
 
24
+ output_path = 'output.wav'
25
+ audio_write(output_path, wav[0].cpu(), model.sample_rate, strategy="loudness", loudness_compressor=True)
26
+
27
+ return output_path
 
28
 
 
29
 
30
  description = gr.Textbox(label="Description", placeholder="acoustic, guitar, melody, trap, d minor, 90 bpm")
31
  melody_audio = gr.Audio(label="Melody Audio (optional)", type="filepath")
32
+ output_path = gr.Audio(label="Generated Music", type="filepath")
33
 
34
  gr.Interface(
35
  fn=generate_music,