SamuKata
philedwardsinc
philedwardsinc

patreon


How I made Steamboat Willie's visual soundtrack

After this, I realized it probably makes as much sense as a text post as a video. Nevertheless, I made a video (above).

As I explain there, I couldn't find a period-appropriate scan of SW (scans available are from later on, using different sound methods). I needed variable density and, happily, found a way to make it.

My steps were:

1) Select a Wav for turning into optical sound.

2) Visit the project: https://github.com/sixteenmillimeter/SoundtrackOptical 

These mad geniuses have developed a way to make it all work.

3) Download Processing: https://processing.org/ 

Free software that you can import the library to and use to make your soundtrack. I have no idea of competing ways to do this - again, this is sort of an Optical Sound for Dummies by a Dummy.

4) Hack it together! I ran into some issues because I had to regulate access to files and was using the wrong type of Waveform. You'll want a mono wav that matches the example files provided by the Sountrack Optical people. I also ran into issues because I was doing the wrong number of frames - so mess with that. It was commented in my copy of the code.

I just asked and insulted ChatGPT into helping me along. I'm pretty anti-Chat GPT for anything but the most basic research tasks (it is very dumb), but to help a non-coder become a terrible coder, I think it's a great tool.

5) Watch the output! I believe Chat GPT actually gave me code to spit out the PNGs which I then made into a video sequence in Premiere or After Effects. Your mileage with this code may vary, but it worked.

void draw () {
  if (currentFrame < totalFrames) {
    soundtrack.draw(0, 0);
    saveFrame("/Users/philipedwards/Desktop/Phil Edwards INC/Mickey/Processing Outputs/new/output-###.png");
    currentFrame++;
  } else {
    noLoop(); // Stops the draw loop
  }

6) Check your work - or watch other sound. It was important to me that before publishing I verified that I was making it work right. I think if I were doing this for a, like, client, I would probably do a bit more. But I was pretty satisfied with this. I checked my work via this project: https://usc-imi.github.io/aeo-light/#about 

It is free and awesome. You set the bounds you want it to read - I tested it on a film strip as well and used it that way. And then it gets to work and plays you a sample! I was delighted to find that from my image alone it successfully read the soundtrack. It'd be awesome to find a filmstrip that hadn't been scanned for sound and try this.


That's the procedure! If you have questions or errors, let me know here or via email.

Comments

I am a programmer and I love ChatGPT. Can totally see how someone without that background could use it to enable new ways of leveraging advanced tooling.

Adam Grant

That is super nerdy and wonderful. Thanks for sharing that you made it functional and how it works.

Desmond Suarez

Thanks for this!

eli

Now Phil is a true open source developer. Finding some available tools, putting them together, sharing how he did it, and helping others do the same. The video really is a condensed version of what most (all?) software development jobs are.

Dan

We are normally using after effects too for this but I love to see what’s possible with open source tools… just in case adobe apps are not at hand. 😀

Stephan Kochs

haha that's amazing! i normally am just an after effects waveform person so it is inspiring to even know this kinda stuff works! thanks for sharing

Phil Edwards

So thankful that you did this video and all the research and coding! I was always wondering if there is a way to get some waveform only videos from our podcast teasers without installing extra plugins for Premiere etc. just using open source apps and on-board tools. The Processing approach and the SoundtrackOptical plugin was a great starting point for a more complex script. I mixed it with an old terminal script for creating videos out of a bunch of PNGs with ffmpeg and some tips from Google and now Processing writes an MP4 directly from the PNGs! In case you or anyone else is interested, here's the code. https://goonlinetools.com/snapshot/code/#5krc8x0u5f5ef83gmg6z8h And again... Thank you so much for your work and all the videos,

Stephan Kochs


More Creators