otsob / wmn4j Goto Github PK
View Code? Open in Web Editor NEWJava library for handling western music notation with a focus on computational music analysis.
License: Other
Java library for handling western music notation with a focus on computational music analysis.
License: Other
In order to write attributes (composer name etc) into MusicXML output,
as a user,
I want there to be support for writings the attributes into a MusicXML file.
Acceptance criteria:
In order to handle different file types through the same interface,
as a user,
I want there to be a common interface for all file reading objects
Acceptance criteria:
In order to have clear packaging in the project,
as a contributor,
I want the package structure to follow standard format and packages to be documented.
Acceptance criteria:
Use notimestamp=true in maven-javadoc-plugin, so the updating of the Javadoc can be automated at some point.
In order to find repeated patterns in scores,
as a user,
I want there to be an implementation of the SIATECHF algorithm
Acceptance criteria:
In order to be able to output monophonic musical patterns in notation,
as a user,
I want there to be an interface that can write a monophonic pattern to MusicXML.
Acceptance criteria:
In order to know which notation objects can be extended,
as a user,
I want there to be clear definition of this in wmn4j.
Acceptance criteria:
In order to write notation into MusicXML files,
as a user,
I want wmn4j to support writing basic notation into MusicXML files.
Acceptance criteria:
Change the handling of null values so that
In order to be able to output polyphonic musical patterns in notation,
as a user,
I want there to be an interface that can write a polyphonic pattern to MusicXML.
Acceptance criteria:
Configure wmnlib into a Maven project so that:
In order to handle polyphonic musical patterns (motifs with chords, segments of polyphonic music etc.)
as a user
I want there to be an interface and implementation for handling polyphonic musical patterns
Acceptance criteria:
In order to handle part information,
as a user,
I want the part attributes to be available through the Part interface.
Acceptance criteria:
In order to read attributes (composer name etc) from MusicXML input,
as a user,
I want there to be support for reading the attributes from a MusicXML file.
Acceptance criteria:
In order to create Measure instances easily in code,
as a user,
I want to MeasureBuilder class to have sufficient functionality.
Acceptance criteria:
Define locale in maven-javadoc-plugin. Otherwise the output from "mvn javadoc:javadoc" depends on the system it is run on.
In order to handle notes with multinote articulations correctly,
as a user,
I want the relevant methods in Note to handle multinote articulations.
Acceptance criteria:
Note: Issue #29 needs to be implemented before this.
In order to ensure validity of inputted MusicXML files
as a user
I want MusicXML input to be validated against the MusicXML schema/dtd.
Acceptance criteria:
In order to read single note articulations from MusicXML files,
as a user,
I want the MusicXML input to read articulations from the input.
Acceptance criteria:
In order to make the use of wmn4j easy,
as a user,
I want the method naming in wmn4j to follow unified conventions.
Acceptance criteria:
In order to analyse keys,
as a user,
I want there to be an implementation of the Krumhansl-Schmuckler algorithm
Acceptance criteria:
In order to handle Pitch instances more efficiently,
as a user,
I want the Pitch number computation to be improved
Acceptance criteria:
In order to handle pitch class profiles,
as a user,
I want there to be an implementation/interface for pitch class profiles
Acceptance criteria:
In order to have exceptions that clearly indicate why IO failed,
as a user,
I want informative exception types in wmn4j IO.
Acceptance criteria:
In order to make it easier to create Chord instances in code,
as a user,
I want ChordBuilder to have enough functionality.
Acceptance criteria:
In order to keep the code quality of wmn4j high,
as the product owner,
I want static analysis to be run on the pull requests.
Acceptance criteria:
In order to keep code quality high,
as a collaborator,
I want MusicXmlReaderDom code to be refactored.
Acceptance criteria:
In order to write markings into MusicXML
as a user
I want MusicXML output to correctly add markings to output files
Acceptance criteria:
In order to find repeated patterns in scores,
as a user,
I want there to be an interface for finding repeated patterns in scores
Acceptance criteria:
In order to have consistent code style,
as a contributor,
I want code style defined and enforced by checkstyle on pull requests.
Acceptance criteria:
In order to access the key signature information for keys,
as a user,
I want the interface/class for Keys to provide access to key signatures.
Acceptance criteria:
In order to handle different pitched notation objects,
as a user,
I want there to be a common interface for notation objects that have single defined pitch.
Acceptance criteria:
In order to analyse the key of a selection of music,
as a user,
I want there to be an interface for analysing keys.
Acceptance criteria:
In order to read multinote markings from MusicXML
as a user
I want MusicXML reading to correctly add multinote markings to Scores
Acceptance criteria:
In order to keep API documentation easily up-to-date,
as a collaborator/developer,
I want Javadoc generation and deployment to be automated.
Acceptance criteria:
mvn install
) does not cause there to be changes in the contents of the docs directory.In order to handle attributes of a score,
as a user,
I want the Score class to contain the attributes.
Acceptance criteria:
In order to read MusicXML files into Score objects,
as a user,
I want wmn4j to support reading MusicXML files to Score objects.
Acceptance criteria:
In order to avoid simple bugs in code,
as a developer/collaborator,
I want checkstyle to check for simple bugs.
Acceptance criteria:
Potential checks to add:
In order to have information on the progress or failure of IO operations,
as a user,
I want wmn4j to log IO of files such as MusicXML.
Acceptance criteria:
I order to avoid bugs in wmn4j code,
as a contributor,
I want unit tests to be run on pull requests.
Acceptance criteria:
In order to handle monophonic musical patterns (motifs, segments of melodies, melodies etc.)
as a user
I want there to be an interface and implementation for handling polyphonic musical patterns
Acceptance criteria:
In order to be able to use newer Java features,
as a collaborator,
I want wmn4j to use a newer Java version than Java 8.
Acceptance criteria:
In order to find where a pattern occurs in a score,
as a user,
I want a way to link/mark pattern occurrences in a score.
Acceptance criteria:
In order to write single note articulations into MusicXML files,
as a user,
I want the MusicXML output to write articulations into output files
Acceptance criteria:
In order to handle articulations that affect multiple notes (legato, glissando),
as a user,
I want there to be an interface/class for handling multinote articulations.
Acceptance criteria:
In order to have code that compiles with newer versions of Java,
as a collaborator/developer,
I want all usages of JavaFX.Pair to be replaces with something else.
Acceptance criteria:
In order to use or collaborate to wmn4j,
as a user/collaborator,
I want there to be a descriptive README.
Acceptance criteria:
In order to have clear package structure,
as a user,
I want all iterators that iterate over notation objects to be placed in the same package
Acceptance criteria:
In order to handle articulations that affect a single note in notation,
as a user,
I want the articulation markings to be available in Note objects.
Acceptance criteria:
Note: This might require practically no further work.
In order to contribute to wmn4j,
as a contributor,
I want there to be clear code style guidelines.
Acceptance criteria:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.