audiveris3 / app.py
soiz1's picture
Update app.py
7f7d4a7 verified
raw
history blame contribute delete
931 Bytes
import gradio as gr
import subprocess
import os
def recognize_music(pdf_file):
audiveris = "/opt/audiveris/bin/Audiveris"
output_dir = "/tmp/output"
pdf_file_path = pdf_file.name
pdf_file_name = os.path.basename(pdf_file.name)
musicXml_file_name = os.path.splitext(pdf_file_name)[0]+".mxl"
output_file = output_dir + "/" + musicXml_file_name
cmd = [
audiveris, "-batch", "-export", "-output", output_dir, pdf_file_path
]
result = subprocess.run(cmd, capture_output=True, text=True)
print (f"Done. Music score file saved to {output_file}\n\n{result.stdout}\n{result.stderr}")
return output_file
audiveris = gr.Interface(
fn=recognize_music,
inputs=gr.File(file_types=[".pdf"], label="Upload PDF music score"),
outputs=gr.File(label="Download MusicXML file"),
description="Upload a PDF music socre and create a MusicXML file from it.",
)
audiveris.launch()