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 $ 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
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.
perldoc
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.
zsh-compdef
$fpath
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.
vov
bVII
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.
ly-fu
"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).
http://en.wikipedia.org/wiki/Forte_number
Music::AtonalUtil, Music::Chord::Positions, Music::LilyPondUtil, Music::Tension
Jeremy Mates, <jmates@cpan.org>
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.
To install App::MusicTools, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::MusicTools
CPAN shell
perl -MCPAN -e shell install App::MusicTools
For more information on module installation, please visit the detailed CPAN module installation guide.