After reading Lessig’s Experiments in presentation technology, I have been searching for a proper way of syncing audio and slides. As far as I know (and I’m not a programer, only a user), vectors are smaller and better for being zoomed than bitmaps. Formats that allow vectors and multimedia are PDF and Flash.
I think PDF is the right answer (my experiences with Flash will be described on a following post). It is both possible to determine the duration of an automatic page display and it is possible to embed audio and video files on PDF files. Both issues are described on the PDF Reference Version 1.6. The
/Dur entry to the page object is described on page 121 (and it is rather tricky, since Acrobat/Adobe Reader only advances automatically to next page when the
/PageMode /FullScreen is set on the catalog dictionary [although this might not be mandadory]). “Multimedia” is described on section 9.1 of the PDF Reference and I guess that section 9.2 (“Sounds”) is not applicable to mp3/ogg files. (Sorry, but it is too technical for me.)
The question is then which tools can modify already existing PDF documents to set the duration display duration of each page and to add the background mp3/ogg audio file to the complete presentation. Apart from Adobe’s tools themselves, I’m afraid that no tool released under an open source license is able to achive this right now, but I guess there is one that could be easily implemented to do the job.
pdftk is a tool to manipulate PDF documents and it is released under the GNU GPL. It is a command line tool and it runs under Windows, GNU/Linux, Mac OS X, FreeBSD and Solaris. It could be implemented in the following way:
Adding an option
pagedisplay times.txt, having
times.txtthe following content:
00:05 00:10.5 00:13.2
Time intervals could also be introduced only in
/FullScreenin the catalog dictionary (it is required for the automatic display to work).
Adding an option
audiosync audio.mp3 n, where
nstands for the page number where the audio file should be inserted. Probably it would be a good idea to allow to insert different audio files in different pages.
If you feel more confortable with Python, I guess pyPDF could be developed to be able do the task, but this tool is in earlier stages of development and probably more labour would be required. Since pyPDF is actually a library and it requires an interpreter to run, it is harder to be deployed by end-users.
On the display side, Adobe Reader 7 is able to deal with both features, but multimedia playing doesn’t work in UNIX. And what about non-Adobe PDF viewers? poppler handles neither the page object entry
/Dur (see issue) nor embedded multimedia (see issue) yet.
And eventually the question is: any takers?