[z.de]

Papa is a rolling Kiesel

Intello: Finished

Intello, my Master’s degree project, is finished. Two weeks ago I finished the software and it’s now feature complete. There are, however, already plans for future releases. This blog article will describe Intello in more detail and includes a video of a presentation I gave at BarCamp London 8.

History

Five years ago I had this idea for a Glitch producing plugin. So I wondered what is out there that does this already. After a long search I didn’t quite exactly find what I had in mind. Several weeks, maybe months, later this idea itched my back again. I started looking what I need to write this software. Among the options were (audio) programming languages like PureData, ChucK or SuperCollider. Luckily I never managed to get far with these gross environments. Pd quickly became to awkward because of its “closedness”. The others I didn’t even try. As the Mac Head I am I was aware of the existence of this thing called Xcode and Objective-C. “It can’t be that hard” I said to myself. Bought a book (German) (I have the older version by the way) and read my through this abomination. After finishing I realized I still had to learn so much stuff before being able to write Intello. Years passed and my programming skills got better. Finally 2009 I found this great university that allowed me to work on this project and make it realize. Although rather than using Objective-C I used a new recent addition to Ableton Live – Max for Live. Max for Live is a plugin architecture based on the well known Max/MSP environment. It seemed perfectly suited for my intentions. After three months I had a first working prototype.

Description

Intello is a Glitch creation tool. I was always frustrated by the way usual samplers work. I knew how to create Glitch effects using loops, but none of the tools I used were able to start looping/glitching exactly when I wanted them to. There was also this problem that a samplers’ buffer was limited. None of the samplers I was using could sample live input and immediately do something with the just sampled material. The idea was to have a sort of “live sampler” with loop mechanism. I wanted to have precise control over a loops’ length and its starting point. The starting point of this loop should be determined by the moment I decide Now! The loop length itself should be determined by a slider or a similar thing. Thus making this pretty nifty idea rather hard to play. Pressing a button with a click and moving a slider around at the same time? Impossible. So I needed to come up with another solution. At first, iPhones with TouchOSC seemed like a good choice. After a while in the development phase I had one person first working on an iPhone client, but he was unable to do the job quickly enough. (Or even do anything) So I asked another guy whether he would be interested to help. He agreed, but as it turned out he was similarly “unable” to do anything. My project was in trouble, so I switched over to Plan B: Wiimote’s controlling Intello. What shall I say more? It worked like a charm! People find it fun to play and using Wiimotes seems inviting to people to play with Intello.
Another thing I was interested in was: Is there a relation between loop length changes and mathematical sequences? The Fibonacci sequence, for instance, is often referred to as being the “golden sequence”. I knew BT is in love with Fibonacci sequences as well. So I became curious whether “Fibonacci sequence loop length changes” would sound more pleasing to our ears than linear or exponential changes. Therefore Intello has “modes” that change loop lengths automatically. As it turns out…they are rather useful. If useful at all. If you’re like me the original first intention (press a button, make something going on) is the only way I want to use Intello. Having that said I will likely remove this functionality in a future release.

Back to the control surface importance. Intello the project, my degree, (not the software) has this live performing part. I was interested how an audience reacts when they are given little control over the things they are hearing. After having Intello feature-complete I searched for a venue to test my theoretical assumptions. A couple of unsuccessful tries later I remembered that I had this BarCamp London 8 ticket. Here’s the presentation I gave there:

Sale

The plugin will be on sale in two weeks from this website for €20 (about $27, £17).

Requirements:

  • Ableton Live 9
  • Max for Live

Known Issues:

  • Each first loop iteration can’t be pitched. This is due to a technical that resides within the technique of live sampling. After the recording into the buffer has started it’s technically impossible to read that buffer out at the same time. Playing with alternatives like taking recording tape analogy didn’t work out either. Having two heads, one for recording, the other one for playback, has one upside and one unacceptable downside. On the plus side Intello could have used the delay between record and play head to read the stuff the record head has just written. But on the downside was the question “what happens when a musician decides to speed up playback?” Wouldn’t that mean the play head forereaches the recording head? Intello still could have used this technique, though, but a player wouldn’t have been able to remain control over the pitch while the first iteration is being recorded.
  • No locking to musical values. It would be rather nice to lock loop length to musical values like 1/16th or 1/8th notes. This is planned for a future release.
  • The mathematical sequences don’t sound “interesting”. In a future release I plan to remove this function entirely. Sorry if this is the main cause you bought the plugin. Please let me know and I consider your arguments.

Thank you

A big Thank You goes to all people helped me developing Intello. My tutor Nye, my girlfriend Paula and all the testers and “nay sayers” I came across along the way. You all were very helpful.

PS

Because I’m aware what I need to make Intello work the way I expect it to, it is much easier to re-write the software in another language…