NAME
atonal-util - routines for atonal composition and analysis
SYNOPSIS
Prime form and APIC vector for a pitch set:
$ atonal-util basic --ly f fis c
c cis fis
1 0 0 0 1 1
Apply a series of transformations to a pitch set:
$ cat rules
retrograde
invert 6
transpose 1
$ atonal-util recipe --file=rules --ly 0 11 3
4 8 7
DESCRIPTION
Routines for atonal music composition and analysis. Global options and an operating mode should be supplied, followed by any mode specific arguments and a pitch set. Pitch sets can be read as arguments or from standard input; some modes require two pitch sets that must be supplied one per line on standard input.
See also Music::AtonalUtil for more documentation.
OPTIONS
This script currently supports the following global command line switches:
- --flats
-
Uses flats instead of sharps in output (but only with --ly).
- --help
-
Displays help and exits.
- --listmodes
-
Displays supported operation modes.
- --ly
-
Show lilypond note names instead of raw pitch numbers.
- --scaledegrees
-
Adjust the number of scale degrees (default: 12).
MODES
Most all modes accept a pitch set (list of raw pitch numbers (0..number of scale degrees) or lilypond note names (bis, c, des, etc.) either on the command line or via standard input, though there are exceptions.
The gobal --ly and --flats can be specified as options to modes that emit pitches. See also Music::AtonalUtil for more documentation.
- basic pitch_set
-
Shows the prime_form and interval_class_content.
- circular_permute
-
See Music::AtonalUtil.
- complement
-
See Music::AtonalUtil.
- equivs
-
Equivalents under transposition and inverse transposition. An optional axis of inversion (default: 0, though some forms use 6) can be supplied.
- findin -P base_pitch_set pitches
-
Answers questions such as, given a base pitch set of
[0,3,7]
, and the notes d and bes, what pitch sets (via any transpose or transpose_invert operation) complete the base pitch set:$ atonal-util findin --ly --flats -P 0,3,7 d bes Ti(5) d,bes,f T(7) d,bes,g
- forte2pcs forte_number
-
Given a Forte Number, return the corresponding pitch set.
- forte2pcs fnums
-
Return a list of all Forte Numbers and corresponding pitch sets (and their interval_class_content), plus average tension, min tenion, and max tension via Music::Tension::Cope.
- interval_class_content
-
See Music::AtonalUtil.
- invariance_matrix
-
See Music::AtonalUtil.
- invariants
-
Returns list of transpose or transpose_invert operations that have invariant pitches with the supplied pitch set, along with which pitches have not varied.
- invert --axis=inversion_axis
-
See Music::AtonalUtil.
- multiply
-
See Music::AtonalUtil.
- normal_form
-
See Music::AtonalUtil.
- pcs2forte
-
Given a pitch set, returns the corresponding Forte Number, if any.
- pitch2intervalclass pitch
-
See Music::AtonalUtil.
- prime_form
-
See Music::AtonalUtil.
- recipe --file=recipefile
-
Apply a series of named operations from a batch file to a pitch set, for example:
retrograde invert 6 transpose 1
- retrograde
-
See Music::AtonalUtil.
- rotate
-
See Music::AtonalUtil.
- set_complex
-
See Music::AtonalUtil.
- subsets
-
See Music::AtonalUtil.
- tcis
-
See Music::AtonalUtil.
- tcs
-
See Music::AtonalUtil.
- tension pitch_set
-
Returns the average, min, max, and tension values for all the tensions in the passed pitch set, from the first notes in the set up to the last. (Via Music::Tension::Cope.)
- transpose
-
See Music::AtonalUtil.
- transpose_invert
-
See Music::AtonalUtil.
- variances
-
Accepts two pitch sets, one per line, via standard input.
- zrelation
-
Accepts two pitch sets, one per line, via standard input.
FILES
There is an associated _atonal-util
completion script for the Z-Shell (ZSH) that can assist with tab completion of options and modes.
BUGS
Reporting Bugs
If the bug is in the latest version, send a report to the author. Patches that fix problems or add new features are welcome.
http://github.com/thrig/Music-AtonalUtil
Known Issues
Poor naming conventions and standards of underlying music theory and any associated mistakes in understanding thereof by the author.
SEE ALSO
perl(1), Music::AtonalUtil
AUTHOR
Jeremy Mates
COPYRIGHT
Copyright (C) 2012 by Jeremy Mates
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.