Timeline Notation
JSON v0.1

This is a draft for feedback purposes.

Top level

timelineVersion (required, integer) is the Timeline Notation JSON spec that the file uses.

rssFeed (optional, string) is the URL of the RSS feed that this timeline is associated with. This gives an application a way to associate this timeline file with a podcast.

rssItemGUID (optional, string) is GUID for the episode in the RSS feed. Every episode in an RSS feed has a <guid> element within an <item> element. Applications can use this to associate the timeline with an episode in the RSS feed.

audioDuration (optional, integer) is the duration of the audio file in milliseconds. This is should match the audio file that was used when this timeline file was assembled, but won't necessarily match the audio file that is ultimately downloaded by the end user. We recommend that applications compare audioDuration with the duration of the downloaded audio file supplied by the RSS feed. If the durations do not match, it is a sign that the timestamps will not align and so Elastic Timeline fingerprinting should be employed instead, if available.

title (optional, string) is the title of the audio program/episode.

annotations (optional, array) is a list of annotations to be placed on the timeline.

Annotations array

Each item in the annotations array represents a timestamped item on the timeline. All annotation items have:

timestamp (required, integer) is the time in the audio program that the annotation is attached to.

type (required, string) specifies the type of annotation. The valid values are annotation, chapterStart, music, transcript, quote and code.

The other possible properties annotations depend on the type.

Type: annotation

General purpose annotations. Can be used for images, links or descriptions of what's going on in the audio.

text (optional, string)

image (optional, object)

url (optional, string) is a URL to an image file.

caption (optional, string)

Type: transcript

Transcript annotations can be thought of as paragraphs in a transcript. Generally there should be a new transcript annotation any time the speaker changes.

text (optional, string) is a paragraph or block of text.

Type: chapterStart

Signal the beginnings of major segments in the audio program.

title (required, string)

summary (optional, string)

image (optional, object)

url (required, string) is a URL to an image file.

caption (optional, string)

Type: music

Display info about the music being played.

artist (optional, string)

title (optional, string)

image (optional, object)

url (required, string) is a URL to an image file.

Type: quote

The quote annotation type is used for magazine-like pull quotes.

text (required, string) is the quoted text. Should not include quotation marks.

attribution (optional, string) is the name of the person being quoted.

Type: code

Used for "embed" HTML code. This feature should only be used when there is no other suitable option.

code (required, string) may contain HTML, CSS or JavaScript.