Commission Music

Commission Music
Bespoke Noise!!

Saturday, 25 March 2006

Springtime in Paris

Oh my god, It's NOT cold out!! I feel deliriously happy every time I venture outside. Today I went out without wearing a coat or even a jacket!! People have started sitting outside at cafés again. A (very) few things are blooming. There are new plants appearing in the community garden in the park by the canal. Oh, and it's gray and rainy pretty much non stop. But my god, it's not cold!! I don't feel depressed by the weather anymore! huzzah!

So I had a concert a couple of week ago. 20 or 30 people came. Afterwards, a bunch of them wanted to talk to me. They asked me what exactly I was doing and I showed them my interface (highlight this source code and press enter) and they were impressed in an "oh my god, you wrote all that code for your score??" sort of way. It was widely agreed that I am in need of some sort of visual element or perhaps I should not be on stage. Fine, I need a visible element. Therefore, I am looking for one or two USB keyboards of the typing variety. One I might want to take apart to use the keys as triggers. One I want to strap on like a uber-geeky sh101 and use to control stuff in some sort of obvious way. I'm imagining somehow attacking a keyboard to my tuba such that I can type on it with my left hand.

after playing, I fell ill and then I had class every day 10AM-6pm for many many days in a row. The subject was KYMA. Theoretically, I ought to be able to do something exciting with it . . .. but the cost. KYMA is a hardware/software solution for doing sound processing. The hardware is a DSP co-processor. Actually, more like 128 co-processors, all of which have extremely fast memory access, so your sound code never gets hung up on memory starvation or interrupts. This means that it does things like pitch detection much more accurately and correctly. The delay is like 3ms. It's way fast and it won't max out like my little laptop does sometimes when I write sloppy code. However, it's like 5k for an entry-level model. If I needed things within 3ms, that would be one thing, but I don't. Also, big and heavy. And finally, the programming interface is extremely graphical. It's very well done and extremely user friendly, but there's no way to get around it and just type what you want. I hate graphical interfaces to programming languages unless they can be defeated when I want to defeat them. And really finally, it is not adept at doing the sort of list processing that I am wont to do. Why does nobody think in terms of arrays like I think of arrays? Why am I always struggling against how other people view arrays? Why are the most obvious array accessing methods (such as pbinds) never well-suited to what I want to do? Arrays should evolve, people! The contents of an iteration through an array should be changed based on the last thing that happened. I'm switching to LISP. not really.

So I've decided that the time has come to do something with wavesets in supercollider. A waveset is a concept invented by Trevor Wishart and described in his book audible Design. Basically, it's a set of two zero crossings. Picture a sine wave or an audio wave. You start at zero, the wave goes up, reaches a maximum and then goes back down to zero, then it continues below zero, reaches a minimum and head back up to zero. This is one period of a wave. Wishart terms it a waveset and notes several things one can do with a waveset. For instance, audio waves usually don't look too much like the sine wave you probably just pictured. However, you could replace the bumpy real waves with sinusoidal ones. And you could do this in real time. And if you know of pre-existing supercollider Ugens that do this, I would like to know about them. Real-time programming makes my brain hurt. There's not a single problem with it that I can't figure out how to solve, provided I can peek into the future. Why is time not more fungible? So I'm "writing" a UGen, where "writing" means furrowing my brow, making incomprehensible doodles on scratch paper and reading source for other UGens.

Other news: I haven't heard anything from the company that wanted to hire me since I sent them a salary demand. Alas. So I basically have no idea what I'm doing when my lease runs out in a couple of months. Do I look for a new place because I'll have a job or do I hit the road? Also, maybe I might do the year long program at Sonology in Den Haag. They have a very late application deadline, which is good, but I dunno about Den Haag. It's not as exciting as Paris, but on the other hand, I would actually have some sort of "in" to the music scene, which is more than I have here. Also, it's still cold there.

I met somebody last night who had lived in the Bay Area for 5 years. She started talking about redwood trees. So we spoke of trees, the coast, banana slugs. I thought of how pretty it was. Everything has already gone into bloom, I'm sure, and the farmer's markets are full of strawberries and most of my friends and family lives there and yikes, homesickness. (I don't often speak about missing my friends, this is because I am trying not think about it, not because I don't.) My dear friend Jean got bit by a tick and got a weird rash about it. I comment in her blog "go see a doctor!!" I wrote. She did. It cost $135. You can get dental surgery in a hospital for about that amount here, not counting prescriptions. How the hell are people with insurance supposed to fork over $135? For most people, it's not a question of if they get sick, but when. Most folks will have at least one major illness in their life. How are they supposed to pay for it if just a tick bite costs $135? And also, Bush is president and Ahnold is governator and SF is the next NOLA when the big one hits and living in the US sitting on the edge of a precarity. We all know the big one is going to come and knock down our house. And we know that no insurance company or government or anyone who holds the public trust is going to do a damn thing about it. None of these questions are "if." They're "when." Added to this, there is no real support for the arts. So I don't want to go home. Except that I do.



Jean Sirius said...

"sitting on the edge of a precarity"
i *love* that.

i don't have a rash. i have a big old swollen red area around the bite. it's my immune system taking it to the mat. if i can still see anything in two weeks, i'll do the course of antibiotics. because lyme disease, man: i would so blow my brains out instead.

Les said...

La français, she changes my speaking.

It should not have cost so much for you to see a doctor. It's criminal! I think here a pharmacist could have probably given you free advice. If not, it would have been about $110 cheaper to see a doctor. This health insurance thing should be the number one domestic political issue in the US and I don't understand why it's not.

sicocitls snaivth said...

there's a Wavesets -class- that Alberto De Campo wrote for sc3 somewhere on the swiki i think.
i'm looking forward to getting round to learning how to make UGens sometime......

Les said...

Indeed, the wavesets class is part of the public library. It works by loading a soundfile and looking at the contents of it in the SC interpreter and making arrays which hold all the zero crossings. This is fine, but it's not real time.

You can send a trigger based on zero crossings, since a trigger happens when a signal switches from positive to negative, but this is not a good idea because you can only send one trigger per frame: once every 64 samples. This is unlikely to mesh with your input.

But the short frame size is a pain in the ass. You might have to go multiple frames before finding your zeros and being able to do anything with them, like replace them with sine waves. I think I'm going to have to use a delay buffer or something? I really know nothing. UGens are intensely complicated, especially because they're real-time. This is what used to screw me up with MAX. SC wins major points for their language appearing sane to the end user. anyway, all the easy UGens have already been written, so in order to learn to write them, you need to have the patience to duplicate things that have already been done (to learn the ropes) before you build your brilliant new thing. It's in my queue...