Spaces:
Running
on
Zero
Running
on
Zero
Commit
·
ff54f69
1
Parent(s):
cf7f846
added tempfile
Browse files
app.py
CHANGED
|
@@ -10,6 +10,7 @@ from audiocraft.models import MusicGen
|
|
| 10 |
from audiocraft.data.audio import audio_write
|
| 11 |
from pydub import AudioSegment
|
| 12 |
import spaces
|
|
|
|
| 13 |
|
| 14 |
# Check if CUDA is available
|
| 15 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
|
@@ -120,10 +121,12 @@ def generate_midi(seed, use_chords, chord_progression, bpm):
|
|
| 120 |
|
| 121 |
@spaces.GPU(duration=120)
|
| 122 |
def generate_music(midi_audio, prompt_duration, musicgen_model, num_iterations, bpm):
|
| 123 |
-
|
|
|
|
|
|
|
| 124 |
|
| 125 |
# Load the generated audio
|
| 126 |
-
song, sr = torchaudio.load(
|
| 127 |
song = song.to(device)
|
| 128 |
|
| 129 |
# Use the user-provided BPM value for duration calculation
|
|
@@ -178,7 +181,7 @@ def generate_music(midi_audio, prompt_duration, musicgen_model, num_iterations,
|
|
| 178 |
combined_audio.export(combined_audio_filename, format="mp3")
|
| 179 |
|
| 180 |
# Clean up temporary files
|
| 181 |
-
os.remove(
|
| 182 |
for filename in all_audio_files:
|
| 183 |
os.remove(filename)
|
| 184 |
|
|
|
|
| 10 |
from audiocraft.data.audio import audio_write
|
| 11 |
from pydub import AudioSegment
|
| 12 |
import spaces
|
| 13 |
+
import tempfile
|
| 14 |
|
| 15 |
# Check if CUDA is available
|
| 16 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
|
|
|
| 121 |
|
| 122 |
@spaces.GPU(duration=120)
|
| 123 |
def generate_music(midi_audio, prompt_duration, musicgen_model, num_iterations, bpm):
|
| 124 |
+
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as temp_file:
|
| 125 |
+
temp_filename = temp_file.name
|
| 126 |
+
torchaudio.save(temp_filename, midi_audio, sample_rate=44100)
|
| 127 |
|
| 128 |
# Load the generated audio
|
| 129 |
+
song, sr = torchaudio.load(temp_filename)
|
| 130 |
song = song.to(device)
|
| 131 |
|
| 132 |
# Use the user-provided BPM value for duration calculation
|
|
|
|
| 181 |
combined_audio.export(combined_audio_filename, format="mp3")
|
| 182 |
|
| 183 |
# Clean up temporary files
|
| 184 |
+
os.remove(temp_filename)
|
| 185 |
for filename in all_audio_files:
|
| 186 |
os.remove(filename)
|
| 187 |
|