Giter Site home page Giter Site logo

scomplexity's Introduction

sComplexity

Provisional implementation of the RIM (Readability Index for Music)

"READABILITY INDEX for scores written with Common Western Music Notation (CWMN)" Calatayud, P. F.; Padilla Longoria, P.; Galera-Núñez, M. del M.; Pérez-Acosta, G.

Implemented by Patricio F. Calatayud in a Opera Browser with the libraries p5.js openSheetMusicDisplay xml2json.js

License...

REQs

  • Scores must be in musicXML format, and off course, well written, otherwise will be errors. Well written means no hidden text, nor notes, not anything that we will be measuring.
  • The score must contain a Time Signature, and tempo information at the start, otherwise it will be a default of 4/4 at 60 BPMs.
  • We need always notes (even silences) on voice 1.
  • All anacruxis (pickup bar) and methacruxis (pickup bar complemente) need to have rest values for that measure, and not measure rests.
  • All words (expression, instrument change, agogic, system text, part text, etc.) should be added BEFOREhand to the thesaurus files if we want to identify it as information. The file is in the textDefinitions folder. As lyrics are idiomatic writing, there are not included in the measure --perhaps a normal readability index is an option.

ISSUES

  • JSON organices the information differently from XML. In the later information can be sequential, but in the first are organized as a group. The order of elements, possible in XML, is lost in JSON.
  • At the moment we cannot measure x dimension distance of some elements (eg. dynamics) from measure bars, so they need to be attached to elements.
  • If there are metronome equivalences, MuseScore and Sibelius don't add the element, making the relation unmeasurable. See https://musescore.org/en/node/270643. This is important when changin Time Measure from binary to ternary, and inversely.
  • The element is not present in the MuseScore exported file.
  • Pickup bars are not defined. The actual implementation seems to work this out, but there could be problems.
  • For grace notes and accacciaturas we decided to clear its duration, as we aren't completely sure about its exact value when reading.
  • At the moment, multimeasure rest is not implemented. MuseScore exports each measure whole silence sepparatedly.
  • Wedges are measured for all voices togheter in each staff.

TODO

V. 0.1 --->W.N. --->B.F. KLdivergence improved Ternary measures fixed Entropy report was divided twice by MRUs: Fixed.

V. 0.09 --->W.N. --->B.F. KLdivergence repaired Reports include channel capacity with correct numbers MRU combination repaired Time Signatures with number one as denominator, included. --->TODO tempo in Beethoven's study case

V.0.06 to 0.08 are not documented.

V. 0.05 --->W.N. No more GUI for the moment. Folder processing for large corpora (will take time as pixel measuring is slow yet). __tactus.js is out, were merged with __mruAvg.js trill.js out too, merged with ornaments.js. Now it's called ornamTrill.js There's a new thesaurus, in the form of an js file for tempo values and their pulse velocity. This is for scores that have tempo text but no @tempo attribute. --->B.F.

V.0.04 to 0.01 are not documented.

scomplexity's People

Contributors

patricio1979 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.