This document provides a draft version of Incorporating Synchronized Narration into a Publication Manifest.
This draft is still under consideration within the Synchronized Media for Publications Community Group and is subject to change. The most prominent issues will be referenced in the document with links provided.
The Synchronized Narration document covers how to associate Synchronized Narration with an HTML document, by pointing to it from within the HTML document itself. This document shows how to incorporate Synchronized Narration at the Publication Manifest level. Reasons for wanting to do this include:
Terms with meanings specific to the publishing industry are capitalized in this document (e.g., "Reading System"). A complete list of these terms and definitions is provided in [[wpub]].
Only the first instance of a term in a section is linked to its definition.
In addition, the following terminology is defined for use in this specification:
Issue #16: add packaging terminology
Issue #15: clarify packaging rules
A Synchronized Narration document may be associated with a reading order entry in a Publication Manifest. This
is done by creating a LinkedResource object for the Synchronized Narration document and adding it to the reading
order entry's alternate
property:
{ "readingOrder": [ { "url": "html/c001.html", "alternate": { "type": "LinkedResource", "url": "narration1.json", "encodingFormat": "application/vnd.syncnarr+json", "duration": "10000s" } }, ... ] ... }
A synchronized narration document is a LinkedResource and uses the following properties:
duration
: as in AudiobooksencodingFormat
: [application/vnd.syncnarr+json](narration.html#mimetype)readBy
: as in Audiobooksurl
: as in pub manifestIssue #17: Add more manifest examples
An audio book can add Synchronized Media resources to enable phrase-by-phrase playback:
{ "@context" : ["https://schema.org", "https://www.w3.org/ns/pub-context"], "type" : "Audiobook", "url" : "https://publisher.example.org/janeeyre", "name" : "Jane Eyre", "readingOrder" : [{ "type" : "LinkedResource", "url" : "audio/part001.wav#0", "encodingFormat" : "audio/vnd-wav", "name" : "Chapter 1", "duration" : "457.931", "alternate" : { "type": "LinkedResource", "url": "sync-media/part001-1.json", "encodingFormat" : "application/vnd.syncnarr+json" } }, { "type" : "LinkedResource", "url" : "audio/part001.wav#457.932", "encodingFormat" : "audio/vnd-wav", "name" : "Chapter 2", "duration" : "234.245", "alternate" : { "type": "LinkedResource", "url" : "sync-media/part001-2.json", "encodingFormat" : "application/vnd.syncnarr+json" } }] }
This is a hypothetical example based on TODO
{ "@context": ["https://schema.org", "https://www.w3.org/ns/wp-context"], "url": "https://publisher.example.org/mobydick", "author": "Herman Melville", "dateModified": "2018-02-10T17:00:00Z", "readBy": "Someone", "duration": "20000s", "sync-media-css-class-active": "-my-active-element", "sync-media-css-class-playing": "-my-document-playing", "readingOrder": [ { "url": "html/c001.html", "alternate": [{ "type": "LinkedResource", "url": "narration1.json", "encodingFormat": "application/vnd.syncnarr+json", "length": "10000s" }] }, { "url": "html/c002.html", "alternative": [{ "type": "LinkedResource", "url": "narration2.json", "encodingFormat": "application/vnd.syncnarr+json", "length": "10000s" }] } ] }