Spaces:
Running
on
Zero
Running
on
Zero
Commit
·
140426b
1
Parent(s):
2c5b1fe
sigh
Browse files
app.py
CHANGED
|
@@ -118,12 +118,11 @@ def generate_midi(seed, use_chords, chord_progression, bpm):
|
|
| 118 |
os.remove(midi_filename)
|
| 119 |
|
| 120 |
sample_rate = 44100 # Assuming fixed sample rate from fluidsynth command
|
| 121 |
-
return
|
| 122 |
|
| 123 |
@spaces.GPU(duration=120)
|
| 124 |
-
def generate_music(
|
| 125 |
-
|
| 126 |
-
# Correctly use wav_filename to load the audio
|
| 127 |
song, sr = torchaudio.load(wav_filename)
|
| 128 |
song = song.to(device)
|
| 129 |
# Use the user-provided BPM value for duration calculation
|
|
@@ -219,29 +218,29 @@ with gr.Blocks() as iface:
|
|
| 219 |
|
| 220 |
with gr.Row():
|
| 221 |
with gr.Column():
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
|
|
|
|
| 226 |
generate_midi_button = gr.Button("Generate MIDI")
|
| 227 |
-
midi_audio = gr.Audio(label="Generated MIDI Audio")
|
| 228 |
|
| 229 |
with gr.Column():
|
| 230 |
-
|
| 231 |
-
|
|
|
|
| 232 |
"thepatch/vanya_ai_dnb_0.1 (small)",
|
| 233 |
"thepatch/budots_remix (small)",
|
| 234 |
"thepatch/PhonkV2 (small)",
|
| 235 |
"thepatch/bleeps-medium (medium)",
|
| 236 |
"thepatch/hoenn_lofi (large)"
|
| 237 |
-
]
|
| 238 |
-
|
| 239 |
-
num_iterations = gr.Slider(label="number of iterations", minimum=1, maximum=3, step=1, value=3)
|
| 240 |
generate_music_button = gr.Button("Generate Music")
|
| 241 |
output_audio = gr.Audio(label="Generated Music")
|
| 242 |
|
| 243 |
-
|
| 244 |
-
generate_midi_button.click(generate_midi, inputs=[seed, use_chords, chord_progression, bpm], outputs=[midi_audio])
|
| 245 |
generate_music_button.click(generate_music, inputs=[midi_audio, prompt_duration, musicgen_model, num_iterations, bpm], outputs=output_audio)
|
| 246 |
|
| 247 |
iface.launch()
|
|
|
|
| 118 |
os.remove(midi_filename)
|
| 119 |
|
| 120 |
sample_rate = 44100 # Assuming fixed sample rate from fluidsynth command
|
| 121 |
+
return wav_filename
|
| 122 |
|
| 123 |
@spaces.GPU(duration=120)
|
| 124 |
+
def generate_music(wav_filename, prompt_duration, musicgen_model, num_iterations, bpm):
|
| 125 |
+
# Load the audio from the passed file path
|
|
|
|
| 126 |
song, sr = torchaudio.load(wav_filename)
|
| 127 |
song = song.to(device)
|
| 128 |
# Use the user-provided BPM value for duration calculation
|
|
|
|
| 218 |
|
| 219 |
with gr.Row():
|
| 220 |
with gr.Column():
|
| 221 |
+
# Input components for MIDI generation
|
| 222 |
+
seed = gr.Textbox(label="Seed (leave blank for random)", value="")
|
| 223 |
+
use_chords = gr.Checkbox(label="Control Chord Progression", value=False)
|
| 224 |
+
chord_progression = gr.Textbox(label="Chord Progression (e.g., Am CM Dm E7 Am)", visible=False)
|
| 225 |
+
bpm = gr.Slider(label="BPM", minimum=60, maximum=200, step=1, value=120)
|
| 226 |
generate_midi_button = gr.Button("Generate MIDI")
|
| 227 |
+
midi_audio = gr.Audio(label="Generated MIDI Audio", source="upload", type="filepath")
|
| 228 |
|
| 229 |
with gr.Column():
|
| 230 |
+
# Input components for music generation based on MIDI
|
| 231 |
+
prompt_duration = gr.Dropdown(label="Prompt Duration (seconds)", choices=list(range(1, 11)), value=5)
|
| 232 |
+
musicgen_model = gr.Dropdown(label="MusicGen Model", choices=[
|
| 233 |
"thepatch/vanya_ai_dnb_0.1 (small)",
|
| 234 |
"thepatch/budots_remix (small)",
|
| 235 |
"thepatch/PhonkV2 (small)",
|
| 236 |
"thepatch/bleeps-medium (medium)",
|
| 237 |
"thepatch/hoenn_lofi (large)"
|
| 238 |
+
], value="thepatch/vanya_ai_dnb_0.1 (small)")
|
| 239 |
+
num_iterations = gr.Slider(label="Number of Iterations", minimum=1, maximum=10, step=1, value=3)
|
|
|
|
| 240 |
generate_music_button = gr.Button("Generate Music")
|
| 241 |
output_audio = gr.Audio(label="Generated Music")
|
| 242 |
|
| 243 |
+
generate_midi_button.click(generate_midi, inputs=[seed, use_chords, chord_progression, bpm], outputs=midi_audio)
|
|
|
|
| 244 |
generate_music_button.click(generate_music, inputs=[midi_audio, prompt_duration, musicgen_model, num_iterations, bpm], outputs=output_audio)
|
| 245 |
|
| 246 |
iface.launch()
|