NAME
Music::Interval::Barycentric - Compute barycentric musical interval space
VERSION
version 0.0300
SYNOPSIS
use Music::Interval::Barycentric;
my @chords = ([3, 4, 5], [0, 4, 7]);
print 'Barycenter: ', join(', ', barycenter(3)), "\n";
printf "Distance: %.3f\n", distance($chords[0], $chords[1]);
print 'Evenness index: ', evenness_index($chords[0]), "\n";
print 'Orbit distance: ', orbit_distance(@chords), "\n";
print 'Forte distance: ', forte_distance(@chords), "\n";
DESCRIPTION
Barycentric chord analysis
FUNCTIONS
barycenter()
@barycenter = barycenter($n);
Return the barycenter (the "central coordinate") given an integer representing the number of notes in a chord.
distance()
$d = distance($chord1, $chord2);
Interval space distance metric between chords.
* This is used by the orbit_distance()
and evenness_index()
functions.
orbit_distance()
$d = orbit_distance($chord1, $chord2);
Return the distance from chord1
to the minimum of the cyclic permutations for chord2
.
forte_distance()
$d = forte_distance($chord1, $chord2);
Return the distance from chord1
to the minimum of the cyclic permutations and reverse cyclic permutations for chord2
.
cyclic_permutation()
@cycles = cyclic_permutation(@intervals);
Return the list of cyclic permutations of the given intervals.
evenness_index()
$d = evenness_index($chord);
Return a chord distance from the barycenter.
SEE ALSO
http://www.amazon.com/Geometry-Musical-Chords-Interval-Representation/dp/145022797X "A New Geometry of Musical Chords in Interval Representation: Dissonance, Enrichment, Degeneracy and Complementation"
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018 by Gene Boggs.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.