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.