Biting my nails

Some time very soon I will be getting either an acceptance or rejection from Sonology in den Haag. Then I will know important things like when to buy plane tickets, cuz they’re getting more outrageously expensive every day.

I both hate and love France right now. I want to have a conflicted relationship with another country. One that allows pot smoking.
Oh my god, it’s June already! What happened to all my time here? I haven’t planned for the summer and it IS summer! Augh, I don’t know anything!
Ahem. The Netherlands does not have long stay tourist visas. If you want to go for a long time, you’ll need a gig like school or a job. (Although you can “rejoin family” and they’re one of like three countries with gay marriage.) However, my ladyfriend wants a gig anyway. Are there a lot of .nl’s? Are they hiring? Is it hard to get work papers? I don’t know anything because I don’t even know if I’m going yet and it’s already International Satan Day. (um, actually it’s the fête of St Norbert, but whatever. Everybody named Norbert gets to have a party today, which, gosh, if anybody deserved to have a party based on their name. . .. anyway.)
If you are in Washington State, you can hear a short piece of mine being played in Bainbridge Island tonight. If you are in NYC or the internet, you can request the self-same piece to get played on the radio on June 13th. If you are in Paris, I have a gig Friday night. If you are in den Haag, can you please get back to me soon?
Tags: ,

Write the program, write the notes, write the program notes

In which I pretend to be bilingual. concert info.

Élégie 2006 de Hutchins. Flûte à bec et ordinateur. – Ça morceau de musique a un air triste. Les notes sont instables. Elles glissent de équilibré al précarité, comme la vie descend al la mort. C’est un souvenir des mortes dans ma famille.

Elegy 2006 by Hutchins. Recorder and computer. – A piece with unstable notes. They glissando from equilibrium to precarity as life slides into death. This is a remembrance of of my deceased mother and foremothers.

Bach can write his own program notes

Bell Tolls 2004 de Hutchins. Ordinateur. – Des triades des cloches fausses. Il y a un algorithme de spatialisation, donc toutes les notes semblent si elles avent des sources différentes. Les tons sont de une table d’accords.

Bell Tolls 2004 by Hutchins. Computer. -Triads with a sound that resembles wind chimes. It uses a spatialization algorithm so that each “chime” sounds like it is coming from a different location. The pitch of each new set of chimes is based on the pitch of the chimes that precede it. The pitches come from a 21-limit tuning table.

Ishii I wouldn’t presume to write program notes for

Meditations pour les Femmes 2005 – 2006 de Hutchins. Ordinateur – La poésie est par Jean SIRIUS 1981. La traduction est d’Isabelle JULIENNE 2006. La voix est celle de Solène RIOT.
Meditations for Women 2005 – 6 by Hutchins. Computer – This piece uses the voice of Solène RIOT reading Jean SIRIUS’ 1981 poem “Meditations for Women.” Fr. tr. Isabelle JULIENNE

Multis 2006 de Hutchins. Flûte à bec. – Un tactus rythmique avec des multiphoniques.
Multis 2006 by hutchins. Recorder. – A rhythmic tactus with multiphonics

Improvisation – Flûte à bec avec un logiciel fait main d’échantillonnage.
Improvisation – Recorder and home-brew sampling software
Celeste Hutchins est née en Californie durant 1976. Elle a obtenu un diplôme de Mills College de Oakland de Californie durant 1998 et de l’université de Wesleyan durant 2005. Elle jouait de concerts aux États-Unis, Canada et France, de la radio, de l’Internet, et des CDs. Ella a fini récemment le cours de CCMIX de Romanville.
Celeste Hutchins was born in California in 1976. She went to Mills College in Oakland, California and graduated with a B.A. in 1998 and from Wesleyan University with an MA in 2005. She has played at several concerts, appeared on a CD put out by Ibol Records and has had radio and internet play. Celeste just finished the course at CCMIX in France.

I think the program notes for elegy are too melodramatic. When I wrote the piece it was about unstable rhythms and pitch sliding, but the player is not so fond of instability and it became a lot more lyrical. This is why you collaborate, right? To come up with things you wouldn’t have done otherwise. But I don’t know what to say about the piece now aside from that I’m not a fan of the computer background drone that got added.
And multis, um, is in 9/8 usually divided with two groups of three 8th notes followed by two dotted 8th notes, but this changes. And it’s got multiphonics. and is very rhythmic. And um. yeah. When I wrote it, I was thinking that wikipedia should really have an article up about wtf tactus means, cuz I was asked for tactus and it took me forever to figure out what that meant.
(why did i write my own sample software? Because I’m too cheap to buy any. This must change! For some applications, I can get exactly what I want by writing it, but in this case, the final output (“Simple Sample” I called the app) would have been so much better if I’d used commercial software. Easier to play, easier to control, less time chasing bugs. I’m not using any fancy algorithms, just some beat tracking, looping and straight-ahead play back. (Maybe a teeny bit of PitchShift.ar). Home brew should not equal creds unless it’s really worth home brewing. (A homebrewed clone of Miller Light “beer” is still piss – it’s a home brewed doppelbach that’s worth the effort.) Anyway, I learned that Renaissance musicians may not be fans of granularization.)
Comments are, as always, welcome.
Tags: ,

Anybody want to go in with me on a castle?

Screw grad school, I want a castle. Imagine: You are in your swimwear, lounging by the side of the pristine blue pool. Your housemate approaches with a twinkle in his eye. “would you like anything to drink?” he asks you? “A martini. Shaken, not stirred.” you reply. He smiles. “But of course.” he says, handing you a glass.  . . . After a while, you dive into the cool, refreshing pool and swim a few laps and then towel off, and head to the castle’s electronic music studio.
At €3 – €7 m, and with like 20 bedrooms, these castles are surprisingly affordable for a group of co-buyers. Less than Bay Area housing. We could have a lovely library, some music studios, a darkroom, extra bedrooms to grant to guests. Plus all the cachée of being able to speak about your château in the south of France. (I’d also consider along the Rhine or Italy, but southern France has the advantages of nice weather and being in France).
But how to pay the mortgage? Due to some treaty some place, it’s possible for American citizens to start companies in France with a minimum of paperwork. A castle-based consulting company? Also, some of the rooms could be rented to tourists.
Imagine yourself sitting by the pool with your laptop. Having tea in the library. Strolling among the turrets. Riding a scooter to the village to get some baguettes. Introducing yourself as “Crane, Mitch Crane” (or use your own name.) Skiing in the Alps every winter.
Well, I’ve talked myself into this, but my Berkeley equity is less than 10%, of the castle value, which may not be enough for a down payment and my income by itself definitely can’t cover the payments and upkeep. You want to own 10% or 25% of a castle! You want to live near Nice!
I’ve always been a fan of community living. Sharing books and equipment with trustworthy people, being a part of a creative community means cross-fertalization of ideas. If you like to write stories about the future, you can help inspire the music of the future or vice versa.
Edit: My list of relatively affordable castles.
Tags: ,

Convolution?

Comment I received last night about a piece I wrote: “Is it art or is it for people to listen to?” I sigh just thinking of it. I am an anxious and nervous person. If my music makes you feel anxious and nervous it’s because that’s how I feel. I probably need meds. Then I could write some happy music. In the meantime, have some noise music. I like noise music.
Why is it that the convolution on SoundHack has absolutely nothing whatsoever in common with the Convolution UGen in SuperCollider? As far as I’ve ever heard, there is only one audio process with that name. And SoundHack does what I expect. So what is this UGen bullshit? It has absolutely nothing whatsoever to do with convolution. It’s like a filter or something. It’s garbage. I don’t have all morning to waste trying to figure out why my SynthDef isn’t working when the UGen is a fucked up piece of shit. Whoever you are Convolution and Convolution2 writer, your UGen does NOT work as advertised! You have wasted my time! (In the future, I should try running the examples in the helpfile before trying to build something, instead of just assuming that things do what they say they do. Or, you know, maybe some people have the mistaken idea that convolution just exists in the frequency domain and were too lazy and annoying to come up with a new name for their related process.)

I feel frustrated. I wanted to make an frustrated piece of convolution. Screaming mixed with gong sound. But I have no real-time convolver. Maybe I could write one with some FFTs.
I am an idiot.

Convolution2.ar(in, bufnum, trigger, framesize, mul, add)

framesize – size of FFT frame, must be a power of two. Convolution uses twice this number internally, maximum value you can give this argument is 2^16=65536. Note that it gets progressively more expensive to run for higher powers! 512, 1024, 2048, 4096 standard.

Yeah, so if I give it a framesize of 65536, I get a nice long gong-y decay and glitches galore as my peak CPU-usage climbs above 600%. (How can you use 600% of something?) Clearly I need a new intel mac, a capybara, a different idea.
Also, to the writer of the Convolution UGens: I’m very sorry I besmirched your UGens. Your helpfile could be a teeny bit clearer though. The link to http://www.dspguide.com/ch18.htm is nice, but it still might be a good idea to mention the implications of the framesize at least in passing.
Tags: ,

Art and Movies

I’ve been a big mess of stress lately, so I took a break by catching a movie and some art.

The movie I saw is Marie Antoinette. My French is not good enough for most French films and nothing is shown with English subtitles, so I end up seeing english-language movies in VO (that is – undubbed, but with French subtitles). Alas, I go to the place with some fo the greatest films in the world and I can’t watch them. So I watched this American movie instead.
The costumes were apparently accurate. The sets look exactly like Versailles. Those are the good points of the movie. All of the good points. Oh, there was one kind of nice bit where they were playing period music over a montage and it ended in a scene where there was ensemble “actually” playing the tune. I like those kinds of transitions. But, to be geeky, the strings were panned to the elft, which is fine as that’s where they were visually. To the right was an invisible harpsichord. I heard it, but I couldn’t see it. Perhaps Versailles is haunted by ghostly harpsichords. This was the high point of musical editing. The rest was waaaay more sloppy. The movie didn’t even have a score. It had no musical theme whatsoever. Usually shitty movies can be held together by a repeating musical theme (think Laura), but this gave us nothing. I think one of the period pieces came back once or twice, but mostly it was pop tunes, all of which faded out in exactly the same way when they were finished.
So in the first part of the movie, all the outdoor shots were of spring time (“isn’t it ever winter at Versailles?” I thought to myself.) Then, in the middle, all of the outdoor scenes are high summer. Near the end it’s autumn. Sort of. It’s never winter. Wow, what a compelling metaphor! How artfully done! Perhaps in the next scene there will be the 731294679126346th montage of nobles drinking, gambling and eating cake while a silly pop song plays!
Kristin Dunst had an emotional range than ran from indigestion to constipated. She spent the whole movie looking as if she had over-indulged on cheese. The dialog? boring. (There was actually a section near the end where somebody was complaining that The Marriage of Figaro was too long. The Marriage of Figaro is good, unlike some movies I can name.) the plot? what plot? The historical time period and whatnot? You never see a single peasant until the end and you don’t even see their faces. They’re some inexplicably unhappy mob. In Dangerous Liaisons, the folks at least talk to servants. This movie doesn’t even get that much class consciousness. Bah. (You know aside from the constant CAKE EATING. hey, hey, get it? get it? a nod is as good as a wink to a blind bat!)
it sucked. I wanted to leave, but I didn’t because I was eagerly awaiting seeing everyone get beheaded. But, no, it ends before then.

art

There’s a bunch of modern art installations at Jardin du Luxembourg. My favorite kind of art is this kind: casual, free to the public, small doses. I like the integration of fine art into every day surroundings rather than a temple-like museum. So Nicole and I went to see some of the art, especially the display in the Orangery. It was all kind of perplexing and captivating in the way that I think art should be. A lot of it was (male) fascination with the female body and especially female sexual response. (Something that’s fine in small doses.) Almost all of the art in general was fascinated by corporeality. There were scenes of death. Images of pregnancy. Strange images of ruined flesh forms, which hinted at a destroyed humanity. Almost all of it seemed to be coming to terms with what it means to have a body and what it means to be human. How does our physicalness and ultimately our frailty form us?
I can’t think of a musical equivalent. It may be that the medium is the message in that visual arts are more able to represent such images and ask such questions where music is necessarily about time. Or it may that composers have not asked the same questions. I don’t know how to make music that contains those ideas, but I’ll be thinking about it.
Anyway, I feel much better and kind of inspired after looking at some art. The moral of this story is to avoid American films about France.
Tags: , , ,

A class for live timing

I’ve just made a simple class to handle some timing issues for me. It’s for a tap timer in which one can tap on a button, an external device or keyboard key in order to get timing. Useful for live situations. Also compatible with BBCut. I just wrote it today, so it probably has bugs in it or misunderstandings of how clock works, but I find it’s fixing the little timing errors I get by trying to trigger things from the computer keyboard. If I’m always a bit ahead, everything works out. Easy for a tuba player (it takes like 1/16th of a second for the sound to get from a tubists lips to the end of the horn!)

To do keyboard triggering, you use the Document class. For example:

var doc, timer;

timer = TapTimer.new(32);
doc = Document.new;
doc.keyDownAction_({arg thisDoc, key;
  var time;
  if((key == $t), {
      time = Main.elapsedTime;
      timer.tap(time);
  });
});

Then, when you want something to happen according to the clock, you wrap it in a routine. From within the same doc.keyDownAction:

    if((key == $a) , {
        Routine.new({Synth(example).play; }).play(timer.tempoclock);
    }, { if ((key == $b), {
        Routine.new({Pbind.play}).play(timer.tempoclock);
    }) });

You can also pass a clock to a Pbind, but the results don’t work the way I expect them to.
Anyway, my class gets times and does a bit of averaging if you hit ‘t’ a bunch of times in the above example. It has a start_tap method, which you would use if you wanted to start playing by triggering a sample or starting to record, but only
wanted the first time you did that to be able to mess with the timing. also, it has some convenience methods for changing
the phrase length, but not the clock, in case you want to make your samples play longer or shorter. And finally, I built in the idea of a maximum length because of constrains on Buffer sizes or delay lines, but if you want your taps to be indefinitely far apart, just pass in inf as the first argument to the constructor and it will do the right thing.
It’s short, so here it is:

TapTimer {

 var <externalclock, last_time, <phrase_len, <tempo, <beats_per_phrase, mAX_LEN, timearr,
  <>error_margin;
 
 
 *new { arg max = 16, phrase_len = 4, beats_per_phrase = 4, error_margin = 0.01;
 
  ^super.new.init(max, phrase_len, beats_per_phrase, error_margin);
 }
 
 
 init { arg max = 16, len = 4, beats = 4, error = 0.05;
 
  mAX_LEN = max;
  phrase_len = len;
  beats_per_phrase = beats;
  last_time = 0;
  tempo = phrase_len / beats_per_phrase;
  externalclock = ExternalClock(TempoClock(tempo)).play;
  timearr = [];
  error_margin = error;
 }
 
 tempoclock {
 
  ^externalclock.tempoclock;
 }
 
 beats_per_phrase_ { arg beats;
 
  beats_per_phrase = beats;
  tempo = phrase_len / beats_per_phrase;
  externalclock = ExternalClock(TempoClock(tempo)).play;
 }
 
 
 start_tap { arg time;
 
  
  (last_time == 0). if ({
   ((time.notNil).not). if ({
    time = Main.elapsedTime;
   });
   last_time = time;
   "first tap".postln;
  });
 }
 
 
 tap  { arg time;
   var current, avg, fudge;
 
  ((time.notNil).not). if ({
   time = Main.elapsedTime;
  });
  
  (last_time == 0). if ({
   last_time = time;
  } , {
   current = time - last_time;

   (current <= mAX_LEN) .if ({

    avg = timearr.sum / timearr.size;
    fudge = error_margin * current;
    
    (( avg < ( current + fudge)) &&
     ( avg > ( current - fudge))). if ({
     
      timearr = timearr.add(current);
      phrase_len = timearr.sum / timearr.size;
      tempo = phrase_len / beats_per_phrase;
       externalclock = ExternalClock(TempoClock(tempo)).play;
    } , {
    
     phrase_len = current;
     tempo = phrase_len / beats_per_phrase;
      externalclock = ExternalClock(TempoClock(tempo)).play;
      timearr = [current];
     });
    }); 
    last_time = time;
  });
  phrase_len.postln;
 }
 
 double {
 
  var new_len;
  
  new_len = phrase_len * 2;
  
  (new_len <= mAX_LEN).if ({
   phrase_len = new_len;
  });
 
 }
 
 half {
 
  phrase_len = phrase_len / 2;
 
 }
 
 quad {
  var new_len;
  
  new_len = phrase_len * 4;
  
  (new_len <= mAX_LEN).if ({
   phrase_len = new_len;
  });
 
 }
 
 eight {
  var new_len;
  
  new_len = phrase_len * 8;
  
  (new_len <= mAX_LEN).if ({
   phrase_len = new_len;
  });
 
 }
}

I’ve always been more involved with coding for the interpreter, stuff like this than doing weird SynthDefs. The other day, a commenter here told me about the PitchShift UGen. I don’t know if I just missed seeing it or it’s new or what, but I have never heard of it before. It’s so exciting! Also, all the wonky, buggy granualization code I wrote to pitch shift was for naught! Sort of. So leave a comment and tell me what your favorite Ugen is. Mine is Ringz, cuz I do love the bell sounds.

Tags: , ,

Tape Music in Bainbridge Island, WA

I’m going to be in a tape music concert in Washington soon, however, I will not physically be there. My one minute piece is brand new and you’ve never heard it before. Details:

60 x 60 Pacific Rim

An evening of original works involving music technology by sixty composers from countries around the Pacific Rim. Each work lasts no longer than one minute and is accompanied by projected computer-driven visualizations. 60 x 60 is a concert containing 60 compositions from 60 different composers, with each composition being 60 seconds or less in duration. These 60 recorded pieces are performed in succession without pause, one after another, creating a 1 hour concert.

The concert is sponsored by The Island Music Guild and the Bainbridge Island Arts and Humanities Council as part of the Sharing an Ocean Paciifc Rim Festival. The event is produced by the Vox Novus Foundation in New York City and the Island Music Guild. The 60 x 60 Project is now in its fourth year of production
Date: June 06, 2006

Time: 7:00 p.m. (6:60)

Admission: $3.60 (.60 x 6)

Place: Island Music Guild Hall

10598 Valley Road

Bainbridge Island, WA 98110

Tags: ,

If you were going to do live processing of a recorder

what would you do? I have no fucking clue. The recorder player seems to want me to have a sampler, which I don’t. I have supercollider and trying to generate a sample loop is causing me mad timing problems and also, wtf is with this “live” stuff? who does things live? ok, aside from everybody else on earth. jesus god, i have like 5 days (practically) in which to pull something together and almost nothing in the way of a clue.

Last night, I dreamt that I had to pass an exam in order to get some sort of certificate from my school (have I mentioned that I got confused and missed the last class?). The exam booklet was like 100 pages long and nobody told me I only needed to do the first few pages, so I skipped over them to do the easier problems first. Also, doing the test required me to wear these headphones in a weird stretchy helmet which was squeezing my head with great force. Anyway, I got no credit whatsoever and they told me to leave. Also, the school doubled as a bike shop and Stephan, our tech guy was also a bike mechanic.
Hey, I have an idea. I could break up a recorded stream into long grains and scramble them! oh, no, wait, that sounds like shit with a recorder. no, i could learn an entirely new thing like bbcut of fft in record time only to have it (A) exhibit unexpected behavior which sounds like shit. (B) no, wait, A sums it up.
Fast solutions = fast hacking, right. I’ll have something in the next 2. 5 hours, i’m sure. @#@#%%@#Eg3tt675rfvhjksvDhjkvsdfhjkgsdfhjkfsd
Tag:

Anybody able to recommend a bbcut tutorial?

I’m trying to learn bbcut extremely quickly, so I can use it in a fast-approaching show. However, the learning curve is unfriendly and help files are probably much more useful to people who already understand the idea. Has anybody out there got a tutorial or cookbook? Also, can anybody tell me why all the name buffer classes don’t have a common ancestor or something to make them interchangeable? I mean for god’s sake, how many classes does one need? Why does SF3 not understand a bufnum message? I know people like their files, but I like delay lines and live audio and I ought to be able to do the same things with it than I can do with recorded audio. I have my own Buffer classes, but I’d like to be able to do bbcut-ish things and anyway, my classes all broke when I got a more recent build. I know I shouldn’t have upgraded right before a gig. arg.

Update

Yesterday’s SC build from Wesleyan was messed up, but today’s is ok. If you want to use BBCut, don’t just grab the most recent build, as it’s a universal binary (huzzah!!) but does not include extra libraries like BBCut. You can put them in yourself, of course, but if you’re lazy and not on an intel platform, grab the 10.3 version.
The mystical helpfile that explains all is called BBCut2Wiki. Huzzah for explaining all. But now it’s 5:30 and I have ten million things to do and no working code yet. I’m not sure doing glitch processing on a recorder (non-transverse flute) is really a good idea anyway. It’s just not glitchy. Although the performer likes loop processing, so maybe there’s hope. I just need to travel back in time a month (or two) and everything will work out great.
Tags: , ,

Bloody Vikings

I can tell that my effort to generate publicity about my upcoming concert (June 9, 8:30 pm Paris click link for details) is working because I have been getting a lot of attention lately on my podcast, via comments left by spam bots. Yes, the online poker world is abuzz, as are mortgage brokers and those who claim to have cures for male impotence. My concert will be as exciting as texas hold ’em, as . . . (I’m going to stop this train of thought pre-emptively). How much buzz you ask? Over 120 comments since this morning! I’ve never before been so popular with software agents.

However, I’m annoyed that the software agents are so self-centered. It’s as if they never even listened to the mp3s. Plus, I have it on good authority that none of them are planning to, nor are they planning to coming to my concert, so I’m testing the spam blocker Bad Behavior. If it works, I won’t need to know where to get cheep (headache) painkillers without a prescription.
P.S. If you understand the significance of the post title, you’re a big geek. The first person who can identify it will get comped in to my next show in their region. EDIT: Aside from it’s presence on the Bad Behavior page. Why do they reference it and where does it come from?
Tags: ,