Plain text song parser and chord transposer

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

This package is not auto-updated.

Last update: 2022-11-22 04:09:24 UTC


For transposing simple songs written as plain text with chords above the lyrics.


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 :)

	"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 = Transposer::parse($text, 'D');

echo $song->get_key_selector('song.php?key=');
echo $song;

For an example with chorus and simple css styling, see sample.php.


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