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

NAME

Data::Dataset::ChordProgressions - Provide access to hundreds of possible chord progressions

VERSION

version 0.0301

SYNOPSIS

  use Data::Dataset::ChordProgressions qw(as_file as_list as_hash transpose);

  my $filename = as_file();
  my @data = as_list();
  my %data = as_hash();

  my $named = transpose('A', 'major', 'C-F-Am-F');

DESCRIPTION

Data::Dataset::ChordProgressions provides access to hundreds of possible 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 type of progression, depending on song position. 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 data filename location.

as_list

  @data = as_list();

Return the data as an array.

as_hash

  %data = as_hash();

Return the data as a hash.

transpose

  $named = 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'

AUTHOR

Gene Boggs <gene@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 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.