import gradio as gr import librosa import soundfile as sf def lofi_effect(audio_filepath): try: y, sr = librosa.load(audio_filepath, sr=None) # Slow down the audio to 80% y_slow_down = librosa.effects.time_stretch(y, rate=0.8) # Shift the pitch lower by 5 semitones y_pitch_shift = librosa.effects.pitch_shift(y_slow_down, sr=sr, n_steps=-5) # Save the modified audio to a temporary file output_path = "modified_audio.wav" sf.write(output_path, y_pitch_shift, sr) return output_path except Exception as e: print(f"Error processing audio: {e}") return "Error" # Define the Gradio interface iface = gr.Interface( fn=lofi_effect, inputs=gr.Audio(type="filepath", label="Upload a .wav file"), outputs=gr.Audio(label="Processed Lofi Audio"), live=False ) # Launch the interface iface.launch()