import gradio as gr import jukebox import torch as t import librosa import os from IPython.display import Audio # Import the model from jukebox.models import MODELS model = jukebox.make_vqvae(MODELS['5B_LYRICS'], device="cpu") # Generate music def generate_music(temperature=1.0, top_k=10, beam_width=5): z = torch.randn(1, 1024) audio = model.sample(z, temperature=temperature, top_k=top_k, beam_width=beam_width) return audio # Input audio def input_audio(): audio_file = input("Enter the path to the audio file: ") audio_data = librosa.load(audio_file) return audio_data # Generate music from the input audio def generate_music_from_audio(audio_data): z = model.encode(audio_data) audio = model.decode(z) return audio # Save the music def save_music(audio, filename): librosa.output(filename, audio, sr=44100) # Play the music def play_music(audio): Audio(audio) # Create the Gradio interface app = gr.Interface( generate_music, inputs=[gr.inputs.Slider(label="Temperature", min=0.0, max=1.0, step=0.1), gr.inputs.Slider(label="Top K", min=1, max=10, step=1), gr.inputs.Slider(label="Beam Width", min=1, max=10, step=1)], outputs=gr.outputs.Audio(), title="OpenAI Jukebox", description="Generate music using OpenAI Jukebox", allow_screenshot=True, clear_output=True ) # Run the app app.launch()