XLN Audio just released their new drum machine XO, where drum sounds are laid out as a 2D map such that similar sounds are near eachother (also known as an embedding). We helped them build the space using a modified version of t-SNE, as well as some other neat things including auto-trimming, auto-gain, and more. It turned out really cool, download the demo and give it a spin!
We did some signal processing to enable this web app that teaches dads to speak to their young kids in “baby talk”. This one was coded up in C++ and converted to js using emscripten.
To be continued – maybe?!?!?
This video was shot under the Liljeholmen Bridge in Stockholm, Sweden on September 8, 2012, where the piece was shown as part of John Essing‘s “The Dark Light” release party.
We are proud to be involved in the new Mellotron simulation from GForce: Re-Tron. It is a Rack Extension for the excellent audio software Reason. We painstakingly ported the code from the VST plugin and implemented the pretty 3D interface (designed by Fredrik Hurtig), and added a bunch of new features, making it an even excellenter instrument!
Then go buy the thing in the Propellerhead Online Shop
The app is called Vocal Shapes and is a visualizer for monophonic audio signals such as your voice or a musical instrument. Here is a quick demo video:
Here is a breakdown of how the hours were spent:
|Audio Signal Processing||2 hours|
|OpenGL graphics programming & design||4 hours|
|Splash Screen Artwork & Animation||3 hours|
|Fine tuning of processing & graphics||3 hours|
|App Store Submission||3 hours|
|Promo Song & video||3 hours|
|This blog post & product web page||1 hour|
So, 2 hours remain, which I will probably spend making another nice demo video. Lessons I have learned so far:
- Simple apps require dramatically less development time
- Simple apps are more fun to develop
- Even the simplest apps apparently get downloaded by some people
NOW GO TO THE APP STORE AND BUY THE THING FOR $0.99!
Note: this app is no longer available, I haven’t had the time to redo it for newer phones. If I were to resurrect this, it would probably be as a web page, using WebGL.
1. Rotatable diamonds
By using diamond shapes that are either divided horizontally or vertically, we get a really nice effect. A simple algorithm just chooses the orientation of each diamond that minimizes image distortion. Click the image for full-size svg vector art.
2. Hexagon segments
Here, equilateral triangles are used to build up hexagons. Hexagons happen to be the optimal shapes to arrange points in 2D space for vector quantization. Click the image for full-size svg vector art.
I’ve been busy for two months working with the digital production company Acne Digital (only slightly related to the clothes brand). It is a campaign site for Radiotjänst*, where you become the star of a music video. Of course, no modern pop music video is complete without heavy vocal processing including Auto-Tuning, and that is what I have provided in this case.
The vocal processor is written from scratch in c++ and includes auto-tuning, filter-distortion-tempo-delay, and a multiband normalizer/compressor. Initially, I wrote a command line VST host to run 3rd party tuners (Antares, Yamaha, etc), but they turned out to sound bad for regular speech input, because they are designed for singing voice, which is more periodic and predictable. My tuner is superior because it can find the globally optimal pitch track using dynamic programming.
*Footnote: For our foreign readers, Radiotjänst is the agency that collects funds for Swedish public service media. In this campaign, you’re told you’re a star for paying the fee (basically because it’s easy to avoid paying, by just saying that you don’t own a TV set).
One of my latest projects is now online: an interactive music video for Robyn. It was produced on a shoe string budget with volunteers from DinahMoe, B-Reel, North Kingdom and Blip Boutique, among others. In other words, a bit of a dream team! Jakob Nylund dreamt up the VCR-ish design, Johan and Erik at DinahMoe did the sound interaction bit. My part was generating the vocoded voice that says the name of each beat creator (under “stream”). This was done using the open source speech synth flite, the mda vocoder, and a fair amount of custom code to nice up the sound, all running on a minimal virtual fedora machine over at rackspace. Enjoy!