W3C Audiobooks specification

https://www.w3.org/TR/audiobooks/

If you want to produce an Audiobook according to the recently published W3C specification, you need:

  • an HTML primary entry page (PEP)
  • a JSON-LD manifest, which may be embedded inside the former
  • a table of contents (TOC), likely <nav role="doc-toc"> inside the primary entry page
  • a resource list
  • audio files
  • supplemental files like pictures

Sample Manifest

{
  "@context": [
    "https://schema.org", 
    "https://www.w3.org/ns/pub-context", 
    {"language": "%LANGUAGE%"}
  ],
  "conformsTo": "https://www.w3.org/TR/audiobooks/",
  "type": "Audiobook",
  "name": "%ALBUM%", 
  "url": "%WWW…%",
  "author" : {
    "type": "Person",
    "name": "%LYRICIST%"
  }
  "readBy": {
    "type": "Person",
    "name": "%ALBUMARTIST%",
    "id": "%WWWARTIST%"
  },
  "duration" : "PT%_total_time_raw%S",
  "readingOrder" : [{
      "type": "LinkedResource",
      "url": "%_filename_rel%",
      "encodingFormat": "%_mimetype%",
      "name": "%TITLE%",
      "duration": "PT%_length_seconds%S"
    }, {
    … // loop output 
  }], 
  "resources" : [
    {
      "type" : "LinkedResource",
      "url": "cover.jpg", 
      "rel": "cover"
    }, 
    "back.jpg", "spine.jpg", 
    "poster.jpg",
    "landscape.jpg",
    "banner.jpg", 
    "discart.jpg",
    "folder.jpg",
    "clearlogo.png",
    "clearart.png",
    "character.png",
    "icon.png",
    "booklet.pdf",
    {
      "type" : "LinkedResource",
      "url" : "sample.mp3",
      "rel" : "preview"
    }
  ]
}

I don’t think Mp3tag supports %_mimetype% for the media file yet (nor for the playlist).

The ISO 8601-1 notation for time periods can be constructed with an PT prefix and S suffix for the seconds, but it might be a good idea to introduce dedicated variables to output conformant strings like P2DT4H32M12S for roughly 52.5 hours.