January 9, 2006  ·  Lessig


As I’ve mentioned before, I’ve been looking for a simple way to make presentations that link my slides with my voice. Leonard Lin did it originally with my OSCON speech in 2002. He even built a simple way to take timings from PowerPoint and include them in the import into Flash. But that proved too cumbersome for this sad soul to use, and so for four years, requests for copies of my talks have come in, but I’ve had no easy way to provide them.

I may, however, have made some progress. Phil Pickering suggested (comment 7) the idea at Doug Kaye’s Blogarithms. I implemented it, using Keynote and iMovie, as follows:

(1) print the slides from Keynote so you can see what’s coming
(2) export the slides as JPEGs
(3) import the slides into iMovie
(4) import the audio into iMovie
(5) using the bookmark function, listen to the audio, and bookmark where there is to be a slide change
(6) marking all the slides, extend their length to the maximum (30 seconds)
(7) then starting from the beginning, advance to the next bookmark; split the image (apple+T); delete the half to the right; and repeat to the end
(8) Export to mp4

Once I programmed the keystrokes, this turned out to be pretty easy. The first completed example is a talk I gave about whether Google Book Search is “fair use.” Here’s a torrent for the (large) mp4 file. The torrent is hosted by Prodigem. (Get your BitTorrent client here. As the BitTorrent beautifully puts it: “BitTorrent is a free speech tool.”)

The only difficult part about this was listening to myself again (and again) as I built this. The bubbling inarticulateness in it terrifies me. But anyway, in the spirit of the experiment, here it is.

My hope is to put every presentation I’ve made, with audio and the source files, up for anyone to do with as they wish. That turns out to be harder than it should be. Any advice or help would be greatly appreciated.

Meanwhile, here’s my wishlist for technology to do this (Keynote developers — please please please):

(1) The ideal would be a simple SMIL like technology that would make it trivial to synchronize audio and images
(2) It would produce a flash-like output that would be small (unlike the MPEG4 video I’ve produced). In principle, there’s no reason it needs to be big, since there’s just a smallish number of images and an audio file
(3) The tool would enable simple bookmarking of transition points
(4) It would then automatically map slides to those transition points
(5) It would allow me to dump the resulting presentation in any format (so, e.g., I don’t have to watch it across the web)
(6) It would run on many platforms
(7) It would allow me to run the audio at a slow speed when indicating the bookmarks
(8) It would not require me to buy a huge new system to do it.

What’s distinctive about my style, as you’ll see, is that I have MANY slides. Some are just one or two words. Some are on the screen for just 1 or 2 seconds. Systems that imagine cutting up the audio and attaching it to the slides (i.e., PowerPoint) won’t cut it. “

  • Tad

    Mr. Lessig,

    The problem with taking Apple’s Keynote any further (for any serious development efforts to scratch the itch that you need scratching) is that Apple never published the Keynote 2 XML schema for public use, as discussed in this thread:

    http://www.opendarwin.org/pipermail/keynote-tools/2005-September/000217.html >

    Maybe, just maybe, Apple will change this and if we’re lucky we’ll have an announcement tomorrow at MacWorld Expo.

  • http://www.movedigital.com Mark Smith

    There is a company in Palo Alto by the name of Quindi which I believe makes this exercise trivial, but Quindi only runs on Windows.

    I looked at the product as a potential contributor to their team. I thought they should move in the direction of transcription and podcasting but the founder preferred selling the product to R+D departments.

  • http://www2.cali.org/screencasts/lessig-google/lessig-google.html John Mayer

    Hello Prof. Lessig,

    I took your torrent and re-captured it in Camtasia and spit it out as a SWF to here.

    Not too much loss of fidelity and the file size is around 22 MB. I’ve been playing with Camtasia for other things and this was an interesting workout of its features. I had to use JPG compression and lower the quality to get the size down. I may try to re-do this by splitting off the MP3 from your MP4 and re-combining it with the screen video out of Camtasia. It won’t start playing until 1/3 is downloaded.

  • http://wolog.net/ Ping

    For comparison to the 85 megabytes of MP4 video, what’s the total size of all your JPEG images?

  • http://decaffeinated.org Chris Clark

    Have you considered exporting to M4B (AAC) audio and inserting the slide JPGs with Apple’s CLI Chapter Tool or one of the half-dozen available GUI apps?

    This should reduce file size considerably, be viewable on Windows, Mac, and iPod (one would hope there are Linux players with Chapter support in the making), make the file bookmarkable, and allow people to speed up/slow down the speech as they can with audiobooks.

  • http://the-goddess.org/blog/index.html Morgaine Swann

    Did you make the presentation available as a podcast on iTunes?

  • anonymous

    Have you considered posting in Apple’s user to user support discussion boards? The regulars are helpful.

    Keynote forum

  • http://labs.adobe.com Sara Spalding

    Have you considered using breeze? it records voice + preso (or whatever you want to show) as you present, so you don’t have to listen to yourself over and over again as you edit/compile afterwards. runs on flash (mac + win), requires no extra software installed for you or your adoring fans. :-)

    i’d be happy to arrange a demo if you’re interested.

    Sara Spalding
    Director, Developer Relations
    Adobe Systems, Inc.

  • Lessig

    Thanks for the feedback. Some responses:

    Tad, absolutely right. That is a great reason not to develop further in Keynote 2. So I’m happy to consider an alternative.

    Mark, Quindi sounds interesting, but again, I’m platform restricted. I tried to build a second OS into my life. I bought a Windows machine, and began to try to integrate it into my work so I could think about some of the Windows solutions out there. But I couldn’t do it. My next OS is GNU/Linux, as soon as the Free Culture tools are adequate.

    John, Camtasia sounds great too, but I can’t get it to load on either Firefox or Safari.

    Ping, the JPEGs are about 5 meg.

    Chris, I’ll look at the Chapter Tool. My skepticism is about the shortness of slides. With over 200 slides, some for a second, I’ll be eager to see how easily marked it will be.

    Morgaine, no, and haven’t looked into how that’s done. Advice?

    Sara, I’d love to try Breeze, but again, though Flash works nicely cross platform, last I looked, I would need a Windows machine to make Breeze work. The problem with the audio too is that I only ever want to do this if I’ve given a presentation, and then want to produce a “copy” of the presentation I’ve given. So recording to the slides is not really the plan. But perhaps there is a simple way to book mark in Breeze. Anyway, maybe if there’s a really really fast Powerbook on the market soon (see the Jobs keynote), I can try the Win emulator. Meanwhile, still seeking a simple way to sync audio with Flash.

  • Geoff Hankerson

    Apple just released Garage Band 3 which appears, at a glance, to do just what you are proposing. I haven’t tried it yet, but it’s worth looking into. Garage Band 3 does all the Chapter stuff via wsywig. Maybe you can try it a a local Apple store before buying

  • http://mediagora.com Kevin Marks

    This is actually fairly easy using QT Player Pro.

    Import the JPEGs as an image sequence (or just use Keynotes QT export). Go to the first frame and press shift right arrow – this will select the frame. Choose Copy from the Edit menu.
    Bring in the audio. Hold down shift and tap play, and it will play while selecting. When you release shift it stops. You now have a selected chunk. Choose ‘Add to Selection and Scale’ from the edit menu. It will make the image duration match.
    Go get the next image (cmd-B for deselect, shift-right-arrow to select).
    Select the next chunk of audio (cmd-B for deselect, shift-play, release shift) and so on.

    When they first built Keynote, I told them a few times to add a ‘time the slide clicks while recording audio, then export a QT movie with long frames for the slides’ mode, but they didn’t. Probably wouldn’t be too hard to code up.

  • http://www.youare.tv Steve

    Prof. Lessig,

    If you would like, I would be able to stream your mp4 file from my site, http://www.youare.tv. You can setup your profile through the website but if you prefer, I can upload it myself, with your permission of course. Thanks

    Steve Cordova

  • Akshay Patil

    Hi Prof. Lessig,

    It seems like the natural way to easily distribute your video is to upload it to Google Video. If I understand the creative commons license assocated with the video correctly, it should be perfectly legal for anyone to upload the video to Google and for Google to redistribute it, so long as you are properly credited. I’m in the process of uploading the video now; if you have any objections, please let me know… if not, I’ll post the resulting link after the video finishes the upload process.

  • http://www.daveproject.org Dan Collier

    I work on a project that captures physician’s medical lectures given before an audience using PowerPoint and then makes them available for streaming or downloading after the fact. Our process is to use the built in PowerPoint “Record Narration tool”. After the lecture we save the PowerPoint presentation with the synched narration. A tech then uses PowerConverter (linked above) to convert the file into Flash and upload it to our website.

    The process above could work using Breeze because you should be able to upload the narrated PPT file from your Mac via a web front-end for conversion to Flash on the Breeze server. In other words, there should not be a requirement to install Breeze on your machine. I’m not entirely sure that method converted the narration when I demo’d Breeze, but it certainly could and should. However, given the same basic functionality, one can’t help but notice the huge price difference between PowerConverter and Breeze. It would be actually be cheaper for you to buy a Windows laptop and PowerConverter just for this process.

  • http://www.unreasonableman.net Ian Yorston

    One option might be to re-record your audio in sync with your slides using VideoCue for Mac OS X

    I suspect that Vara could tweak this software to do exactly what is wanted, and I’ve written to them suggesting exactly that.

  • http://www.paradox1x.org Karl

    One thing to consider is using YouTube.com to host your presentation. It makes it radically easy for others to view it without the hassle of downloading.

  • http://www.robotminion.com Em

    I work in educational technology at a big public university. I was just at a podcasting workshop where the guys from Apple demo’d a program called Profcast that just came out.

    The advantage to this program seemed to be the fact that you could record yourself as you were givng the presentation (Keynote or ppt) and it would record your voice, as well as slide timing and transitions, and save everything for videocasting. It does sound as if Grageband 3 will do this now as well, but perhaps not as you’re giving a presentation.

  • http://opensourcemovement.org/ vaskin
  • http://www.avocade.com/ Oskar

    Get the new GarageBand and try using the picture track to show the slides at the correct time. Should be the best and simplest way in the post-MWSF06 era…. hehe :)

  • http://www.javarants.com Sam Pullara

    I think that the new Podcasting software in Garage Band is what you want. It looks like you can put a slide at any point in an audio podcast and have it show up as your are talking. I don’t have iLife ’06 to confirm but thats my understanding of how it works. They are called “Podcast Artwork Tracks”.


  • poptones

    While I do not use windows any more, I remember doing this exact thing with microsoft media nearly half a decade ago. Using their asf creator tool one could take any audio track and add images to appear at precise points. One could even make a text file to do this (which is the way I usually did it as I find it easier and more precise to deal in time codes and text than in sliders and videogame “trigger fingers”).

    One can also do this pretty well using (for example) mencoder in linux. Open the sound file in a sound editor, use the editor’s tools to locate the exact time you want something to appear, then note that time in your “playlist.” Once you have a cue sheet, the rest is a fairly trivial task of text processing. Mencoder also has a powerful encoding optimizer that will allow, by making each “in between” image after a keyframe exactly zero, creation of very low bit rate encodings of low frame rate content that can be played on “standard” players like mpeg, svcd and dvd.

    Ah, the power and dexterity of an open and free box of tools…

  • Curious George

    While I agree that having all the digital works online is a wonderful thing, I respectfully disagree with your legal theories.

    Linking to images that exist online is not the same as linking to books that do not exist online. There is a transformational flaw in your theory. Google is not degrading the quality of a book, it is fragmenting the work and transforming the medium of the work. The prior case law you utilize to support your theory does speak to fragmenting a piece of work, nor does it speak to changing the medium of the work. I submit that it is the wrong legal precedent as the characteristics of the case are quite different.

    If I take the Yellow Pages, scan it, and put fragments of the images onto a CD, are you suggesting that I be allowed to sell the CD? If I do the same but create and index that points to fragments of the Yellow Pages listings, are you suggesting that is also AOK? I do not see how one can argue that is fair use. Yet this is what the law would be allowing Google to do, if the courts support your first theory. I could even argue that I would be allowed to scan a CD, and point to fragments of the CD, say a entire song, without permission.

    Second, publishers are scanning bookings, the Open Content Alliance is scanning books. Your theory on merits of marketplace failure is factually incorrect. Publishers and authors are seeking solutions. To rush and allow Google to set legal precendence is potentially very reckless. Let the publishers and authors find their own solutions and come to Google if they are not able to do so. Why the rush here?

    The bottom line is that it is up to the publishers and the authors to determine if they want their material online and accessiable in fragments via an index. Many might, that is their choice, taking away their ability to choose seems very un-american, especially as there are efforts underway that seek to enable them to opt-in.

  • Valentin

    What about an Applescript for your Keynote adventure?
    A part that there is also the MagicPoint alternative: http://member.wide.ad.jp/wg/mgp/
    It is not wysiwyg but is a markup language but has the advantage to be small, universal and allows piping.

  • corrie

    Once you get a fast Windows emulator, have a look at Impatica OnCue. It lets you synch up an audio track (and optionally a video track as well) with PPT slides. Further, if you provide a transcript in the PPT Speaker Notes field, you can synch these up, too. The whole thing gets bundled into a fairly small java applet.

    Here’s an example. it’s a “virtual oriention” to our school’s implementation of Blackboard.

  • http://redowl.dyndns.org Jon-o

    Poptones mentioned above a method of doing this with mencoder. I’ve been trying to figure out how that could be possible, and alas, haven’t managed it yet. Mencoder seems to assume one image for one frame, making it difficult to allow for one image lasting for several seconds. The only alternative I can see is to use something like “mf://firstimage.jpg,firstimage.jpg,firstimage.jpg…. (continue for as many frames as would be necessary for that first image…)

    Tedious, to say the least, and you’d quickly end up with an unusably long command line.

    As well, I’m looking for something that can be done “live” – i.e. an audio stream comes in, we add images to it and the result is a video stream. If mencoder could accept a file for the list of files, along with how long each should be used for, it’d probably be simple, but it doesn’t appear to be a possibility. If anyone has any suggestions, please let me know! I’m probably just misreading the mencoder docs, but they’re not the simplest things to understand.

  • http://thefourthageofsand.net Jerrod Hansen

    Hi Larry,

    I’m late with this comment and I don’t know if you’ll se it, but I think you might be able to get what you want with SnapzPro. It is a screen capture program but will also capture video (often used in making tutorials where you show people which menu to use, etc). You can set up Snapz to record audio, so just run the presentation and talk into the mic. I’m not sure how big your file would be and you might want to run it through QT to convert it to a smaller format. SnapzX will record from a USB micro phone if you set it up in the sound preferences pane first.

    Alternatively, if the audio situation in Snapz isn’t acceptable, the combination of SnapzPro, Audio Hijack, and iMovie should suffice. Audio Hijack Pro will record your audio while you do this and then it’s simply a matter of dropping the two output files into iMovie and mixing down.

    Perhaps the biggest fault with this method would be file sizes. I ran a test with this and followed the recommendation for “animation” and ended up with a 700MB file. QT Pro exported it to mp4 for me and it was less than 2 MB. Snapz lets you choose your codec though, and you could get away with pretty low framerates, thus avoiding the QT conversion. Worst case, you can export to a favored setting (Movie to iPod??) in QuickTime Pro.

  • http://www.jonobacon.org/rss/jonobacondotorg-blog.xml Jono Bacon

    I have written a program to do exactly what you need. You feed it a PDF file with your slides, a WAV of your recorded talk and a list of slide times, and out pops a flash file. Simple. :)

    Check it out at http://www.jonobacon.org/projects/raccoonshow/ :)


  • http://seankelly.biz/ Sean Kelly

    I’ve been inspired by your and Dick Hardt’s styles of presentation and adopted it, but like you faced the challenge of making self-contained movies with the tools at hand (Keynote, iMovie HD, even GarageBand for audio tracks). Timing within Keynote and within iMovie were both way too tedious.

    My solution was to use the capture utility Snapz Pro, http://www.ambrosiasw.com/utilities/snapzprox/ … with it, I could page through the presentation with my right hand while holding the microphone with my left. No timing, no splitting, no muss, no fuss.

    You can see the result at http://oodt.jpl.nasa.gov/better-web-app.mov … there are a couple rough spots, but in general I think it came off well. And I’ve got tons of positive feedback on it.

    Thanks again for your inspiration.

  • frank

    I am trying, without sucess, to upload to Google Video
    I can’t get Google Video to recognize my login
    message is “Unable to log in. please check your email/password and maie sure network is up”

    Re-registered with new email and password – still cannot get login accepted

    Waht can I do to get login accepte so I can post video

  • http://edoneill.blogspot.com Edward Oneill

    This was already invented, was virtually freeware, and has now become very expensive–all on the PC.

    First, I think post-production is the wrong model.

    You do not want to take a presentation you’ve already given live and then re-do it or re-record it and then, on top of that, synchronize audio and visual.

    If you’re going to do that, you might as well go straight to non-linear video editing.

    But at least capture the audio of your presentation live using, say, a handheld mp3 recorder. (There’s nothing worse than a canned recording of someone talking to his computer.)

    Then drop the audio and slides into any video editing program–iMovie would do.

    I assume if you want to learn Flash, you can drop everything into Flash and output to that format.

    But that is not the way to go.

    The way to go is to capture everything in realtime. It should not be about post-production–editing–it should be about recording/capturing.

    Back in 2000, Realmedia made something called RealPresenter, which plugged into Powerpoint on the PC. It captured your presentation in realtime with video and/or audio. It captured the slide timings, etc.

    Microsoft had a version, too.

    Adobe’s Breeze is one such Powerpoint plug-in. Again, it’s for the PC (as far as I know). I believe there are others.

    Similarly, there are screen capture softwares for the PC (camtasia’s progeny, which I believe breeze is) which might capture what’s on your screen and save it to Flash. These are for software demos–google screen capture software demo–so they often record narration and even allow it to be edited.

    But the screen capture software was mostly for the PC, which is an admittedly larger market.

    So these programs that were essentially free plug-in’s to the ubiquitous office suite that’s generally installed on everyone’s PC at a bargain price, now they’re high end $299 to $599 software.

    Why?! Is this the rationality of the marketplace? How did freeware and shareware become VeryExpensiveware?

    It *is* the case that the logic of the market would dictate that a smaller market has fewer people bringing products to it, hence the weakness in this area on the Mac. But that says nothing about why the live capture of presentations or what’s onscreen is not simply a ubiquitous built-in feature on many systems.

    Now if you know someone at Openoffice, their office suite already outputs presentations to flash, but they have no narration/voiceover recording tool.

    Why not ask them to put it on your wish list?

    Or you might ask Dick Hardt how he captured his Identity 2.0 presentation.

  • http://www.pushtotest.com Frank Cohen

    Kevin Marks comment about using QuickTime Player Pro worked for me. Like Dr. Lessig, I need to distribute Applel Keynote slide shows with my audio recordings. Kevin’s instructions needed a little tweaking. Here is what I do:

    Keynote, Export to PNG images

    Open QuickTime Player Pro

    File -> Import Image Sequence, choose 1 second

    File -> New Audio Recording, record your voice

    Copy/Paste Audio to a new Movie file

    Select the slide show movie
    Use left-or-right arrows to select a slide
    Select the slide using Shift-right arrow

    Switch to new movie file, Edit -> Add To Select & Scale

    Control-B to un-select

    Repeat these steps.

    Hope this helps. Thanks for the tips.

    -Frank Cohen

  • http://www.halmeeks.net hal meeks

    Sigh –

    A piece of software for the Mac called Ishmael made this easy. It was expressly designed to either do voiceover of a slide show in realtime (but other tools can do that now, Profcast and others), but even more useful, merge slides with pre-recorded audio.

    Now I use Final Cut Express.

    Open Final Cut Express
    Go to User Prefereces and select the “Editing” Tab
    Set Duration for your average time per slide — and a bit more. I start with 2 minutes a slide.
    Import your images and audio
    drop audio in a track
    drop your first image into track one
    drop your second image into track two — stagger it after the image in track one
    drop your next image into track one — again — stagger it after the last image
    You have now created what used to be called a “checkerboard edit”
    Now — drag your images around to sync up better — you can drag ends of images to make them shorter if you need to — that is why it is better to start with them a little longer than needed.

    If you really have your act together you can use the chapter marks in FCP to make this even easier, and the bonus is those chapter marks will export out (ie to a DVD).

    export to your fav format — but if you can, go with a really low frame rate (1 fps) and spend your bandwidth on higher temporal resolution. for quicktime, use plain old jpeg as your video codec, otherwise for podcasts you are more constrained.

    If someone knows what happened to Megaptera and Ishmael — it is a shame their software vanished — for I have lost my installer, so my license is useless. Another reason for open source I guess.