so-on talks with Akihiro Kubota

You define yourself as a digital materialist. Can you explain what you mean by this, and what is your artistic background.

Digital materialism is the fundamental concept for my audio-visual work: installations and performances. I see the digital computer not as a tool, but as a raw material for generating artworks, similar to stone, wood, iron and so on.
In a digital computer you have huge clusters of numbers, such as files and data. These numbers have no forms, and in order to perceptualize them we need to transform the numbers into sound, images, text, and so on. The important point is how to perceptualize the numbers inside the computer, how we transform them into their perceptual form. That is the basic approach for creating art.
People often say it is very important how to digitize something, but i think the most important point is how to perceptualize the digital itself. The raw material is only numbers, without any form, and the way we transform this raw materials into a perceptual form is the basic approach of my digital work.

Do you mean by this that an artist should see from start beyond the numbers a certain form of audio and visuals?

What is the starting point? The starting point are the numbers, not the physical world. Starting from the digital domain is the most important approach for the digital materialist. These numbers are some kind of conceptual material and than they transform into a concrete form.

You are part of the organisation the society of algorithm. Their core artistic business is to work with algorithms. Can you explain in a clear way what is an artistic algorithm?

An application or a program is made out of algorithms and a structure of data. The algorithm is the abstraction of the process, while the data stand for the abstraction of objects.
In general an algorithm is a very fundamental mechanic of the universe. Algorithms exist everywhere: in my body, in my cells, in my DNA, and in physical materials as earth and air … in the artistic way we think how to externalize , how to process this algorithm to make an artistic work, with audio or visuals or text.

Is it right to say that in one way algorithms exists, but in another way algorithms can also be created from scratch in a computer?

The important point of the digits in the computer, the raw material, is the abstraction. Of course algorithms are everywhere, but the essence of algorithms is to externalize, to abstract something. So we can say that the computer has data and algorithms, and that is the programming. The data are a kind of abstraction of the object, and the algorithm is the abstraction of the process. The data are related to the digital materialism, abstract the various materials or the various forms of audio and video or text under numbers.
In the way the algorithm abstracts the process, it can be seen as the equivalent of human skills as playing the piano or drawing scetches. The algorithms are the skills of the computer to generate audio and visuals and text.

So, the algorithms can be seen as a recipy to create audio or visual material?

Yes, thats right. The digital data can abstract the audio and the visuals. Also, code can abstract the process of making audio and visuals. That means the exchanging of the process of audio and visuals or the unifying of such processes under the code.

What’s the history of algorithms in art? context? some examples?
is THE HUB a good example for the algorithmic use of audio?
or The VASULKA’S for video?

I think there are 4 levels of algorithmic art.
The first level is physical, like the early constructivist drawings of the 1920s or like mondriaan.
The second level is analog algorithmic art, like electronic art from the 1950s – for example light synthesizers and kinetic art or op art, are all based on simple algorithms.
The third level is the digital algorithmic art, early computer art of the sixties and seventies. It is the beginning of the programming and coding for audiovisual art.
And now we are in the forth level of algorithmic art: the networked or connected algorithmic art. Today we are sharing code and algorithms, using the network, so there is a connected environment for the algorithms.

So the first 3 levels are merely based on an individual approach of algorithmic art, while this fourth level turns around collectivity and connectedness? Sharing code and information in realtime. In what way this new approach changes for you the conception, production and presentation of an artwork? Distributed artworks, are they more difficult to agree on? Does a collaborative setup differ from an individual setup when artists work with algorithmic art?

There are two aspects of algorithmic art. The non-realtime algorithmic art: here you have first the coding and then the rendering into sound or images, to perceptualization of the algorithmic composition.
Another aspect of algorithmic art is the realtime aspect. Realtime algorithmic art is writing code and generating audio and video simultaneous, here you can speak of an algorithmic improvisation.
In a networked environment we also have three ways of audio visual abstraction: a parametric abstraction, a spectral abstraction and a material abstraction.
And in such an environment, algorithms are connected, distributed, open, organic, evolutional and social. Here we speak about the society of algorithm.

When you work in a networked environment: how do you work out your concept? When you work online in a distributed way, you still can use a chat to discuss the approach but once the performance starts, you have to agree and follow and perform together in a network where everyone has the same importance. Is this way of working always that simple, or does new ways of presenting and producing emerge out of it? In what way does a virtual [online/realtime] collaboration differ from an onsite networked collaboration?

Onsite we can communicate in many ways, with body language, speech, writing etc…. but the online collaboration has to figure out how we can abstract our communication. This is a very important issue for the digital art, because the abstraction is the key issue for algorithmic art. So if we do an online collaboration we must abstract our way of communication. We have to find out what is the essence of the communication, what we really think. We have to innovate our communication .
Human perception, cognition, memory and thinking is emergent, generative. Its also redundant and improvisational. In an onsite situation, this is closed, rigid, inextensible and centralized. In an online situation, this is open, flexible, extensible and distributed. We can see the desktop as a virtual body. And connected desktops as connected bodies.

Does this mean that when youre working online you have to know the people with whom you work together, or can they also be strangers? Is it important to be familiar with the work of the collaborating artists? …

If we can open and share the protocol of the communication than we can collaborate everywhere. There are different levels of communication. Sometimes you can discuss very intimate with a friend, but sometimes we need to open the discussion, for example through an open chatting space on the network. So this kind of closed collaboration can generate something. And also open collaboration can generate something different, so we can choose both ways for creation. From the moment we can abstract the protocol of the communication.

Do you take into account the place of the listener, of the public, during the creation of a collaborative artwork? Are you aware of a different way of perception of the artwork by an online [and sometimes onsite] public?

An onsite audience needs a dense communication, between the artist and the public, but an online audience can be happy with a more ambient communication. The people can choose themselves in what way they listen to the performance, in what way they share the physical space…
A networded performance is based on a more sparse communication. But its interesting to me. Sometimes I just go away during online connected performances, I go for a coffee or so, and these possibilities inspire another way of performaning, another way of presenting and also another way of perception by the public.

Ok, online you work in a rather open setup. There is no fixed stage, no fixed location.
Can everybody collaborate when you set up an online connected performance? Or do you have agreements with certain artists upfront?

Mainly I think we set up something fixed with people we know, because to share a good artwork with performers and with the audience, we need some basic fundamentals.
So we need to collaborate with a fixed group of artists who can offer this basis, and than other artists can jump in and do some topping” of the artwork.
Every performer is not equivalent. There are different levels, but they are all connected.

If time and space dont count anymore in these online setups, and artists from all over the world collaborate in realtime, does this have important implications for the nature of the collaborative artwork? I mean, do you feel the mix of different cultures in one work and do they influence the conceptualization and creation of the work in a radically new way?

Time and space are exchangeable in an online collaboration, from this emerges a sense of distributed synchronicity.
Its a simple and clear way to synchronize on different levels if youre working with applications as supercollider or max/msp or pd, and if you can share the code. Culture and place are not important anymore in the creation, and different levels as academic or artistic approaches, are mixed.
And also in the use of code, you have different approaches. You can write code from scratch, this is the very traditional way of working with code, but now we dont need to do this anymore. Today you can sample parts of code on which you continue, more the way of working of a DJ, a code Jockey, and therein you can feel and see different cultures, in the different parts of code, from different backgrounds, all put together.

What exactly is ‘live coding’ , from an artistic point of view?

Live coding is realtime, improvisational, connected, transcultural audio-visual art of the 21st century, of the post-dj, post-gui era.
And a code jockey is sampling, editing and playing code like disk jockey. Its an algorithmic improvisator.
A networked code jockey, on top of that, is a connected, collaborative algorithmic improvisator of the post-dj era.

When youre working with live-coding, and you sample pieces of code from different applications, are they all immediately compatible together? You have to link them…

Yes, thats why we need to abstract the communication. Code is modulized, so if we define how to communicate the code, we can exchange modules, add parts of code, and thats the communication between algorithms.
Thats the basic meaning of the society of algorithm. The language can abstract our communication, and the language can also abstract the communication of the code. And so the code and the human become part of mixed networks, and we can generate new approaches for creating code in real time. Of course its difficult to do this in realtime, but if we define the communication protocol, a common format between code and human, than we can match and redesign in realtime.

Can you give me an example in what way you mix object oriented code-writing [as max msp, for ex] with code that is written in the commandline?how does it work, live coding?

I prepare many small modules upfront the performance. All modules have the same protocol, the same input and output. For example I prepare templates for how to control the modules, especially for the performances.
In realtime I can modify these modules, and connect them to other modules.
With for example supercollider I work in another approach. I dont mix both applications. So I prepare some code before the performance, you can compare it to a kind of skills that I have in my muscles. Imagine you play a piano, you prepare it everyday, you work on it, and than it gets into you body.
The same for code. I practise everyday, and I also have an archive of my favorite code, as you can have an archive of your favorite sounds…
An important aspect of code is that its easy to change. Easily modifying format, this is one of the code features of the open source programmers.
Mix or scratch with code in realtime is changing the sound more dynamically, so thats one of the benefits of live coding. We can easily change sounds and images.

For me this approach goed beyond the domain of a DJ. A DJ is working with samples from someone else, but you are modifying the samples of code, so you create a new work with it?

Yes, by adapting the code we can extend the performance to a higher level than just sampling. We generate sounds more dynamically. We select pieces of code upfront, and than during the performances we write new patches and new algorithms with it. The important point is that in an onsite collaboration, artists need often a very rapid response, but online you can cope in a different way with time, its another kind of collaboration.
We can change code during the performance in a chat or BBS, or we can do distributed coding using the same environment.

Do you need to be an experienced coder or programmer to participate in these performances?

The difference between a DJ and code jockey is the interface. A DJ is a performer of the GUI-era because the mixer has a kind of GUI, a normal interface.
In a live coding performance, the code itself is the interface, so we need to know enough about how to execute the code or how to interprete the code. So back to the digital materialism, to know your material is the most important way to create something. A live coder is an artist of the post-interface era. A post GUI-artist knows more about the material itself. More skills to handle the material. So the artists communicate directly with the computer, and not via the GUI. Same as a painter who makes his drawings in his scetchbook everyday, a digital artist will practice his code every day.

Do you get sometimes inspired by real life events, as for example when youre walking through a city, can the city inspire you?

Yes! Compare it to Messiaen who was working with the sounds of birds and transcribed their singing into notation, and made a score out of it. For me its the same as for a traditional artist: how to translate the citysounds into a notation for music. Noise, sounds, translate them into code: its the same process.
Another important source of social inspiration is the network: the mailing-lists of communities, where you can find some pieces of code or some new ways described for writing code — this is also a part of the city for me. A virtual city or community. This is very important. The education in coding always starts with the academic hello world! But I give my students some example patches that they can change freely. The importance is that they understand how to work. How to generate lines of code, how to move a line or deform a rectangle is more important in the beginning, and a better way to start coding, than the traditional hello world!Good-bye, hello World!