Exemplo n.º 1
0
                       key=lambda x: int(x.replace('.', '-').split('-')[1]))

    # midi file
    midi_path = os.path.join('midi', filename + '.mid')

    # Convert to annotation
    df_score, df_audio = process(filename, xml_path, svg_paths, midi_path)

    # Write to csv
    df_score.to_csv(os.path.join('annot_sheet',
                                 '{:}_beats.csv'.format(filename)),
                    index=False)
    if not os.path.exists('annot_audio/{:}'.format(filename)):
        os.mkdir('annot_audio/{:}'.format(filename))
    df_audio.to_csv(os.path.join('annot_audio', filename,
                                 '{:}.csv'.format(filename)),
                    index=False)


if not os.path.exists('annot_sheet'):
    os.mkdir('annot_sheet')

if not os.path.exists('annot_audio'):
    os.mkdir('annot_audio')

xml_paths = glob.glob('xml/*.xml')
try:
    parallel_process(xml_paths, f, front_num=0)
except:  # pylint: disable=bare-except
    pass
Exemplo n.º 2
0
import os
import subprocess
from parallel_utils import parallel_process

# Set environment variable to prevent QXcbConnection: Could not connect to
# display problem
os.environ['QT_QPA_PLATFORM'] = 'offscreen'

if not os.path.exists('svg'):
    os.mkdir('svg')

if not os.path.exists('midi'):
    os.mkdir('midi')


def f(xml_path):
    """
    A function that converts a single XML file to MIDI and SVG.
    """
    filename = os.path.splitext(os.path.basename(xml_path))[0]
    subprocess.call("musescore {:} -r 300 -f -o midi/{:}.mid".format(
        xml_path, filename),
                    shell=False)
    subprocess.call("musescore {:} -r 300 -f -o svg/{:}.svg".format(
        xml_path, filename),
                    shell=False)


xml_paths = glob.glob('xml/*.xml')
parallel_process(xml_paths, f)
import subprocess
import lxml.etree
from parallel_utils import parallel_process

# Set environment variable to prevent QXcbConnection: Could not connect to
# display problem
os.environ['QT_QPA_PLATFORM'] = 'offscreen'

if not os.path.exists('xml'):
    os.mkdir('xml')


def f(mxl_path):
    """
    This function converts a single MXL file to a single XML file.
    The XML invalid file is ignored.
    """
    filename = os.path.splitext(os.path.basename(mxl_path))[0]
    subprocess.call(
        "musescore {:} -r 300 -f -o xml/{:}.xml".format(mxl_path, filename),
        shell=False)
    try:
        lxml.etree.parse("xml/{:}.xml".format(filename)) # pylint: disable=c-extension-no-member
    except lxml.etree.XMLSyntaxError: # pylint: disable=c-extension-no-member
        os.remove("xml/{:}.xml".format(filename))

    return 0

mxl_paths = glob.glob('mxl/*.mxl')
parallel_process(mxl_paths, f)
import lxml.etree
from parallel_utils import parallel_process

# Set environment variable to prevent QXcbConnection: Could not connect to
# display problem
os.environ['QT_QPA_PLATFORM'] = 'offscreen'

if not os.path.exists('xml'):
    os.mkdir('xml')


def f(mscz_path):
    """
    This function converts a single mscz file to an XML file.
    The XML file that is parsed incorrectly is ignored.
    """
    filename = os.path.splitext(os.path.basename(mscz_path))[0]
    subprocess.call("musescore {:} -r 300 -f -o xml/{:}.xml".format(
        mscz_path, filename),
                    shell=False)
    try:
        lxml.etree.parse("xml/{:}.xml".format(filename))  # pylint: disable=c-extension-no-member
    except lxml.etree.XMLSyntaxError:  # pylint: disable=c-extension-no-member
        os.remove("xml/{:}.xml".format(filename))

    return 0


mscz_paths = glob.glob('mscz/*.mscz')
parallel_process(mscz_paths, f)