Giter VIP home page Giter VIP logo

scopul_midi's Introduction

Scopul

PyPI - Status PyPI PyPI - Downloads

Scopul is a python package to extract data from MIDI files!

scopul-rep

Scopul can also do additional functionality such as generating PDFs or tempo conversions.

Installation

$ pip install scopul

Simple Example

from Scopul import Scopul, config_musescore

scop = Scopul("test.mid")


# Get tempo
print(scop.get_audio_lenght())


# Sample output
>>> "12.467519999999997"

Future Plans

🟑 = In progress

🟠 = To-Do

🟒 = Done

Things to look forward in the next major release, any suggestions will be appreciated

  • Deletion of elements (Only addition is currently supported)🟠
  • Create and add parts, consisting of multiple other Scopul Musical Elements🟠
  • Chord extraction: Allow the extraction of chord progressions from the MIDI file.🟠
  • Key detection: Implement a function to detect the key of the MIDI file.🟠
  • Melody extraction: Allow the extraction of the melody from the MIDI file.🟠
  • Harmonic analysis: Provide harmonic analysis of the MIDI file by identifying chords and their progressions.🟠

Things for the distant future, any suggestions will be appreciated

  • Drum track extraction: Allow the extraction of the drum track from the MIDI file.🟠
  • Quantization: Implement a function to quantize the notes in the MIDI file to a particular grid size.🟠
  • MIDI file validation: Implement a function to validate the structure of the MIDI file and detect any errors.🟠
  • Export to other formats: Allow the export of the MIDI data to other formats such as CSV, JSON, or XML.🟠

None of this is happening anytime soon.

Bugs

  • A lot of the MIDI to PDF conversions are still throwing errors
  • PDFs and XMLs are not generating with title

Links

Documentation - https://swayamsahoo11742.github.io/

Documentation Source Code - https://github.com/SwayamSahoo11742/SwayamSahoo11742.github.io/

PyPi - https://pypi.org/project/scopul/

GitHub - https://github.com/SwayamSahoo11742/Scopul/

Credits

Thanks to Music21 and MuseScore for making this possible

Contact or Help us!

If you have any questions, kindly send an email to [email protected]. If you have any suggestions or would like to contribute to the improvement of the code, including efficiency and best practices, feel free to reach out to me via email or create a pull request. I most likely won’t be actively adding and developing this project, but I will still implement any sugegstions that are fit.

Thank you very much!

scopul_midi's People

Contributors

swayamsahoo11742 avatar dodo11742 avatar kianmeng 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.