Dragunflie-420 commited on
Commit
83c00b7
·
verified ·
1 Parent(s): dc87b13

Create import

Browse files
Files changed (1) hide show
  1. import +31 -0
import ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Import necessary libraries
2
+ from transformers import AutoTokenizer, AutoModelForTextToWaveform
3
+ import torch
4
+ import scipy.io.wavfile as wavfile
5
+ import numpy as np
6
+
7
+ # Load model and tokenizer
8
+ tokenizer = AutoTokenizer.from_pretrained("facebook/musicgen-small")
9
+ model = AutoModelForTextToWaveform.from_pretrained("facebook/musicgen-small")
10
+
11
+ def generate_music(prompt, duration_s=10):
12
+ # Tokenize the input prompt
13
+ inputs = tokenizer(prompt, return_tensors="pt")
14
+
15
+ # Generate audio
16
+ audio_values = model.generate(**inputs, max_new_tokens=int(duration_s * model.config.sample_rate / model.config.hop_length))
17
+
18
+ # Convert to numpy array and scale
19
+ audio_np = audio_values[0].cpu().numpy()
20
+ audio_np = (audio_np * 32767).astype(np.int16)
21
+
22
+ return audio_np
23
+
24
+ # Example usage
25
+ prompt = "A catchy electronic beat with a groovy bassline"
26
+ generated_audio = generate_music(prompt)
27
+
28
+ # Save the generated audio
29
+ wavfile.write("generated_music.wav", model.config.sample_rate, generated_audio)
30
+
31
+ print(f"Music generated and saved as 'generated_music.wav'")