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 |