NAME

Music::Intervals::Numeric - Breakdown of numeric musical intervals

VERSION

version 0.0703

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) 2022 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.