Skip to content

C++ library with accompanying toolkit for music information retrieval

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

sa-kib/music-dsp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Music-DSP is a C++ library with accompanying toolkit for music information retrieval.

It provides an API for the basic algorithms like

  • fast Fourier transform (FFT)
  • filters
  • window functions

and more sophisticated algorithms like

  • signal envelope detection
  • audio beat detection
  • chord recognition

The library has been started as a fun way to understand music theory concepts.
At some point code base has shaped into a project I consider worth sharing with the public.

Welcome to the project and find your way to contribute and benefit from it!

Building

While setting up development environment is covered in wiki, use quick steps below as a quick start:

  1. Download source code
    git clone https://github.com/vmkononenko/music-dsp
    
  2. Create build directory
    mkdir music-dsp-build
    
  3. Build
    cd music-dsp-build
    cmake ../music-dsp
    make
    

This is sufficient to build the project with the default configuration. If you want to fine tune it for your specific needs parameters guide will help.

Using

Native console client

If -DWITH_CLIENT=y (on by default) has been specified during the build, native built-in CLI client will be provided along with the shared lib. Run bin/lmclient -h for the quick help. Check the wiki to discover advanced features.

Linking

The code is licensed under LGPL v3.0, meaning that:

  • the library can be used (linked to) in the proprietary projects as-is
  • any modifications to it must be published under the same license.

API

While proper API docs is yet to come you can find how to use it from:

  • client source code at client/src/lmclient.cpp
  • libmusic/include files

Contributing

Submit changes

If you have a fix or enhancement ready PR is always appreciated.
Before doing big features or refactorings though it's best to contact me to make sure your changes will nicely fit.

Reports issues

Use project issue tracker for reporting issues.

About

C++ library with accompanying toolkit for music information retrieval

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 73.7%
  • C 13.1%
  • Jupyter Notebook 3.4%
  • HTML 2.5%
  • Python 2.5%
  • Makefile 2.3%
  • Other 2.5%