Emby Emby Emby Learn
  • Emby Home
  • Video
  • Audio
  • Media Files
    • Subtitles and captions
    • Photos and images
    • Metadata and discovery
    • Libraries and media collections
    • Playback and streaming
    • Media hardware acceleration
    • Displays and AV connections
    • Live TV and recording
  1. Emby Learn
  2. Subtitles and captions
  3. Text rendering and styling
  4. Fonts and typesetting
  5. Karaoke subtitle timing
Search Results for

    Show / Hide Table of Contents

    Karaoke subtitle timing

    Karaoke subtitle timing controls changes within a displayed line, using syllable durations and highlight behavior relative to its event interval.

    Karaoke timing changes the appearance of parts of a subtitle line while the line remains displayed. The timing usually corresponds to syllables or other authored units of speech/music.

    The word “karaoke” does not imply that a subtitle engine discovered the syllables automatically. The resource contains authored timing instructions, and the renderer evaluates them within the event.

    ASS durations accumulate within the event

    Consider an original ASS event starting at 12.5 seconds and ending at 15 seconds. Its text excerpt is:

    {\k30}Meet {\k40}me {\kf80}outside.
    

    The \k family uses centiseconds: 100 units = one second. The tags in this example specify 0.3, 0.4 and 0.8 seconds.

    Without an explicit alternative start instruction, each tagged unit begins after the preceding units' durations:

    Unit Relative interval Programme interval
    Meet 0.0–0.3 s 12.5–12.8 s
    me 0.3–0.7 s 12.8–13.2 s
    outside. 0.7–1.5 s 13.2–14.0 s

    The total authored highlight sequence is 1.5 seconds. The whole event lasts 2.5, leaving another second after those highlights have completed.

    Three highlight intervals run inside one longer event; the final word sweeps from secondary to primary colour during its own interval.

    This is an invented timing example, not an analysis of a recording.

    Step and sweep have different visual behavior

    Tag Behavior in the documented ASS model
    \k A unit changes from secondary to primary fill when its highlight interval starts
    \kf or \K Fill sweeps from secondary to primary from left to right over the unit's duration
    \ko Step-like fill behavior, with the pre-highlight outline treated differently

    For the final word's 0.8-second sweep, programme time 13.6 is 0.4 seconds after its start at 13.2. In the ideal linear sweep, it is 50% through that word's sweep.

    That percentage refers to the progression across the rendered unit. It is not a claim that half its Unicode code points have independent highlight times. Shaping and glyph widths determine the visual surface being swept.

    The tag names are case-sensitive: uppercase \K and lowercase \k describe different behavior.

    Cue timing and internal timing are separate quantities

    ASS event timestamps commonly use hundredths of a second. Karaoke durations use centiseconds too, but describe relative lengths. Motion and several other override arguments use milliseconds. Similar-looking numbers can therefore have different roles or units.

    Moving the whole event by a constant +0.8-second offset moves the highlights with it; their relative durations need not change.

    A rate transformation is different. Extending only the event's end leaves the original internal highlights running at their original relative pace.

    A 1.1× time expansion

    Suppose the entire presentation is retimed by new time = 1.1 × old time. The event becomes 13.75–16.5 seconds, and its internal durations should become:

    Original tag duration Expanded duration New unit interval
    30 cs 33 cs 13.75–14.08 s
    40 cs 44 cs 14.08–14.52 s
    80 cs 88 cs 14.52–15.40 s

    The completed highlight sequence now lasts 1.65 seconds, followed by 1.1 seconds of the event's remaining display time.

    Keeping 30/40/80 would finish the highlight sequence at 15.25 seconds, rather than 15.40. The outer event would have the new lifetime while its internal presentation had the old rate.

    A real conversion also needs a rounding policy when scaled durations are not whole centiseconds. Its cumulative result should be compared with the intended anchors rather than rounding each unit without inspecting the total.

    The renderer needs the instructions, not just the sentence

    WebVTT has its own timed-text and past/future cue mechanisms; that is another presentation model rather than a literal interpretation of ASS tags. Converting the example to simple SRT can retain “Meet me outside.” and the overall interval without retaining the authored highlight sequence.

    For an Emby route using styled karaoke subtitles, the consumer must receive the supported event instructions and resources. A plain-text caption of the same words does not establish that the internal timing survived.

    See Also

    • Advanced SubStation Alpha subtitles (ASS)
    • Subtitle timing drift
    • Subtitle format conversion
    • Unicode in subtitles

    References

    • Aegisub: ASS override tags
    • libass: ASS file format guide
    • W3C WebVTT, May 2026 Candidate Recommendation Draft
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top