Music::ChordBot::Song - Generate ChordBot songs.
use Music::ChordBot::Song; song "All Of Me"; tempo 105; section "All Of Me 1"; style "Chicago"; C 4; C; E7; E7; A7; A7; Dm7; Dm7; E7; E7; Am7; Am7; D7; D7; Dm7; G7; section "All Of Me 2"; style "Swingatron"; C 4; C; E7; E7; A7; A7; Dm7; Dm7; Dm7; Ebdim7; Em7; A9; Dm7b5; G13; C 2; Ebdim7; Dm7; G7;
Music::ChordBot::Song exports a number of subroutines that can be used to construct a CordBot song. Upon program termination, the song is written out to standard output in JSON format, suitable for import into the ChordBot app.
Starts a new song with the given title.
Sets the tempo in beats per minute.
Starts a song section. A section groups a number of bars with chords. Each section can have a style associated although it is common to have a single style for the whole song.
Associate the given style to the current section. For a list of presets, see http://chordbot.com/style-lookup.php .
Append a chord with given key, type and duration. Note that duration is measured in number of beats. The three arguments may also be specified in a single string argument, space separated.
You can specify a bass note for the chord by separating the key and bass with a slash. E.g.,
"C/B" denotes a C chord with B bass.
For convenience, subroutines are exported for quick access to chords. So instead of
chord "C", "Maj", 4;
you can also write:
If you omit the duration it will use the duration of the previous chord:
C 4; C; F; G; # same as C 4; C 4; F 4; G 4;
The subroutine name is the key of the chord, optionally followed by a chord modifier. So
C is C major,
Cm is C minor, and so on.
Chord keys are A B C D E F G Ab Bb Db Eb Gb Ais Cis Dis Fis Gis.
Modifiers are m 7 m7 maj7 9 11 13 auf 7b5 m7b5 dim dim7.
There is currently NO VALIDATION of argument values. Illegal values will result in program crashes and songs that cannot be imported, or played, by ChordBot.