Some of you might not be aware of the process to get electronic promos of my music for reviewers, radio, music blogs, publications, music venues, etc. If you’re in any way involved in the music industry please complete the Unearthed Music Service List Application.
As soon as your application is processed you will have access to download full length 320kbps MP3 files of all of the music currently available on Unearthed Music including my solo album, Precambrian Resonance by Ostraka. Don’t worry about being spammed because we send out no more that five or six mailings per year. Here’s Blitzen Machine.
For the last two weeks I have been working on a performance application that I’m developing in MaxMSP controlled with TouchOSC on the iPhone or iPod Touch. The application is coming along quite well. I have the granular traversal piece working how I want, as I described in Traversing Samples with Granular Synthesis.
Now I’m working on another feature of the application designed to allow the user to play samples with a rotary dial; not unlike manually spinning a record on a turntable. The basics of getting this going were pretty simple, but I also wanted to be able to spin the dial and have it continue to rotate based on the acceleration applied. Secondly, I wanted to have a slider that would adjust the amount of friction, from frictionless to instant braking.
This essentially involved physically modeling the control to behave like a turntable or other spinning device. After trying four or five techniques using standard Max objects I managed to get it working, but it wasn’t pretty. Instead I decided to try using a few lines of Javascript to do the calculations and adjust the position of the dial. This worked much better and only required about 35 lines of code. The best way to illustrate this application will be with video. I’ll shoot a few minutes to get the point across and share it here soon. For now here’s a recording made with the modeled controller I described and just a small amount of friction.
My friend and hiphop producer Cornelius Noll (aka 84 Caprice) recently offered to share a track on ACB that he produced for the Renoise Efficient Music Competition. I just got a chance to preview the track, and while I’ve been quite fond of 84 Caprice all along, he has managed to conjure something special this time. Here’s what he had to say about his process and working in Renoise.
This particular track is one that started out as an instrumental for Prof, an MC on Stophouse Records where I get most of my work done. The original draft was created in a program called Renoise which falls under the category of “tracker” or “tracking sequencer”. It quickly became an exercise of figuring out how to truly work the insides of the program it was created in for a contest conceived by Renoise and Indamixx in conjunction with CreateDigitalMusic.com. Upon initial approach it looks like this; make a bomb track and license it under Creative Commons. I won’t discuss C.C. But will rattle a bit about Renoise and the technicalities of making fight-night weight.
These days I typically use a piano to work out ideas and then graduate into software to execute them. Renoise tends to be my favorite place to land as it loads up like butter and is quick for nailing down concepts. The implied constraints of this contest, however, had hoisted a series of difficulties in my process. The first being that while I like to use VST/VSTi’s in the process, non-native sound creators or effectors were not to be used in the final version. The second concern was the size of the Renoise file as the winning entry will be used as one of the demos within the program (I haven’t had to deal with file size since I turned my 1.44meg floppies into coasters). Third concern – CPU usage. I was shooting for a great track weighing in under 5 megs. My rough track was loaded with complex VST/VSTi’s and was well over 20 megs.
The process was actually more focusing than I imagined. Imbedded capabilities include “rendering” which allows creation of samples of MIDI performance very similar to a “bounce to disk” but without leaving the program. This proved helpful with some of the trickier performance passages. It also lent itself well to taking a small sample of more simple instruments allowing for creation of patches (which I have never made the time to do in Renoise). If you look at the file itself you will find within it instruments which approach “chip-tune” file size all the while maintaining my vision for a very anthemic quality to them. I found as I rooted through the sequences and the instruments that my samples were converted at 32 bit 44.1khz; this was rectifiable within the program. I reduced resolution on lower frequency and less important pieces. These were huge in dropping file size down.
Skipping ahead a number of hours, we now have the track entirely reconfigured. No external instruments. No external effects. Less than 3.5 megs (this just blows me away). While the original track would load my laptop to as much as 40% CPU usage, the current CPU loading on my laptop does not exceed 11%.
I have begun to refine the patch I described in the last entry, creating an instrument that allows you to traverse through samples using an x-y controller and a slider. The x axis controls the forward or backward playback frequency of the grain. The y axis controls the width of the grain; either very narrow (minimum of 10ms), to an adjustable percentage of the sample at the widest (15% by default). The slider controls the position of the grain in the sample. Buttons across the top allow you to choose one of five preset samples. Alternatives can be loaded in the patch or set as defaults.
So far the TouchOSC controller is working quite well for the project. It was a bit tricky getting the interface to reflect changes in the patch, since radio button behavior is not supported in TouchOSC. Fortunately it supports an input port, so I managed to get all the buttons toggled properly by sending data back to the iPod Touch. I have connected the accelerometer to a filter so that when turned on with a toggle, tilting it on the y axis causes a lowpass filter to effect the output. Finally, by setting a threshold on the z axis, giving the iPod Touch a brisk shake will cause the patch to loop a randomly selected grain of random length from a randomly selected buffer played back at a randomly selected rate. The variety of sounds possible with five short samples is huge. Here’s a selection of sound produced with one sample selected. The sound source is from a vintage video game. I’m curious to see if anyone can recognize it. Please post your guess in a comment.
Etude in 8 Bits for Multitouch Graintable Synthesis
I don’t have this patch ready to share yet, but I thought I could at least explain a little bit about it and offer an audio example. What I’m working on is a device to manipulate samples in unconventional ways using alternative input methods. This audio clip, for example, was generated using a Max patch that adjusts the playback frequency and length of a sample using an x-y controller. The x-axis controls the frequency while the y-axis controls the sample length. For a controller I used an iPod Touch running TouchOSC. I’ve been using Mrmr as well, but wanted to try TouchOSC now that it has an editor to create custom layouts.
My goal is to create several pages in TouchOSC that allow you to manipulate one of five samples in several different ways. The image is a shot of my iPod Touch displaying the custom layout that I created and connected to my Max patch for creating the sound linked below.