Lianes8 StudioGames
TIED TO THE BEAT

LRC format reference

LRC is a simple text format: one lyric line per row, each prefixed with a timestamp. Tied to the Beat uses the standard spec plus a couple of optional game-specific tags.

The basic timestamp

[mm:ss.xx] lyric text here
  • mm: minutes, two digits (00 to 59)
  • ss: seconds, two digits (00 to 59)
  • xx: hundredths of a second, two digits (00 to 99)

Some editors export three-digit milliseconds (mm:ss.xxx): that works too. Both are read correctly by the game.

Example

[00:12.09] Boom, boom, hear the bass, feel it shake the whole wide place[00:17.04] Clap your hands and stomp your feet, techno kids bring all the heat[00:26.15] Be so deep, it makes us fly[00:30.08] Jump so high, we touch the sky[00:33.74] Sing together, one, two, three

Metadata header (optional)

At the top of your file you can include ID tags. All are optional (the game auto-fills title/artist from MP3 tags) but including them in the LRC helps external tools and makes your file self-contained.

[ti:Bass Boom Kids][ar:Lilex][al:Workshop bootstrap][length:03:30][by:community_creator_name][la:en][offset:0][source:https://pixabay.com/music/...][license:Pixabay License] [00:12.09] Boom, boom, hear the bass, feel it shake the whole wide place[00:17.04] Clap your hands and stomp your feet, techno kids bring all the heat
TagMeaningRequired?
[ti:...]Song titleNo, read from MP3
[ar:...]ArtistNo, read from MP3
[al:...]AlbumNo
[length:mm:ss]Total durationNo
[by:...]LRC author / creatorNo
[la:xx]ISO language code (en, es, ja, …)Yes: affects word→effect dictionary
[offset:±ms]Global shift in milliseconds (negative = earlier)No
[source:URL]Where the audio came from: direct link (Pixabay page, CC recording, your own upload, etc.)Yes: required on Workshop for uploads not composed by you
[license:NAME]Short license name: Pixabay License, CC0, CC-BY 4.0, Public Domain, Own recording, …Yes: when [source:] is present

Instrumental markers

Songs have solos, intros, outros, and breaks: parts with no vocals. Mark them explicitly with [instrumental] so the game triggers a special instrumental wave instead of falling back to default spawns:

[00:00.00] [instrumental][00:12.40] First verse starts here[01:45.20] And the chorus repeats[02:30.00] [instrumental][02:58.50] Final chorus

[instrumental] is the only marker the game reads. Other conventions you may have seen in karaoke apps ([solo], [intro], [outro], [♪], etc.) are not recognized: map all of them to [instrumental] when converting from another format. The game also accepts the localized form for your language: in this catalog, that's the bare word "Instrumental" (no brackets) which the lyrics editor inserts automatically.

Supported languages (30)

Use the language code (matching the game's catalog) in the [la:...] tag:

en: English
es-ES: Spanish (Spain) · Español
es-419: Spanish (Latin America)
fr: French · Français
it: Italian · Italiano
de: German · Deutsch
pt-BR: Portuguese (Brazil)
pt-PT: Portuguese (Portugal)
nl: Dutch · Nederlands
pl: Polish · Polski
cs: Czech · Čeština
hu: Hungarian · Magyar
ro: Romanian · Română
bg: Bulgarian · Български
uk: Ukrainian · Українська

ru: Russian · Русский
el: Greek · Ελληνικά
tr: Turkish · Türkçe
da: Danish · Dansk
no: Norwegian · Norsk
sv: Swedish · Svenska
fi: Finnish · Suomi
ja: Japanese · 日本語
ko: Korean · 한국어
zh-Hans: Chinese Simplified · 简体中文
zh-Hant: Chinese Traditional · 繁體中文
th: Thai · ไทย
vi: Vietnamese · Tiếng Việt
id: Indonesian · Bahasa Indonesia
ar: Arabic · العربية

Why the language matters. The game maps specific words to specific gameplay effects: fire, ice, rain, lightning, love, dark, etc. Each language has its own curated dictionary. The wrong language tag means words won't trigger the right effects and your track will feel flat.

Common mistakes

  • Missing leading zeros: [0:12.4] breaks some parsers. Always pad to [00:12.40].
  • Wrong encoding: save as UTF-8, never ANSI. Non-Latin characters turn into ??? otherwise.
  • Blank lines with timestamps: [01:23.00] with no text is treated as end-of-line, which collapses pacing. Use [01:23.00] [instrumental] instead.
  • Duplicate timestamps: two lines with the same [mm:ss.xx]. The second one is ignored.
  • Non-monotonic timestamps: each line should start after the previous one. Going back in time confuses the game.

A complete working example

This is the exact format of the Workshop's bootstrap item Bass Boom Kids: the reference every upload follows:

[ti:Bass Boom Kids][ar:Lilex][al:Workshop bootstrap][la:en][length:03:30][by:Lilex][offset:0][source:https://pixabay.com/es/music/melod%c3%adas-para-ni%c3%b1os-felices-bass-boom-kids-425502/][license:Pixabay License (free commercial use, no attribution required)][genre:electronic][ve:1] [00:00.00] [instrumental][00:12.09] Boom, boom, hear the bass, feel it shake the whole wide place[00:17.04] Clap your hands and stomp your feet, techno kids bring all the heat[00:20.42] [instrumental][00:26.15] Be so deep, it makes us fly[00:30.08] Jump so high, we touch the sky[00:33.74] Sing together, one, two, three[00:36.84] This is our kids' melody

Made by the Tied to the Beat community · Discord