Working with Lyrics

Working with lyrics is one of the core functionalities of Stage Traxx. This section of the manual explains how to work with the integrated lyrics editor. You can access this editor from the Song Details screen by tapping on Edit Lyrics.


Stage Traxx only supports plain text lyrics. It is not possible to display formats like pdf or images.

The lyrics editor

The lyrics editor is basically a text editor with a special toolbar:

Lyrics Editor Toolbar

Tapping on the Bracket Icon icon is a shortcut to insert two brackets for entering chords or other tags described further below.

You can also control playback and select a playback position of the selected song and automatically insert time codes of the current playback time.

Adding Lyrics to Songs

Lyrics embedded in audio files

Stage Traxx will automatically detect and display lyrics embedded in the ID3 Tag of an audio file. You can use any tag editor to populate this tag before importing a file into Stage Traxx. I can recommend MP3Tag for Windows and Metadatics for macOS.

Lossless Audio and ID3 tags

If you want to use a lossless audio format, please note that only Apple Lossless supports embedded ID3 tags. It is not possible to embed lyrics into wav files.

You can edit embedded lyrics in the lyrics editor. Please note that once you change lyrics in the editor and save them, they will be stored in the Stage Traxx database and not in the audio file. You can revert back to the lyrics embedded in the file by tapping on the Refresh Icon button in the navigation bar.

Import from file

Stage Traxx can import lyrics from files in the lyrics editor. The following file formats are supported:

  • Plain text files (file suffix .txt)
  • PDF files (file suffix .pdf)
  • Word documents (file suffix .doc or .docx)
  • Pages documents (file suffix .pages)
  • RTF documents (file suffix .rtf)

To import lyrics tap on the Import Icon button in the navigation bar to open a file browser where you can select a file in one of the supported formats.

Sharing Lyrics

You can share lyrics via e-mail by tapping on the Share Icon button in the navigation bar. This will open a new e-mail window with the lyrics already inserted.

Using automatic scrolling

Stage Traxx automatically scroll lyrics during playback if you enable the Autoscroll Lyrics setting. The following sections describe the two modes that automatic scrolling supports.

Constant scrolling speed

This is the default operation mode for automatic scrolling. Stage Traxx will scroll lyrics synchronous to the song progress. The scrolling is linear and can be modified by adjusting the scrolling speed on the player screen. The speed is displayed in form of a modifier value.

By default the scrolling speed is set to 1.0. This means that you will see the bottom end of the lyrics when the song has finished playing. In most cases this is too slow. You want to see the last couple of lyrics lines some time before the song has finished playing.

A good practice to set the song speed is to select a song in the player, then move the song position slider roughly 75% to the end of the song. Now start the playback. Stage Traxx will start scrolling the lyrics to the calculated position according to the scrolling speed. While the song is still playing, modify the scrolling speed until you see the lyrics for the current song position.

The speed setting is remembered for each song. The setting is dependent on the font size. So you might need to modify it after selecting a different font size or switching to a different screen size.


Constant scrolling works best for songs which don‘t have long solo or instrumental parts. If you encounter a song with a large instrumental part, you will need to insert blank lines into your lyrics in the place where the instrumental part resides.

Time coding lyrics

The second option is to embed time codes into your lyrics. The player will automatically switch to the time coded operation mode if it detects a time code in the lyrics. Here is an example of a time code:


Every time code starts with [ followed by minutes and seconds and an optional millisecond value. Every value needs to have 2 digits. The timecode is terminated by ].

This time code is basically the same format as used in standard LRC-formatted lyrics. Most LRC-lyrics should work fine in Stage Traxx.

To help you add time code to your lyrics, the lyrics editor has an embedded song player and a button to place the current playback time at the cursor position:

Time Coded Lyrics

To time code your lyrics, place the cursor at the beginning of the first line and start playback by tapping on the Play Button button above the keyboard. When the song reaches the current line, tap Add Time Code Button. This will insert the current time at the cursor position and move the cursor to the beginning of the next line containing lyrics.

With this feature, it is very easy to time code your lyrics. Just play the song one time through and place time codes at the appropriate positions.


You don't need to place a time code at the beginning of every line. Setting a time code at the start of each part of a song might also work for you.

You can remove all time codes with the button Remove Time Code Button.

When you download time coded lyrics, it might be necessary to adjust the timing of all lyrics by a certain amount. You can do this by adding the following line anywhere in your lyrics:


The offset command will tell Stage Traxx to add the specified number of milliseconds to every timestamp in your lyrics during playback. In the above example 10 seconds will be added to every timestamp. You can also subtract time by specifying a negative amount:


The above command will subtract 10 seconds form every timestamp.

Adding Chords

You can embed chords into your lyrics using ChordPro notation or placing them in a separate line above your lyrics.

With ChordPro notation you write chords in square brackets directly in your lyrics. For example:

[Bm]Like the legend of the [Dmaj7]phoenix

Stage Traxx will make sure that chords appear above the word where you placed them in your lyrics. The above example will be displayed like this in Stage Traxx:

Bm                     Dmaj7
Like the legend of the phoenix


Please make sure that each line of your lyrics will fit into a single line in the lyrics viewer. If the line is too long, chords will not line up with your lyrics.

You can also place chords manually in a line above the lyrics. But keep in mind that this will only work if you use a fixed width font. If you select the fixed width font option in the settings dialog, both the lyrics viewer and editor will use a fixed width font to help you with the placing of chords.

The lyrics viewer will detect lines containing only chords and highlight them with a different color so that you can distinguish them at a glance from your lyrics.

Control MIDI devices

It is possible to send MIDI commands to connected devices. MIDI commands have to be embedded into song lyrics. You can define MIDI commands anywhere in the lyrics. Each MIDI block has to be defined in a single line.

There are two ways to specify what MIDI commands to send. If you want to send MIDI commands when a song is loaded, you need write the following tag anywhere in your lyrics:

[midi: ...]

You can also define MIDI commands that will be sent during playback once the playback reaches a certain time during playback. In this case you need to specify the timecode when to send the midi commands in the same format as the usual lyrics timecode:

[midi@01:34.10: ...]

The above tag will send MIDI data at 1 minute 34 seconds and 100 milliseconds.

You can have as many midi tags embedded as you like. Without the timecode, all midi commands will be aggregated and sent when the song is loaded or the playback reached the defined timestamp.

Each tag can contain multiple MIDI commands. Each command is separated by a comma or semicolon. Each MIDI command has the following format:


The following table describes the format of all supported MIDI commands:

Description Prefix Example Value Sub-value Channel
Program Change PC PC125@10 PC1.5@1 Program change number 0 - 127 Optional bank number 0 - 127. Will send bank select messages CC0 and CC32 before program change. 1 - 16
Control Change CC CC7.90@2 Controller number 0 - 127 Controller value 0 - 127 1 - 16
Note On / Off N N83@1 N83.0@1 Note number 0 - 127 Optional velocity 0 - 127 with 0 equals note off. If omitted, 127 will be sent. 1 - 16
Song Select SS SS87 Song number 0 - 127 - -
Start START START - - -
Stop STOP STOP - - -

You always need to specify all values described in the above table except for table cells marked with '-' and optional values.

Let’s take a look at a real world example. When the song loads, we want to send song select with the number 10, change the patch on channel 1 to 30 and switch channel 2 to bank 2 and program 20. When the song starts (at the time 00:00.00), we want to send midi start. Then when the chorus begins at 01:20.00, we want to switch the program on channel 1 to 5. After the chorus at 01:50.00, the program on channel 1 should be switched back to 30. To achieve this, you need to add the following midi tags to your song:

[midi: SS10,PC30@1,PC20.2@2]
[midi@00:00.00: START]
[midi@01:20.00: PC5@1]
[midi@01:50.00: PC30@1]