geekality/transposer

Plain text song parser and chord transposer

v1.7 2021-09-27 22:13 UTC

This package is auto-updated.

Last update: 2024-03-15 10:35:17 UTC


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.

Creative Commons License