Jeremy Mates


App-MusicTools - command line utilities for music composition and analysis


  $ atonal-util --ly findin --pitchset=5-25 c e g
  Ti(0)   c,e,g,a,ais
  T(4)    c,e,g,fis,a

  $ canonical --contrary --retrograde modal c f g e c
  c g, f, a, c

  $ canonical modal --input=dorian --output=locrian d e f g a b c
  d dis f g gis ais c

  $ harmonic-fit f e ees d g aes ges b c a bes des

  $ export MIDI_EDITOR=timidity
  $ ly-fu --instrument=banjo c des ees c des bes c aes

  $ scalemogrifier --mode=mixolydian --transpose=fis
  fis gis ais b cis dis e fis'

  $ varionator '(I I6) (II IV II6 IV6) (V V7 III) I'

  $ vov --outputtmpl='<%{chord}> \t% %{vov}' I IV/IV V7/IV IV V7 I
  <c e g>       % I
  <b dis f>     % IV/IV
  <c e g b>     % V7/IV
  <f a c>       % IV
  <g b d f>     % V7
  <c e g>       % I

And more!


This distribution contains various command line utilities related to music composition and analysis, brief examples of which are shown in the "SYNOPSIS", above. Run perldoc on the command name for additional documentation on how to use each tool, as several of the programs have many, many more options than shown here.

The zsh-compdef directory of this distribution includes ZSH completion scripts for the command line utilities. Install these files to a ZSH $fpath directory, and follow the ZSH documentation on setting up tab completion.


Probably lots. Send patches, as there are probably lots between my bad Perl and badder understanding of music theory.



thrig - Jeremy Mates (cpan:JMATES) <jmates at>


Copyright (C) 2012-2015 by Jeremy Mates

This module is free software; you can redistribute it and/or modify it under the Artistic License (2.0).