25 May 11
16:50

Linux Audio Conference 2011

I did a performance a few weeks ago at the Linux Audio Conference in Maynooth, Ireland. I had no idea that the cars run their like in Japan – on the left side. I guess this is the urban equivalent of galapagos island evolutionary theory.

The performance was done as a 4 hour long installation in front of the main concert hall. This was nice because it made the whole thing really informal and people would come up and talk. It’s probably the only performance where I got multiple requests for specific sorting sonifications (e.g. ‘Please do mergesort on a size 30 array with 5 discrete values next’). It had the techy-conference problems of having the entire audience being male except for a few wives.

One of the nice things about LAC was that it was very low on expenses. This is something I have been thinking a lot more since my gradual departure from the academic ivory tower while still doing some experimental music and living like a cheap bastard in Berlin. LAC was completely free to register, and my total transportation (inc. airfare), food, and hostel costs were less than 200 EUR. For comparison, I’ve been accepted to ICMC the last two years but decided it wasn’t worth going to as they generally charge around $300 or more just to register. I don’t quite get this as they should be using university venues and funding to host. LAC is much smaller and they still manage to pull it off. Sometimes I wonder if ICMC does this specifically to keep non-academics who won’t have institutions to fund them out. ‘Pay to play’ kind of is a stupid model at any rate.

I was hoping that FFmpeg folks would be there, but they weren’t. I mean to work more on a seeking API for them over the next few months.
Instead, I met up with a friend from my Tokyo Denki University lab, Rennick Bell, who did a presentation on using haskell as an interface for livecoding with supercollider. Rennick also came to Berlin after which gave me a much needed reason to visit the SuperCollider meeting at NK.

I also met some interesting new folks working on new and interesting things.

Flávio Luiz Schiavoni and Giuliano Obici were fun Brazilians (apologies if this is a stereotype) who did a pretty nice installation called Concerto para Lanhouse:

Flavio also has created a system for networking music called medusa (pdf) which I am kind of interested in to use with someone for livestreaming performances.

I also met Daniel Mack there, who is working on writing a OS X version of pulseaudio. This sounds great because then I finally pipe audio between my linux and mac boxes (I have four). Apparently JACK works on mac, but I have never gotten it to. On the bus ride home from the airport I also met him again, meaning that we both live in Berlin so maybe there will be some work we can do together or I can help test.

Tim Blechmann of SuperCollider also presented a new system called ‘Supernova’ that uses parallelization in SC for better performance. I’m interested in that from a code standpoint. Apparently the work from Supernova is being or going to be used in boost libraries. Once we get the stable release of Audacity out I’m going to look at our on-demand engine, so it was nice to be able to talk to Tim about these ideas.

As far as my own musical work I’ve been modifying lstn somewhat – now there is some 8-bit visualization that actually looks kind of cool. But for the most part I have been focusing on Audacity and contract work. The stable release seems as always 2-3 months away despite my crunching about 8 bugs last month. God damn those P2 bugs. Since I’m not doing summer of code this year I hope I can pound it out.

To keep contributing to the music community though, I think I am going to do some writeups of the environment (both musical and japanese) in Berlin next.

gg.

09 Apr 11
18:27

Workshop and Concert in the Netherlands

Last month I did a concert in Den Haag at Loos Foundation. This was part of a series organized by Marie Guileray. Last year I did a concert there as a part of the Wonderwerp series, and the energy there was amazing, giving me one of the best memories I have of a performance. (I am not usually as excited about performance as I am about making the tools and presenting them.) Last month was also very nice, with a good number of people with genuine interest in the sonification tools.
One guy was even nice enough to record the performance and put it up on youtube:

Something about Den Haag is very special when it comes to atmosphere in experimental music. The city is home to the Royal Conservatory, where a number of notable people have taught, including Louis Andriessen. The conservatory also contains the sonology department, which has been a home to Gottfried Michael Konig and a large number of students focusing on some type of computer music. The city itself is not that big, so the experimental music scene revolves around the students of the school. This makes for a very knowledgeable audience. The level of focus the audience has feels very high there. It’s interesting that such a thing can be different for two audiences that are silent and watching the performance, but it really feels this way to me. I’m not getting spiritual on you; I think there are subtle cues that give this away, such as the breathing patterns of the room. It’s also a very positive place, preferring synergy over competition, which is important in an educational environment.

Three weeks later I did a program sonification workshop in Amsterdam at STEIM. I wasn’t sure what to expect for turnout, but it sold out two weeks before the workshop date. The people that showed up had a wide range of backgrounds. I would say most did not know programming per se, which was great, because the sonification of program concepts are not really about code at all, but rather about behavior, something which should be able to make sense to everyone that uses a computer. We did go into xcode a bit, to recompile programs to sonify themselves. While some people didn’t know how to code, it wasn’t so important since the steps to do this using my libraries were quite simple. Also because this was a workshop, and you’re supposed to learn things, everyone was open to the idea. To be honest there were a few bumps, but everyone came through in the end. I am thinking to polish the workshop up a bit and give it another shot.

24 Dec 10
00:27

SMB filesharing on mac (works with windows clients)

I have an old powerbook g4 (2004,) which was my main computer until last year. Apple products are expensive but I think it was pretty worth it’s money. Now I have a Core Duo (2006) macbook and a sweet homebrew core 2 quad pc whose main purpose in life is to fix audacity bugs on [...]

Debug the rest of this issue »

09 Dec 10
01:10

Listen to your computer: lstn

Lstn is another project I’ve been working on with Institute for Algorhythmics.
It is a program that sonifies real-time debugging data of other programs. If you were interested in the FuckingAudacity or FuckingWebBrowser demos you’ll probably like this one. Those were sonification from the inside out, and lstn is about external sonification:

We sonify opcodes, callstack, and active memory. The sonification of active memory is direct, but sonifying opcodes and callstack info is more tricky to do ‘mostly honestly,’ and we’re still trying to figure it out. The project is still in alpha stage.
You can use lstn to attach to pretty much any program on the mac besides itself.

You can also use lstn to do old-school sonification of chunks of memory (as opposed to jumping around wherever the opcodes go.) The sonification of memory this way has a suprising amount of periodicity in it, creating both tones, and even things like crecendi and decrecendi.

There is built in osc support, but we’re not sure yet what data to send, as my impression is that osc might choke if you send too much stuff at irregular intervals.

I’m hoping to work more on the display to draw a visual map of the memory and program counter and also some tree-like structure for visualizing the callstack.

Another feature to note is the speed control which reduces the speed of the program being attached to. This is important because our ears won’t be able to catch things that happen at rates higher than the sample rate. I hope as the sonification methods become more meaningful that this feature will have more value.

This project started last February, but has only gotten this far because I keep changing OS’s and computers. The program needs different source for each of these combinations, since the opcodes and opcode format for i386, i386_64 and ppc are different. As of right now it works on ppc best and i386 (core duo) pretty well. on ppc you can simultaneously attach to many different processes, but I haven’t gotten that to work on core duo yet.

This project has taught me a lot more about cpu internals and program structure than any other program, (or class for that matter) has given me. So if you’re a programmer and this kind of stuff tickles your whatever, I suggest taking a look at the source and asking me about it. Otherwise just hold on till we get a real release.

24 Nov 10
21:37

sizeof dynamically allocated arrays in c

The MAX(a,b) macro bug I posted last was something I had done before. Today and Yesterday I spent a good few hours running over my old mistakes. What’s a difference between: unsigned char *dynArray = malloc(500); unsigned char trueArray[500]; well, Today’s arrrrrrg is that sizeof (dynArray) is just the size of a pointer, not the [...]

Debug the rest of this issue »