Skip to content

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

License

Notifications You must be signed in to change notification settings

DataGreed/polyendtracker-midi-export

Folders and files

NameName
Last commit message
Last commit date

Latest commit

926fb62 · May 10, 2022

History

79 Commits
Apr 6, 2022
May 10, 2022
Apr 1, 2022
Jan 16, 2022
Jan 16, 2022
Jan 18, 2022
Apr 6, 2022
Apr 5, 2022
Apr 5, 2022
Apr 5, 2022
Jan 18, 2022
Apr 14, 2022
Jan 18, 2022
Apr 5, 2022

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published