geekality / transposer
Plain text song parser and chord transposer
v1.7
2021-09-27 22:13 UTC
Requires
- php: >=5.3.0
Suggests
- geekality/timer: Tracks time and memory usage while transposing.
README
For transposing simple songs written as plain text with chords above the lyrics.
Install
If you're using Composer, which you really should, simply require the package
geekality/transposer in your composer.json
. Otherwise download
and include as per usual :)
"require":
{
"geekality/transposer": "1.*",
},
Example usage
// song.php
$text = <<<SONG
D G D
Be thou my vision, oh Lord of my heart
A G A
Naught be all else to me, save that thou art
G D/F♯ Bm G A
Thou my best thought, by day or by night
Bm F♯m G A D
Waking or sleeping, thy presence my light
D G D
High King of heaven, my victory won
A G A
May I reach heaven's joys, O bright heaven's sun
G D/F♯ Bm G A
Heart of my own heart, whatever befall
Bm F♯m G A D
Still be my vision, O ruler of all
SONG;
$song = Transposer::parse($text, 'D');
if(isset($_GET['key']))
$song->transpose($_GET['key']);
echo $song->get_key_selector('song.php?key=');
echo $song;
For an example with chorus and simple css styling, see sample.php.
License
This work is licensed under the Creative Commons Attribution 3.0 Unported License. To view a copy of this license, visit Creative Commons Attribution 3.0 Unported License.