NAME
Music::Interval::Barycentric - Compute barycentric musical interval space
VERSION
version 0.0301
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
From the Amazon link below:
"An intervallic representation of the chord leads naturally to a discrete barycentric condition. This condition itself leads to a convenient geometric representation of the chordal space as a simplicial grid.
Chords appear as points in this grid and musical inversions of the chord would generate beautiful polyhedra inscribed in concentric spheres centered at the barycenter. The radii of these spheres would effectively quantify the evenness and thus the consonance of the chord."
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.