Roman Thilenius is a musician and programmer located in Frankfurt, Germany. He has used Max/MSP since 2002.
What got you started?
My peers had to convince me that I should try something like Max/MSP or Supercollider. After serious doubts if such things could really be something for me, I got into it faster than expected, and built the one or other little custom tool with these new environments. Tools, which I also gladly would have bought or downloaded somewhere, but which did not exist, because nobody knew what I needed. That was the first thing I learned when I started creating software: Only you know what the perfect tool has to look like and how it has to work for you. Among my first projects were a set of midicontroller apps with morphing function, an innovative multi-stage dynamic effect, and a virtual-analog FM synth where the operators could be triggered independently from each other and polyphonically. These first projects do still exist in some form, and I still use them.
How do you know when something you are working on is finished?
With music it is easy. If you don't know if a production is finished or not, you just ask other people, preferably non-professionals, because they can tell best if something is finished. The maker himself can not.
With software it is more difficult. I´ve built about 20 bigger projects in Max/MSP, all of which are about 80% done, but probably will never be "finished". Creating only unfinished things makes it difficult to share them. And sometimes even difficult to use them, because you keep adding new updates to the software instead of using it for its purpose, when you run the app. After a while it also becomes difficult to start new projects, because the old projects still need to be babysat, too.
When do you like to use chance or random processes?
Random ... I really dislike it. I want to be in control of everything. While this regularly does not work out with women and with politics, you can easily win this controlling game against a computer. That's why I like computers so much.
Where Max/MSP is used to generate musical structures, you should try to avoid random processes, because random is unaesthetic. random, chance, or noise are not very well qualified to produce harmonic, organic, or fractal structures, which you need for music.
Take on the most simple case, generating a melody using random(). That`s rubbish. Random() will never become music, it will always stay random(). Random should only be used somewhere in the background of other algorithms, to produce variations of them, in order to avoid repetitions. Because the repetition is the other enemy of lively, musical structures. Both, random and repetition, are totally useless when used purely.
What’s something that you would like to be able to do with technology in your work but you can’t at the moment?
Since I have decided that I will stick with MacOS9 for the next 40 years, processing power is what I currently lack most. With more processing power I could transfer the whole process of sound design, mixing and mastering into Max/MSP and do it in realtime. While it can also have advantages to work on audio and video in nonrealtime, it is of course a very slow and laborious method.
What inspires you?
The most substantial sources of inspiration are methods used by other people, to see how they do their things. Sometimes I try to copy them, or improve their methods. Of course, most attempts to copy something finally ends up with something totally new, and not with a copy of the original.
What is the most difficult obstacle you need to overcome in order to do your thing?
Programming languages have the advantage of being programming languages. A piano lets you play the piano, an audio mixer lets you sum audio, but a programming environment lets you do thousands of things. This can quickly become a huge disadvantage, because you might do too much different things at a time instead of concentrating on one.
Then there is another impediment, which is also related to the seemingly endless possibilities of computer-based creative work. You must learn all kind of secondary stuff in order to reach your aim. When you are about to build you first circular interface control, you have to learn something new about geometry. When you want to let a ball jump around, you have to learn something new about physics. Sometimes you reach a point, where you don't understand something, or where you lack the discipline to learn it. then you have to give up on the original idea you had, and this destroys the idea, or at least delays its implementation as code.
Last but not least, there is another big conundrum. It is the question, whether there will ever be an end or not. Will we have invented everything some day? I am not sure what should make me more afraid: that I will never manage to find out and build everything, or that it happens one day, and then there is nothing left what has to be done.