Invoking midi2ly - GNU LilyPond
Description: GNU LilyPond

Next: Invoking etf2ly, Up: Converting from other formats

### 14.1 Invoking `midi2ly`

`midi2ly` translates a Type 1 MIDI file to a LilyPond source file.

MIDI (Music Instrument Digital Interface) is a standard for digital instruments: it specifies cabling, a serial protocol and a file format. The MIDI file format is a de facto standard format for exporting music from other programs, so this capability may come in useful when importing files from a program that has a convertor for a direct format.

`midi2ly` converts tracks into Staff and channels into Voice contexts. Relative mode is used for pitches, durations are only written when necessary.

It is possible to record a MIDI file using a digital keyboard, and then convert it to `.ly`. However, human players are not rhythmically exact enough to make a MIDI to LY conversion trivial. When invoked with quantizing (`-s` and `-d` options) `midi2ly` tries to compensate for these timing errors, but is not very good at this. It is therefore not recommended to use `midi2ly` for human-generated midi files.

It is invoked from the command-line as follows,

    midi2ly [option]... midi-file

Note that by “command-line”, we mean the command line of the operating system. See Converting from other formats for more information about this.

The following options are supported by `midi2ly`.

`-a, --absolute-pitches`
  Print absolute pitches.
`-d, --duration-quant=`DUR
  Quantize note durations on DUR.
`-e, --explicit-durations`
  Print explicit durations.
`-h,--help`
  Show summary of usage.
`-k, --key=`acc`[:`minor`]`
  Set default key. acc > 0 sets number of sharps; acc < 0 sets number of flats. A minor key is indicated by ":1".
`-o, --output=`file
  Write output to file.
`-s, --start-quant=`DUR
  Quantize note starts on DUR.
`-t, --allow-tuplet=`DUR`*`NUM`/`DEN
  Allow tuplet durations DUR*NUM/DEN.
`-V, --verbose`
  Be verbose.
`-v, --version`
  Print version number.
`-w, --warranty`
  Show warranty and copyright.
`-x, --text-lyrics`
  Treat every text as a lyric.

##### Bugs

Overlapping notes in an arpeggio will not be correctly rendered. The first note will be read and the others will be ignored. Set them all to a single duration and add phrase markings or pedal indicators.

This page is for LilyPond-2.8.8 (stable-branch).

Other languages: English.
Using automatic language selection.