MIDI2MG(1)

πŸ’– MIDI2MG(1) πŸ’–

General Commands Manual ✨ (yes bestie, it's a whole section-1 manual page, we're fancy now)


🌸 NAME 🌸

midi2mg β€” the girl who takes a midi file and turns it into midge(1) text format. that's the whole job. she does it flawlessly.


πŸŽ€ SYNOPSIS πŸŽ€

midi2mg [ options ] midi_file

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: midi2mg reads a midi file, right, and then writes everything inside it out into a file in midge(1) text format. that's it. that's the arc. iconic behaviour honestly.

and the way she's so transparent about it β€” if she runs into any midi events she can't handle, she prints a message to stdout. no silent failures, no pretending. we love a communicative queen πŸ’….


✨ OPTIONS ✨

  • -h or --help β€” displays help text. she will explain herself. as she should 🫢.
  • -v or --verbose β€” prints verbose messages to stdout. she's a yapper and she's thriving.
  • -q or --quiet β€” quiet. no stdout. shutting up is also a skill bestie.
  • -o file or --outfile file β€” writes the output to file. otherwise she converts file.mid to file.mg. and if file is -, the output goes to stdout 🌈. heads up tho: when you're outputting to stdout, quiet mode gets automatically set β€” unless verbose mode was set earlier on the command line. so order matters, iykyk.
  • -w or --ignore-wrong-track β€” ignores MIDI events that show up on the wrong channel instead of exiting. instead of the dramatic walkout, she just... looks away πŸ™ˆ.
  • -n i[,j...] or --include-tracks i[,j...] β€” only converts the tracks in that comma separated list, and track numbers start from 1. yes bestie, 1. not 0. one.
  • -N i[,j...] or --exclude-tracks i[,j...] β€” converts all the tracks except the ones you listed in that comma separated list. the inverse vibe. the anti-slay, if you will.
  • -t n or --tuplet-factor n β€” an additional factor for files with odd note lengths, so they don't get translated as decimals. n should be a prime number greater than 3 ⭐.
  • -F or --no-factorise β€” does not factorise time values. lowkey a debugging move: this may help you decipher unusual tuplet values πŸ‘‘.

πŸ’€ BUGS πŸ’€

not everything is perfect, and we're gonna be honest about it:

  • does not correctly handle some text events 😭
  • does not handle SMTPE style tempo events
  • does not handle changes of tempo/time_sig/key if these are on a separate tempo track
fr fr read those before you come for her. she told you. transparency queen 🫢

🌈 SEE ALSO 🌈

midge(1)


πŸ’œ AUTHOR πŸ’œ

David Riley <dave@dmriley.demon.co.uk> β€” thank you for your service, king πŸ‘‘


and that's the whole page bestie!! this one was dated 17 July 2006, so yeah, she's been out here converting midi files since before most of us could walk. timeless. legendary. periodt πŸ’…βœ¨πŸŽ€