GregHattJr / polyendtracker-midi-export

An effort to create a MIDI exporter for Polyend tracker project files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Polyend Tracker MIDI Export tool

MIDI conversion tool for Polyend Tracker project files written in Python.

If you just want to convert your Tracker project to MIDI you can use the Web Service: https://polyend-tracker-midi-export.onrender.com/

Disclaimer

I am in no way affiliated with Polyend. This is a hobby project.

Installation

pip install polyendtracker-midi-export

Usage

Polyend Tracker MIDI Export tool can be used as a command line utility or as a library that can be imported in your python projects.

Converting an entire Tracker project to MIDI

Just point the script to your project's directory:

$ polymidiexport ./my-tracker-project/ 

Alternatively point it to a project file:

$ polymidiexport ./my-tracker-project/project-file.mt 

Converting an individual Tracker pattern file to MIDI

Converting Polyend Tracker *.mtp pattern file to midi (pattern files are nested in project folders under patterns):

$ polymidiexport ./my-tracker-project/patterns/pattern_02.mtp 

Specifying custom output file name:

$ polymidiexport ./my-tracker-project/patterns/pattern_02.mtp ./my-midi-file.mid

Converting Polyend Tracker *.mtp pattern file to a text file (outputs a table view of the pattern similar to how you see it in Tracker UI):

:$ python polytracker2text.py ./my-tracker-project/patterns/pattern_02.mtp 

You can see an example of pattern text representation here

Usage in python projects

Import lib:

import polytrackermidi
from polytrackermidi.parsers import constants, project, patterns, arps, chords
from polytrackermidi.exporters import midi
#todo: describe API usage

Reverse Engineering

TODOs

  • Pattern file parsing
  • Render names for All FX types
  • Support rendering of all possible ranges of values for FXs
  • Pattern MIDI export
    • basic export
    • support for velocity (volume FX)
    • support for chord FX
      • make sure that all chord interval formulas are correct
    • support for arp FX
    • support for microtiming (micromove, m) FX
    • support for microtuning M fx (do midi files support that?)
    • cli tool for converting files
    • support for panning (it seems to be supported by midi )
  • Song arrangement MIDI export
    • export
    • extract BPM
    • cli tool for converting files
    • assign instrument names to midi tracks from instrument project files
  • PyPi package
  • conversion web servicehttps://polyend-tracker-midi-export.onrender.com/

About

An effort to create a MIDI exporter for Polyend tracker project files

License:MIT License


Languages

Language:Python 99.5%Language:Shell 0.5%