import gradio as gr

# from musicautobot.numpy_encode import file2stream
from musicautobot.utils.setup_musescore import play_wav
from music21.midi.translate import midiFileToStream
from pathlib import Path
from midi2audio import FluidSynth

import subprocess

subprocess.run(['fluidsynth'])
 
def process_midi(midi_file):
    name = Path(midi_file.name)
#     stream = midiFileToStream(midi_file)
#     output_wav = play_wav(stream)
    FluidSynth("../usr/share/sounds/sf2/FluidR3_GM.sf2").midi_to_audio(name, 'test.wav')
    return output_wav

iface = gr.Interface(
    fn=process_midi, 
    inputs="file", 
    outputs="audio"
)

iface.launch()