This is something I wish I had.  This program would take as input (1) an 
audio file, (2) a text file with a list of images, and times and it would 
then play the audio file while displaying the images at the listed times. 
The text input might look like this:

0:00 image1.jpg
0:37 image2.jpg
1:27 image3.jpg

So the audio would start with image1.jpg displayed, then at 0:37 it would 
switch to image2.jpg and at 1:27 it would switch to image3.jpg.  I can 
think of a few cool bells and whistles to add to that.

Does such a thing exist?

Another idea would be to have the program read in that info and create a 
video file (e.g., MP4) that plays the audio and shows the images at the 
designated times.

It is important to be able to use this on all common OSs like Windows, OS 
X and Linux.

Any ideas?

Best,
Mike