Digital synchronous sound for 8 and 16 mm film, finally made easy!
Are you tired of projecting silent films? Did you ever consider one of those old school methods with magnet tape and proprietary synchronisation devices that looked (and smelled) like the 70s?
No need for this anymore.
So what is it?
Synkino is basically a digital music player that follows your projector’s speed frame by frame and adjusts its audio playback speed as required to assure lip synced sound playback.
Sounds good, tell me more!
Different that old reel-to-reel tape recorders, no digital music I found allows granular enough speed corrections to follow a projector’s actual speed. That’s why I build one. For me, for you, for anybody interested. It is open source and it works great. It works with any projector and film format, if you want, even with a hand-cranked 9.5 mm machine! It is also super simple and requires no permanent projector mods. Have a look!
As you can see, it’s tiny and can easily be built into a projector or just sit next to it. The construction is sturdy, so it can work well without a case, but feel free to build one if you want — I personally found the electronics too beautiful to hide them in some plastic box.
So how does it work?
On the upper right, you see a microSD card reader. This takes your thumbnail sized memory card. A 32 GB µSD card costs about 12 bucks and carries hundreds of hours of audio already, so you don’t need no pricey, huge card here.
As many decent modern electronic devices, Synkino has just one rotary push button to control it. It’s dead-simple and intuitive.
Also on the upper side, you see three headphone jacks. The right one is or your stereo sound, just connect it to your main Amplifier or a Bluetooth boombox as to your liking. The other two (2.5 mm) jacks are to connect Synkino’s “eyes”. Yes, just like you it has two of them:
- The one eye is a sensor that watches your projector’s flicker or the drive shaft turning. No magnets, no permanent modifications, no extra contraptions: The eye is as big as a thumbnail and just needs to be about 1 cm away from something that moves as your projector moves. You can also use a piece of fibre wire and mount it at the edge of the projector’s lens to make it see the flicker. Simple.
- The other eye is to spot where the actual film starts. You don’t need no start marks, no metal stickers, no back-and-forth to find a particular start frame. All you need is white leader, which ends at some point. You can mount this eye anywhere you want, since the distance between the film gate and this eye can be easily programmed into your Synkino. For up to a dozen projectors if you want, since hey, whohas just one projector these days?
Once you are set up, you encode your audio tracks to AAC or M4A (or MP3 or OGG, which I haven’t tested heavily since I don’t like them) and put them on the SD card. You need to follow a dead-simple naming scheme here: Every film roll has a number, and your film #1 gets the audio filename “001-24.m4a” — The part behind the dash is the frame rate the film was shot in.
Your SD card could look like this now:
So how do I use it?
- Pick up your desired film roll – e.g. film #007 – and put it on the projector
- Feed the leader into the projector
- Power up Synkino and turn the knob to select Track #007
- Start the projector
Once the leader ends and has reached the film gate, Synkino starts playing. When your projector slows down, Synkino will too. If your projector tends to run fast, Synkino will do too. It doesn’t matter how many hours your film is long, Synkino will stay in sync. Even when you stop the projector in the middle of the projection or started it in the wrong speed (like at 18 fps instead of 24 fps) – Synkino will catch up and lock the sync again.
Give me the technical details!
Synkino uses the well-known VLSI 1053B DSP for playback of digital music.
Its sample count register is used together with a frame counter to feed a PID-controller, adjusting the sample rate used by the DSP in real-time. There are two Atmega328 microcontrollers on the board, one is feeding data from the SD card to the DSP and runs the PID controller, the other one is in charge of the Display, the UI, two EEPROMs and various book keeping. Both µCs talk via I2C to each other.
So yes: Synkino is two Arduinos! In fact, both microcontrollers are setup 100 % Arduino compatible, so you can easily extend the functionality, tweak it, and add your own ideas. The unused ports of both controllers are actually routed to the PCB’s edge, so adding more sensors or actors should be very easy. Also, there are FTDI-Ports on both sides of the PCB, making programming as easy as e.g. an Arduino Pro or Pro Micro. You don’t need to do anything, but you can if you want! Controlling your amp’s power, the room’s lighting or adding an RFID reader to recognise tagged film rolls just by swiping them are just some ideas that you are welcome to add.
Both Microcontrollers have their free pins made available for your own use – if desired. There are also FTDI- and ICSP-Connectors for simple programming, just like you (might) know it from Arduinos.
How do I get one?
Synkino is free!
Well, Synkno is an open source project, so you can build one yourself. Everything is on github, the sources, the schematics, a sophisticated routed PCB and all the libs needed. Just be warned though: It’s a project with teeny tiny SMT parts and there are about 500 pads to solder. I spent three years of my free time on this project and can assure you it isn’t fun to find the bug on a SMT PCB with a TQFP-48 fine-pitch chip. It is totally doable though if you have some soldering experience, know KiCad, own a microscope and have lots of time, so go fo it and make one or ten or a hundred!
While sourcing all the parts I got multiple of each, so I can help you with one of three offers, as long as supply lasts. This is basically covering my costs:
Note that I will only offer this as long as supply lasts.
I have a day job and many hobbies, and since manual assembly takes quite a while, I will not go into mass production here. I have no objections though with anybody else doing so.
It’s open source after all 🙂