NAME
Music::Dataset::ChordProgressions - Provide access to hundreds of chord progressions
VERSION
version 0.0400
SYNOPSIS
use Music::Dataset::ChordProgressions qw(as_file as_list as_hash transpose);
my $filename = as_file();
my @data = as_list();
my %data = as_hash();
my $transposed = transpose('A', 'major', 'C-F-Am-F');
DESCRIPTION
Music::Dataset::ChordProgressions
provides access to hundreds of musical chord progressions in five genres: blues
, country
, jazz
, pop
and rock
. Each has progressions in keys of C major
and C minor
.
Each of these is divided into a named type
of progression. Take these types with a grain of salt. They may or may not be meaningful...
The named chords are meant to match the known chords of Music::Chord::Note (listed in the source of that module).
There are a few odd chord "progressions" like "Eb7-Eb7-Eb7-Eb7","III-III-III-III"
. Strange...
I stumbled across this list, saved it on my hard-drive for a long time, and then forgot where it came from! Also the documentation in the original list said nothing about who made it or how. :\
FUNCTIONS
as_file
$filename = as_file();
Return the chord progression data filename location.
as_list
@data = as_list();
Return the chord progression data as an array.
as_hash
%data = as_hash();
Return the chord progression data as a hash.
transpose
$transposed = transpose($note, $scale, $progression);
Transpose a progression in the key of C
to the given note and scale.
The progression must be a string of hyphen-separated chord names. For example: 'C-F-Am-F'
SEE ALSO
The t/01-functions.t and eg/* files
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021-2023 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.