| Music::Chord::Namer(3pm) | User Contributed Perl Documentation | Music::Chord::Namer(3pm) |
Music::Chord::Namer - You give it notes, it names the chord.
use Music::ChordName qw/chordname/;
print chordname(qw/C E G/); # prints C
print chordname(q/C E G/); # same (yes, array or string!)
print chordname(qw/C Eb G Bb D/); # prints Cm9
print chordname(qw/G C Eb Bb D/); # prints Cm9/G
Music::ChordName optionally exports one sub, chordname, which accepts some notes as either a string or a list and returns the best chord name it can think of.
None by default.
# to print a bunch of guitar chord names with at lest 4 notes each,
# all below 5th fret...
foreach my $s1(qw/- E F Gb G Ab/){
foreach my $s2(qw/- A Bb B C Db/){
foreach my $s3(qw/- D Eb E F Gb/){
foreach my $s4(qw/- G Ab A Bb/){
foreach my $s5(qw/- B C Db D Eb/){
foreach my $s6(qw/- E F Gb G Ab/){
my @notes = ();
push @notes, $s1 unless $s1 eq '-';
push @notes, $s2 unless $s2 eq '-';
push @notes, $s3 unless $s3 eq '-';
push @notes, $s4 unless $s4 eq '-';
push @notes, $s5 unless $s5 eq '-';
push @notes, $s6 unless $s6 eq '-';
if(@notes >= 4){
print scalar(chordname(@notes)),' = ',join(' ',@notes),"\n";
}
}
}
}
}
}
}
Music::Image::Chord could be combined nicely with this module.
Jimi-Carlo Bukowski-Wills, jimi@webu.co.uk
Copyright (C) 2006 by Jimi-Carlo Bukowski-Wills
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.
| 2023-02-20 | perl v5.36.0 |