Preparing document for Import & Sync


I have a project to synchronize an ePub of the bible with pre-recorded audio. My question is what is the best way to adapt the xhtml so that I can use my own sync points and not those that Tobi chooses to use. I want to sync at the verses and not at the paragraphs. I have a way of syncing up the pre-recorded audio with a generated smil file that Tobi produces using TTS. I have done some experiments creating a html file importing it into Tobi running the TTS and exporting it, then I can re-sync it to the generated sync points with the human voice audio and replace the audio with that. But with this project I need to set the sync points and also if possible keep html code that won't be used for this purpose, but might be required in the final ePub3. I have tried putting this code in <!-- comments --> and also in <![CDATA[]]> but both these were stripped out in the exported xhtml file. I could possible merge the two docs back together, but if there is a way to keep it in the file this would be easier as I'm sure you understand.
so any ideas to help would be appreciated!

Dear Paul,

What I understood from your comment is that you want to synchronize an existing EPUB 3 file with pre-recorded audio using Tobi. You want to synchronize the audio at the level of verses but the EPUB 3 file is marked up at the level of paragraphs.

Please note that Tobi presently acts as a re-purposing tool and it does not allow any structure editing. Therefore, the document that you are importing into Tobi must contain all the synchronization points - headings, paragraphs, sentences, pages etc. that you need.

In your case I am afraid you either need to edit the EPUB 3 very carefully and mark it up at the level of verses and then again save it as valid EPUB 3 or else you can pick up all the text and create a new DTBook file for importing into Tobi.

Note that you can unzip the EPUB file and manually edit the XHTML files inside and then again create the EPUB 3 package. However, this process is tricky and I am not able to guide you to a tool that will do it easily for you. Tobi can also import a stand alone HTML 5.0 file if you can create one with required markup.

The second way is to copy all the text into Microsoft Word and after appropriate markup use Save as DAISY to create DAISY 3 or DTBook XML file and then import it into Tobi. There are enough tutorials available on DAISYpedia to guide you through this process. Also checkout the Tobi video playlist on YouTube.

For the benefit of others do let us know which process you adopt and the results.

OK, It ended up just being the fact I was using INVALID ids. they began with a '1' and ids need to start with a letter!
I created another transform to create the text document with the verses as paras etc. which allowed the sync to work! and then I replaced the text document with the original + the sync points added and that seems to have worked except the TOC has stopped working, although the links are correct!
At the moment TOBI exports as one smil file. Is there a possibility this can have the option of a smil per heading as recommended by the EPub3 DAISY production group?

Hello Paul,


From a technical perspective, the EPUB3 Media Overlays standard does not allow a single XHTML5 file to be associated with multiple SMIL files, so strictly-speaking the "one SMIL per document heading" authoring guideline is not valid. However, the reverse is allowed (i.e. a single SMIL file used to synchronise multiple HTML documents).

Now, if by "heading" you mean "linked entry in the table of contents", then you may indeed prepare your XHTML fileset in advance (i.e. prior to starting the recording / synchronisation), by separating individual HTML documents according to a given logic (e.g. "chapter"). This will result in separate EPUB "spine items", each with their own exported SMIL file.


Note that Tobi automatically handles the presence or absence of XML identifiers. What really matters is that your initial markup (document structure) contains the level of granularity that matches your production requirements (e.g. paragraph versus sentence versus word levels). In Tobi, you can check the box "adjust synchronisation granularity" to make it easier to map audio with markup. This results in Tobi ignoring lower-level structures (e.g. word) and instead prioritizing higher-level structures (e.g. paragraph).


I hope this helps.

Regards, Daniel