artificialguybr commited on
Commit
404e15b
·
verified ·
1 Parent(s): 5004de3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -6
app.py CHANGED
@@ -3,30 +3,45 @@ import torchaudio
3
  from audiocraft.models import MusicGen
4
  from audiocraft.data.audio import audio_write
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")
 
3
  from audiocraft.models import MusicGen
4
  from audiocraft.data.audio import audio_write
5
  import spaces
6
+ import logging
7
+
8
+ # Configura o logging
9
+ logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
10
 
11
  @spaces.GPU(duration=120)
 
12
  def generate_music(description, melody_audio):
13
+ logging.info("Iniciando a geração de música.")
14
 
15
+ # Carrega o modelo pré-treinado
16
+ logging.info("Carregando o modelo pré-treinado.")
17
  model = MusicGen.get_pretrained('nateraw/musicgen-songstarter-v0.2')
18
+ model.set_generation_params(duration=8)
19
 
20
  if description:
21
  description = [description]
22
  if melody_audio:
23
+ logging.info(f"Carregando a melodia de áudio de: {melody_audio}")
24
  melody, sr = torchaudio.load(melody_audio)
25
+ logging.info("Gerando música com descrição e melodia.")
26
+ wav = model.generate_with_chroma(description, melody[None], sr)
27
  else:
28
+ logging.info("Gerando música apenas com descrição.")
29
+ wav = model.generate(description)
30
  else:
31
+ logging.info("Gerando música de forma incondicional.")
32
+ wav = model.generate_unconditional(1)
33
 
34
  output_path = 'output.wav'
35
+ logging.info(f"Salvando a música gerada em: {output_path}")
36
  audio_write(output_path, wav[0].cpu(), model.sample_rate, strategy="loudness", loudness_compressor=True)
37
 
38
+ # Verifica a forma do tensor de áudio e se foi salvo corretamente
39
+ logging.info(f"A forma do tensor de áudio gerado: {wav[0].shape}")
40
+ logging.info("Música gerada e salva com sucesso.")
41
 
42
+ return output_path
43
 
44
+ # Define a interface Gradio
45
  description = gr.Textbox(label="Description", placeholder="acoustic, guitar, melody, trap, d minor, 90 bpm")
46
  melody_audio = gr.Audio(label="Melody Audio (optional)", type="filepath")
47
  output_path = gr.Audio(label="Generated Music", type="filepath")