The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Music::ScaleNote - Position of notes in a scale

VERSION

version 0.0102

SYNOPSIS

  use Music::ScaleNote;
  my $msn = Music::ScaleNote->new(
    scale_note => 'C',
    scale_name => 'pminor',
  );
  my $note = $msn->get_offset(
    note_name   => 'C4',
    note_format => 'ISO',
    offset      => 1,
  );
  print $note->format('ISO'), "\n"; # D#4

DESCRIPTION

A Music::ScaleNote object manipulates the position of notes in a given scale.

ATTRIBUTES

scale_note

This is the name of the note that starts the given scale_name.

Default: C

scale_name

See "SCALES" in Music::Scales for the possible names.

Default: major

METHODS

new()

  $msn = Music::ScaleNote->new(%arguments);

Create a new Music::ScaleNote object.

get_offset()

  $note = $msn->get_offset(%arguments);

Return a new Music::Note object based on the given note_name, note_format and offset.

SEE ALSO

Moo

List::Util

Music::Note

Music::Scales

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.