NAME
ScaleVec - A flexible yet accurate music representation system.
SYNOPSIS
use ScaleVec;
my ScaleVec $major-scale .= new( :vector(0, 2, 4, 5, 7, 9, 11, 12) );
# Midi notes 0 - 127 with our origin on middle C (for most midi specs)
use ScaleVec::Scale::Fence;
my ScaleVec::Scale::Fence $midi .= new(
:vector(60, 61)
:repeat-interval(12)
:lower-limit(0)
:upper-limit(127)
);
# A two octave C major scale in midi note values
say do for -7..7 {
$midi.step: $major-scale.step($_)
}
DESCRIPTION
Encapsulating the power of linear algebra in an easy to use music library, ScaleVec provides a way to represent musical structures such as chords, rhythms, scales and tempos with a common format.
CONTRIBUTIONS
To contribute, head to the github page: https://github.com/samgwise/p6-ScaleVec
AUTHOR
Sam Gillespie
COPYRIGHT AND LICENSE
Copyright 2016 Sam Gillespie
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.