NAME
Music::Chord::Progression - Create network transition chord progressions
VERSION
version 0.0003
SYNOPSIS
use Music::Chord::Progression;
my $prog = Music::Chord::Progression->new;
my $notes = $prog->generate;
DESCRIPTION
Music::Chord::Progression
creates network transition chord progressions.
ATTRIBUTES
max
The maximum number of chords to generate.
Default: 8
net
The network transitions between chords of the progression.
Default:
{ 1 => [qw( 1 2 3 4 5 6 )],
2 => [qw( 3 5 )],
3 => [qw( 2 4 6 )],
4 => [qw( 1 2 3 5 )],
5 => [qw( 1 )],
6 => [qw( 2 4 )] }
chords
The chord name parts of each scale position.
The number of items in this list must be equal and correspond to the number of keys in the net.
Default: [ '', 'm', 'm', '', '', 'm' ]
scale_name
The name of the scale.
Default: major
scale_note
The name of the scale starting note.
Default: C
octave
The octave number of the scale.
Default: 4
tonic
Whether to start the progression with the tonic chord or not.
Default: 1
resolve
Whether to end the progression with the tonic chord or not.
Default: 1
flat
Whether to use flats instead of sharps in the chords or not.
Default: 0
graph
The network transition graph.
Default: Graph::Directed
verbose
Show the progress of the generate method.
METHODS
new
$prog = Music::Chord::Progression->new;
$prog = Music::Chord::Progression->new(
net => { 1 => [...], ... },
chords => ['m','','m','m','',''],
scale_name => 'minor',
scale_note => 'A',
octave => 5,
);
Create a new Music::Chord::Progression
object.
generate
Generate a new chord progression.
SEE ALSO
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020 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.