midi-m8

A command line tool for turning Dirtywave M8 songs into Midi tracks.

Installation

Precompiled 64 bit binaries for Linux and Windows can be found in the Releases. Download them and run them from the command line.

To compile your own version:

  1. install the Rust toolchain
  2. $ git clone https://github.com/AlexCharlton/midi-m8.git
  3. $ cd midi-m8; cargo build -r

You'll now have a binary in the ./target/release/ directory.

Usage

``` Usage: midi-m8 [OPTIONS]

Arguments: Input (.m8s) file

Options: -t, --output Output file name [default: tracks.midi] -g, --global-transpose How to map M8 note numbers to Midi Note numbers [default: 36] -n, --only-track Only output track number (1-8) -m, --max-note-length Cap the maximum note length to this value in quarter notes --track-1-max-note-length Cap the maximum note length for track 1 to this value in quarter notes --track-2-max-note-length Cap the maximum note length for track 2 to this value in quarter notes --track-3-max-note-length Cap the maximum note length for track 3 to this value in quarter notes --track-4-max-note-length Cap the maximum note length for track 4 to this value in quarter notes --track-5-max-note-length Cap the maximum note length for track 5 to this value in quarter notes --track-6-max-note-length Cap the maximum note length for track 6 to this value in quarter notes --track-7-max-note-length Cap the maximum note length for track 7 to this value in quarter notes --track-8-max-note-length Cap the maximum note length for track 8 to this value in quarter notes -h, --help Print help -V, --version Print version ```

Or in other words, point the command at a .m8s file, and you'll get a multi-track Midi file in return. You should be able to drag these Midi files into your DAW.

Possible features

That are not currently supported: - Time signatures - Tempo - Table support - Respect sequencer commands (other than GRV) - Respect scales - Configurable channels - Instrument (program) changes - CC support