Git Product home page Git Product logo

libnmf's Introduction

Noir Music Format (NMF) library

Provides a parsing library for working with files in the binary Noir Music Format (NMF).

See NMF_Spec.md in the doc directory for a specification of this binary NMF format.

The whole NMF parsing library is contained within the nmf.h and nmf.c source files. See the documentation in the header file for the API specification.

To check an NMF file and print a textual listing of its contents, you can use the included nmfwalk utility program.

Releases

Version 0.9.1 Beta

Spun off legacy tools to the nmftools project. Updated documentation to indicate that NMF is still the current binary format. The deprecation of NMF in favor of NRB mentioned in the version 0.9.0 beta is no longer in effect.

Version 0.9.0 Beta

Copying files from Noir beta 0.5.2, and applying just a few edits to documentation to account for the project now being separate from the main Noir project.

libnmf's People

Contributors

canidlogic avatar

Watchers

 avatar

libnmf's Issues

Offset utility

Add a utility program nmfoffset that adjusts all time offset values of each note and all section offsets except for section zero by a positive number of quanta. This is needed for when the composition starts with a grace note, which can't be handled by the grace note compiler unless an offset is applied somewhere.

Grace note compiler

Add an nmfgrace utility program that operates on fixed-quanta NMF files and converts grace notes to actual notes with proper offset and duration, given the length of grace notes to use throughout the file.

NRB converter

Add a utility program nmf2nrb that takes a NMF file with fixed quantum basis and no grace notes and converts it to an NRB file. This allows the new beta 0.5.3 architecture of Noir to drop all NMF support while maintaining backwards compatibility, because older NMF files can now be upconverted to the new NRB format using this libnmf library utilities.

This also allows us to use Noir beta version 0.5.2 and earlier with the new NRB rendering architecture, by simply upconverting the NMF results to NRB.

The only NRB features which are not available through the upconversion route are the Pedal and Grace flags in the articulation field, and the new ramp feature in NRB.

Spin off tools

Move all (legacy) tool programs to the nmftools project, except for the nmfwalk utility program. Also move the tempo map documentation to the nmftools project.

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.