Travelling through time & space in real-time...

Introducing Aurio and AudioAlign

AudioAlign is a tool that I started developing in 2010 for my master’s thesis (and has been actively developed since then), with the goal to create a software for the automatic synchronization of audio and video recordings. Although I never quite reached the point of a fully automatic synchronization system, it showed promising results compared to the few similar commercial applications available on the market, and continues to be a helpful tool for my research purposes. I gave up on the plan to commercialize it due to patenting problems I didn’t know how to deal with, but instead decided on open sourcing it so others could still make use of it and hopefully even help me improve it. Aurio is a library extracted from AudioAlign, providing the underlying core audio processing functionality like an audio processing engine and audio fingerprinting and time warping algorithms. Both Aurio and AudioAlign are now available as AGPL licensed open source software on GitHub.

High-Precision Audio Drift and Frequency Measurements on a Budget

Conducting high precision audio drift or audio frequency measurements doesn’t have to be expensive. In this guide, I’m showing you how to do it with an ordinary computer, an audio interface, a GPS receiver, and a little bit of tinkering.

High-Precision Audio Drift and Frequency Measurements on a Budget

Conducting high precision audio drift or audio frequency measurements doesn’t have to be expensive. In this guide, I’m showing you how to do it with an ordinary computer, an audio interface, a GPS receiver, and a little bit of tinkering.

Installing Edirol UA-5 Drivers in Windows 8 / 8.1 and Windows 10

The UA-5 is not the most recent audio interface and therefore not supported by Edirol anymore. Luckily there is a Windows 7 driver available, and since newer Windows versions should be compatible, it is as easy as installing this driver – I always think. Unfortunately, that’s not working, and editing the INF file is cumbersome and requires disabling the driver signature enforcement (which is not recommended).

The solution is actually pretty simple and I found it here: Download the Vista driver, and run setup in Vista compatibility mode. This driver does not constrain the Windows version and works on all versions through Windows 10.

Improved DASH support in ITEC MediaPlayer 1.4.0

The ITEC MediaPlayer library for Android has been updated to 1.4.0. This new version mainly improves DASH support, but also has a few bugs fixed, small changes and additions to the MediaPlayer/VideoView API, and improved error/exception reporting.

The DASH MPD parser now covers a lot more use cases, including some of the DASH-IF test vectors for which an evaluation protocol is available in the sources. Experimental playback of dynamic content (live streams) is also possible now, but MPD updates are not supported yet. An important feature that is still missing is support of single-segment streams, which is why many of the test vectors still fail. Anyway, the API of the current version should remain stable for some time while all the missing functionality can be implemented under the hood, if interest calls for it. The demo app has also been updated with the new version of the library and a few usability improvements.

The library is available on GitHub, with updated documentation and sources. Release builds can be obtained from the JCenter repository for easy usage in Android projects through Gradle and Maven. The demo app is online on the Play Store.

ITEC MediaPlayer on GitHub
MediaPlayer-Extended Demo
MediaPlayer-Extended Demo
Price: Free

SRC.NET: A Managed Wrapper for LibSampleRate

I am currently trying to solve licensing issues on an unreleased project I am working on and want to get rid of all dependencies under the GPL, one of which is the libsamplerate resampling library, which I have been using for a few years through a managed .NET wrapper. It is just a small wrapper library but because it proved to be working pretty stable and I also could not find any other nice wrapper as of today, I moved it to a separate project called SRC.NET and published it on GitHub. SRC.NET has been written for stream processing and comes with both x86 and x64 precompiled libsamplerate Windows libraries. Usage is very simple, a small demo application is included in the repository.

SRC.NET Managed LibSampleRate Wrapper on GitHub

Compiling SQLite as DLL with MSVC

Compiling DLLs on your own can get really messy and take a lot of time (e.g. FFmpeg) if you are not really into this stuff. SQLite is one of the positive examples which make it really easy: download the amalgamation source, and follow the DLL compilation guide. The nicest thing for Windows users is that you can just use the Visual Studio compiler to compile x86 and x64 versions without any configuration or dependencies and just a single short command, and don’t need to fool around with Cygwin/MinGW/MSYS/MinGW-W64/Win-builds etc.

Unfortunately there’s a small detail missing in the SQLite guide, and they don’t seem to have an easy way of contacting them except for an antiquated mailing list. So I’m posting here where nobody is ever going to find it:

Fixing a Leaking or Stiff Vitamix/Kuchef/Omniblend/etc. Blender Blade Assembly

Buying a cloned device for a small fraction of the original’s price is often not a good idea, unless you’re handy and like to tinker. One example are cheap Vitamix blender clones, made out of the cheapest parts the manufacturers can find. This guide shows you how to replace the ball bearings in a blade assembly of such a clone (probably works for a real Vitamix too), if your jar is leaking brown oil or the blades became stiff. This saves you from buying a complete blade assembly unit and upgrades the drive train to better durability and smoother operation.

Replacing the Nexus 5 Power Button

About one week after the 1-year warranty of my Nexus 5 expired, its power button began to fail out of the blue, showing the following symptoms:

  • The phone would often show the power menu, or lock itself and turn the screen of
  • It often shut itself down, and got stuck in a bootloop, making it even impossible to access recovery

This seems like a frequent problem and results from a defect power button signaling its pressed state, without being pressed or stuck. Hard tapping on the phone around the power button can temporarily help to get it back to its normal “unpressed” state, which makes it usable again and interrupts bootloops. Still, this gets more and more annoying over time.

Decrypting Canon Camcorder Firmware Updates

Today, if you are a serious amateur who wants to record high quality videos on a budget, you can get a nice DSLR for less than 1000€ which comes with every feature you’ll ever need. If not, you can easily extend the functionality with software add-ons like Magic Lantern. Back in 2008 this wasn’t the case an I had a Canon HF10 camcorder, one of the first to record Full-HD AVCHD video to an SD card. It had a reasonable performance for its price, but sooner than later I was missing some important video features like zebra patterns and manual gain.