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.