Skip to content

samtoth/MTK

Repository files navigation

MTK (Music ToolKit)

A C++ API designed for Music software

MTK Version Build codecov CodeFactor

This project is a work in progress, many features are not implemented and API likely to change.

Contents

Goals

Highest priority first
  • Define an API flexible enough to deal with music outside of Western traditions
  • Interface with existing standards:
    • Midi
    • MusicXML
  • A python wrapper to access through scripting language
  • Basic synthesis capabilities
  • Notation rendering

Current features

  • Reading, writing and primitive play back of MuDa files
  • See the state of the current API in the docs

Building from source

Dependencies

  • CMake - minimum version tested on version 3.16
  • A C++11-standard-compliant compiler
    • (Only currently tested with MinGW on Windows and gcc on Linux)
Optional
  • Doxygen (with option -DBUILD_DOCS=ON)

Run:

git clone https://github.com/qoolander/MTK.git
cd MTK
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_TESTS=OFF -DBUILD_DOCS=OFF ..
cmake --build . --target all -- -j 4
Note

If using windows replace cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_TESTS=OFF -DBUILD_DOCS=OFF .. with cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_TESTS=OFF -DBUILD_DOCS=OFF -G "MinGW Makefiles" ..

Getting started

First make sure you have successfully built MTK.

To play an example file, first confirm audio output is working by navigating to the {build_directory}/bin, and from the command line running ./testBeep(.exe). If you hear a tone that lasts a few second before stopping then everything appears to be working!

To play a .MuDa file run ./MuDaCLI(.exe) -p <filename.MuDa>. To begin with we can have the program generate an example file for us by running the command ./MuDaCLI(.exe) -e example.MuDa. Finally run ./MuDaCLI(.exe) -p example.MuDa to hear the result.

Built using

License

Developed under GNU General Public License Version 3. See full LICENSE