Spaces:
Runtime error
Runtime error
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 | |
import os | |
print(os.getcwd()) | |
# print(os.listdir()) | |
# print(os.listdir('..')) # ['.bash_logout', '.bashrc', '.profile', 'app', '.cache', '.local'] | |
# print(os.listdir('../.local')) # ['bin', 'lib', 'etc', 'share'] | |
# print(os.listdir('../..')) # ['user'] | |
# print(os.listdir('../../..')) # ['bin', 'boot', 'dev', 'etc', 'home', 'lib', 'lib64', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var', '.dockerenv'] | |
print(os.listdir('../../../bin')) | |
result = subprocess.run(['echo $PATH'], capture_output=True, shell=True) | |
stdout = result.stdout | |
paths = stdout.decode('utf-8').strip().split(':') | |
from pathlib import Path | |
paths = [Path(path) for path in paths] | |
for path in paths: | |
print(path) | |
print(os.listdir(path)) | |
print('-'*10) | |
subprocess.run(['/home/user/.local/bin/install_fluidsynth_with_soundfonts_osx.sh'], shell=True) | |
# subprocess.run(['PATH=$PATH:~/opt/bin']) | |
# subprocess.run(['PATH=$PATH:~/opt/bin/fluidsynth']) | |
subprocess.run(['fluidsynth'], shell=True) | |
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') | |
FluidSynth("FluidR3_GM.sf2").midi_to_audio(name, 'test.wav') | |
return output_wav | |
iface = gr.Interface( | |
fn=process_midi, | |
inputs="file", | |
outputs="audio" | |
) | |
iface.launch() |