NAME
App-MusicTools - command line utilities for music composition and analysis
SYNOPSIS
$ atonal-util --ly findin --pitchset=5-25 c e g
Ti(0) c,e,g,a,ais
T(4) c,e,g,fis,a
$ 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
DESCRIPTION
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.
BUGS
As of Dec 2012, vov
is a bit buggy for some cases, such as bVII
, need to rework the triad building logic. For other bugs, send patches, as there are probably lots between my bad Perl and badder understanding of music theory.
SEE ALSO
http://www.lilypond.org/ and most notably the Learning and Notation manuals, as the tools make use of the default lilypond note letter conventions (e.g. fis for F sharp, ees for E flat, etc.)
ly-fu
expects that a MIDI player and PDF viewer are available on the system."The Structure of Atonal Music" by Allen Forte (ISBN 978-0-300-02120-2).
Theory of Harmony by Arnold Schoenberg (ISBN 978-0-520-26608-7).
Music::AtonalUtil, Music::Chord::Positions, Music::LilyPondUtil, Music::Tension
AUTHOR
Jeremy Mates, <jmates@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2012,2013 by Jeremy Mates
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.16 or, at your option, any later version of Perl 5 you may have available.