... or drop your audio files
More information
What is this for?
To synchronize multiple music and video recordings a shared SMPTE timecode signal is often used. For practical purposes the timecode signal is encoded in an audio stream. The timecode can then be recorded in sync with microphone inputs or added to a video recording. The timecode is encoded in audio with LTC, linear timecode.
This web app decodes SMPTE timecodes from an LTC encoded audio signal.
How does it work?
First the audio is extracted from the media file using a web version of ffmpeg. This means that almost any audio format and multi-media container is supported.
Secondly, the decoding is done by a library called libltc. Both ffmpeg and libltc are compiled to WebAssembly which allows to run them in the browser. And finally, to present and download decoded information, there is a bit of javascript glue code which holds the html interface and WebAssembly software together.
Is it fast?
One of the advantages of WebAssembly is that processed files do not need to be uploaded to a server. Everything happens locally. WebAssembly is reasonably fast, see here for a discussion on the Performance of WebAssembly vs. Native Code. Keeping files localy also has advantages regarding privacy: files never leave the client and can not be copied at the server side. Most of the time is spent decoding audio.