NAME
Music::Intervals::Numeric - Mathematical breakdown of musical intervals
VERSION
version 0.0600
SYNOPSIS
use Music::Intervals::Numeric;
my $m = Music::Intervals::Numeric->new(
notes => [qw( 1/1 5/4 3/2 15/8 )],
size => 3,
freq => 1,
interval => 1,
cent => 1,
prime => 1,
);
print Dumper(
$m->frequencies,
$m->intervals,
$m->cent_vals,
$m->prime_factor,
);
DESCRIPTION
A Music::Intervals
object shows the mathematical break-down of musical intervals and chords.
This module reveals the "guts" of chords within a given tonality. By guts I mean, the measurements of the notes and the intervals between them, in just intonation.
ATTRIBUTES
cent
Show divisions of the octave
Default: 0
freq
Show frequencies
Default: 0
interval
Show note intervals
Default: 0
prime
Show prime factorization
Default: 0
size
Chord size
Default: 3
semitones
Number of notes in the scale
Default: 12
temper
Physical distance between notes
Default: semitones * 100 / log(2)
notes
The actual notes to use in the computation
Default: [ 1/1 5/4 3/2 ] (C E G)
The list of notes may be any of the keys in the Music::Intervals::Ratio ratio
hashref. This is very very long and contains useful intervals such as those of the common scale and even the Pythagorean intervals, too.
cent_vals
Computed hashref
frequencies
Computed hashref
intervals
Computed hashref
prime_factor
Computed hashref
ratios
Computed hashref
METHODS
new
$x = Music::Intervals->new(%arguments);
Create a new Music::Intervals
object.
dyads
Return pairs of the given combinations with fractional and pitch ratio parts.
ratio_factorize
Return the dyadic fraction as a prime factored expression.
SEE ALSO
For the time being, you will need to look at the source of Music::Intervals::Ratio
for the note and interval names.
https://github.com/ology/Music/blob/master/intervals
http://en.wikipedia.org/wiki/List_of_musical_intervals
http://en.wikipedia.org/wiki/Equal_temperament
http://en.wikipedia.org/wiki/Just_intonation
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 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.