Coder Social home page Coder Social logo

musicxml_parser's Introduction

MusicXML parser

Installation

pip install musicxml_parser

Usage

from musicxml_parser.scoreToPianoroll import scoreToPianoroll
score_path = "test.xml"
quantization = 16
pianoroll, articulation = scoreToPianoroll(score_path, quantization)

Description :

Music XML parser written in Python based on a SAX analyzer. Given a mxml file, outputs two dictionaries indexed by instruments names:

  • a pianoroll
  • a binary articulation which is the same matrix as the pianoroll but with shorter duration so that we can distinguish between a long note or several repeated occurences of the same note. Hence, if a quarter note lasted 4 frames in the pianoroll it would be 3 in the articulation. Staccati notes are 1 whatever their duration.

Packages dependencies :

  • numpy

Files

The main function is ScoreToPianoroll in ScoreToPianoroll.py It takes as input the path to a MusicXML file and output two python dictionnary of the form :

{'track_name' : matrix}

where matrix is two-dimensional, first axis begin the time, second the pitch.

musicxml_parser's People

Contributors

qsdfo avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.