The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.