An Opening

So today was partially as promised, in that I did some work on Ratcatcher… ahead of this evening’s rehearsal. Not as much as desired, but I’m spotting a theme there. No further work on Solo For Two (including a title!), partly because Martin can no longer make our session tomorrow, so no rush to get things ready for then.

I’d wanted to tighten up all the material I had for Ratcatcher… so far, but only got as far as producing a nominal draft version of the opening bit and its subsequent vocal number. Could be worse – after the first 10” of music took three hours to squeeze out, I was wondering if I’d get anything together at all! Ever!


It’s not been mixed, as such, and there are still some wobbly bits, but it fits the action pretty well (the others are happy enough with it, IOW).  The breakdown at 2′ signals the end of the instrumental section and cues the actors to get into position and utter their first line, at which point I trigger the next bit. I also trigger the ending separately because, as they’re not singing, there’s no guarantee that they’ll hit the end at any given point (though they’re pretty consistent). I thought I’d made it too long, but turns out we’re running a few minutes short at the mo, so Ali’s going to add another verse. I’m hoping that he capitalises on his unconscious practice in rehearsals so far of starting to emcee (which is what he does a lot of) when the rhythm is strong, and, um, emcees for a verse. He’s bloody good at it and I think it would make a striking start to the show.

So, I’ll carry on tomorrow. Perhaps turning my attention to the ‘ballroom’ pieces in more detail (there’s two now). I think recorders (the blowy sort) might be involved. I need to make a variation on the opening as well, as it has a reprise near the end, and work on tightening up a ‘glitchy beat’ section (but not too much, obv). Did some small amount of work on the sound design for the tax collector whilst Ali and Maz were fiddling with costumes, but not yet ready for showing and telling; need to record some more clanking for that (step ladders, echoey corridors) and record a good wodge of hubbub from somewhere, as after some discussion tonight, it turns out that there’s going to be a subliminal  (or at least very quiet) wash of upstairs-commotion for most of the show.

Still Here

Small hiatus, due to being very busy indeed (marking, house guests, birthday), but some things to report nonetheless.

Laptop Trio

As of last post, I’d been planning to get stuck into this a bit. Almost immediately, I got myself in to a terrible tangle trying to work out what the piece was all about. I wrote about 2k words to post about all my musings in the hope that this would help me sort out in my head. In fact, I was only about halfway through when everything seemed simpler, so the post never happened. I won’t get back to this before next week though.

Ratcatcher

We’ve had two more rehearsals since I posted last, and things are beginning to take proper shape. I’ve tweaked bits of the music, and did some more recording. This needs a serious push now so that I can finalise arrangements and start mixing. That’s at least part of tomorrow: sort out some sound designs for the opening, to make it more full on, polish some other stuff. Another rehearsal tomorrow evening, then again on Saturday, so hopefully by the end of the weekend, this project will be feeling more finished.

Solo for Two

I spent this afternoon (morning was lost to post-Birthday hangover) making a tidy version of the patch I’d knocked up quickly, with the addition of some stuff to grab new room noise when we’re not playing. At the moment it simply overdubs on top of the existing material (with appropriate scaling), because I want to see if the uncorrelated noise starts to eventually cancel, which might make for an interesting progression through the piece. We’ll see. Also added some phase unwrapping stuff to grab frequency estimates (bad ones) from the hilbert transformed sub-bands. Not sure what role this will play yet. That’s another bit for tomorrow, along with making a draft of the text score. Martin’s coming round on Saturday morning for us to try a quick run through…

Other

Found this interesting paper by Julio Vargas and Stephen McLaughlin (also at Edinburgh), about yet another way of approaching non-stationary signal analysis, whilst idly browsing the IEEE Audio early access articles. Tried a quick implementation of part of it, because it looked doable (which isn’t the same as me understanding it), but not working at all yet. Hey ho…

Collecting Tails

Well, the consequence of getting up late (as promised) and not really having figured out what to do today meant that I didn’t do a great deal of productive work before I went to rehearse. Oh well.

What came to the fore again, and this is something I should really think / do something about, and write properly on in the future, is how inhospitable a place to compose the computer can be. I’m sure this is blindingly obvious to those that use notes, melodies and such, but I think is seriously under-theorised for bleepage. Most pressingly, what kind of resources that aren’t computer-bound are useful to call on when it gets gummed up?

On to rehearsal then (for the splatter opera – black panto). As I said, we had decided that for these early rehearsals just to blast through and see what happened. This involves a delicate balance in my case; obviously, to over-prepare and turn up with material that was either too fully specified to be easily flexible or that I was too invested in could suck the vitality needed (IMO) to make such extemporaneous sessions work, as with straight up improvising. On the other hand, to turn up with nothing prepared would also waste time and reduce energy due to the not insignificant amount of fannying around needed as a prelude to getting music to happen.

Fortunately, I had a fair amount of loosely grouped material, which I was happy enough to mash about with, and could summon up reasonably instantly (I’ve been much more organised than normal, which is to say, at all). We did a couple of runthroughs to get a feel for doing it standing up, as it were, and to adjust to the few script additions and changed sound cues since last Sunday’s session. We then went over a couple of bits in particular.

So, some interim results. This is one run of the opening music, as it stands. It’s much more beaty than I had imagined Ali wanted, but he seems delighted.


Some of the debauched ball going on upstairs.


Not strictly representational, you probably gather. The aim isn’t to erase the traces  of computer mediation, and its attendant sound world, but to make something that, I don’t know, infers. The wall of loosely played violins reminds me even more of Bob Drake than it did before.

Plans for tomorrow? Yes, I really should make some. Ok, check this out:

  1. Time to roll on project number three, I think: the laptop trio. Most of the work for this is going to be around devising a suitably lightweight notation (I no more want us fixated by paper than by screens). I think an experiment with some of the abundance of common iconography available in the environment could be interesting (but obviously really trite if that were the whole point). I also need to resurrect a tempo following max external I made.
  2. Review the recordings from tonight, which will give me some decent timing info among other things. Make some structural commitments accordingly, start just throwing stuff down. Maybe even on paper!
  3. Something constructive and achievable on the Solo for Two (is that what it’s called now? Not sure I like it). Um. Oh, I know. I had the thought that the background noise should be renewed by the computer during the (quite hefty) gaps in playing. I Shall Spend No More Than Half An Hour Patching This, I Promise Myself. Perhaps, if I still have any energy, some first drafts of the text score I’m imagining for this.

 

 

Parrp

Yesterday was a dick.

In was, in actual fact, a day of negative achievement that sucked so very hard that I was tempted to gloss over the whole sorry episode and not write about it. However, if there’s value to this blogging-what-one’s-doing lark then at least part of it lies in the fact that I makes me confront the day’s activity, good or poor, in some respect.

So, before talking about today’s more pleasant activities, I shall expand on this debacle, as a cautionary tale (to myself).  It all started so well. The morning’s early experiments with making LMD-esque of my envelope extractor seemed to be working; I was getting what seemed like sensible results, and it was all very encouraging. Then I settled down to, you know, just tweak a couple of tiny problems, contra my advice to myself to stay focused on the musicky bit, and the whole shit-stack came tumbling down, and – worse – I became completely fixated on trying to sort it out. Long story short, I was still stuck in front of my computer, brain dribbling out of my nose, at 3am trying to rescue the code (as every change, even reversion seemed to make matters worse) with an algorithm performing more poorly and erratically than 24 hours previously, and panicking somewhat about what Martin and I would do today.

The lessons: keep backup snapshots of working code (maybe in a vcs, duh); don’t fixate; music, not programming is the thing.

Anyhow, this meant that the technics for today’s session with Martin had to be somewhat more extempore, which in retrospect was possibly a good thing as it encouraged me to focus more wholly on out shared activity, and relegate the computer mediation to something that evolved to fit the circumstances, rather than have a bunch of effects I simply had to experiment with.

We played for a little while, then, without computer; Martin on french horn, me on a DPA4061-in-gob. Some really nice stuff came out of this; I had us trying various ways of trying to form a single voice (whilst embracing the erratic likelihood of succeeding), and we made some good headway of exploring what was possible and interesting as well as providing some really useful structuring ideas.

Here’s a diminuendo of purring:


After that I hacked together a very quick rough max patch for experimenting with what I wanted to do about modulating room-noise. The basic idea is to extract and combine the instantaneous amplitude envelopes from Martin and I, and shape room noise (in pursuit of this single voice). There’s all kinds of other embellishments I had in mind, but that’s the gist. This quick hacky version fell back on [hilbert~] to extract the envelope, and was the work of but seconds.

Whilst it kind of worked, it was a bit monolithic, so another 2 minutes’ patching concerned some copy-pasting and the deployment of a few [cross~] objects to make it ‘multiband’. This worked much better – especially for getting properly good low-end action.

Here’s a wee ditty of us + computer. Mmmm, dirty.


A number of ideas about structure seem to have settled, and happily Martin seems on board with the whole notion. I’m going to do more work on this starting patch over the next 10 days, and then we’ll have a very quick session to play with that. A remaining unknown is about scoring (for portfolio purposes, mainly). I’m leaning, in this case, towards a text score a la Stockhausen’s Aus den Sieben Tagen; whilst I have clear ideas about the overall shape, it’s important in this case that the players are allowed to, er, colour it in with whatever crayons they choose. And even go over the lines.

Not sure what to do tomorrow, which is dreadful. A lie in might be in order, because I’m really quite tired. A rehearshal for Ratcatcher in the evening, so probably some preparation for that.

Decomposing

A day of coding…

Following on from my experiment a few days ago to see if I could use a min-max filter for envelope extraction I set about fiddling further with this.

I oh-so-nearly had some nice results to post, but not quite, so bear with me. For the time being, some words will have to do.

First off, I did some quick and dirty experiments just removing the ‘envelope’ from one sound and applying one from another. I did this, at first, by half-wave rectifying the original signal into upper and lower portions, and dividing by the max/min filter outputs respectively. The results weren’t all that exciting, partly because to deal with the inevitable overflow of the demodulated signal beyond -1:1, I just clipped (on the basis of this being the simplest approach to start with).

Whilst pondering how better to approach the demodulation, it struck me that the kind of output I was getting from the min-max filter (basically a step function between local extrema, but not quite) was a similar to what is used in something called Local Mean Decomposition, developed a few years ago by a chap called Jonathan Smith.

Digression…

LMD is one of a range of ways that engineers have been looking at recently to do better time-frequency analysis of non-stationary signals (which is most of them). It is similar in thrust, though not in detail, to another scheme called Empirical Mode Decomposition, first devised by Norden Huang. Both processes are data-driven, meaning that they make no assumptions about what signals are composed of (contra short-time fourier techniques, which assume that everything is a collection of slowly varying sinusoids). However, neither is designed for real-time use. Althought Doug van Nort has investigated the potential of EMD for live electronics and sound analysis – and released an emd~ max object with Kyle McDonald – the object works on successive signal vectors in isolation. This is fine for generating interesting control data and doing feature extraction, but not so fine to listen to as there are pretty harsh discontinuities at vector boundaries, a low frequency limit imposed by the vector size, not to mention that the audible artefacts of EMD are pretty gnarly frequency modulation in sub-bands.

If these schemes could be got to work satisfactorily for audio processing, it would be, like awesome, however. They offer extraordinary time resolution and, in principle, extraordinary frequency resolution as well. They both work on the principle of decomposing a signal into components for which one has both instantaneous amplitude and instantaneous frequency. This would lend itself to, among other things, adaptive, multi-band granular decompositions; filtering with highly desirable transient response; spectral monkeying about (retuning, time stretching, etc.); using infra-audio components for control signals, and so on, and so on.

Back to business…

So, I was tantalised by the vague possibility that using this min-max scheme, I might be able to make an online thing that was at least a bit like LMD, though I wasn’t holding out much hope (having wasted far too much time tinkering with these things already, to little avail). Initially, I just set about following LMD’s lead in approaching demodulation. Principally, this involves rolling both upper and lower envelopes into one, but also generating a ‘mean’ between them. The mean is then subtracted from the original before demodulating, and is this helps avoid blow up. In LMD both the envelope and mean are smoothed as well, then the whole process is iterated until  you end up with a pure FM signal between -1:1.

Now, quite a lot of time was spent fixing dumbass bugs, but I eventually got a decent smoothing scheme going (like this) which didn’t add too much extra latency, and started tinkering. Much to my surprise, once I’d corrected for the latency between the min-max filter and the input, I was able to get an FM that was almost -1:1. Almost, for these purposes, is way good enough, so just for kicks, I coded in the other steps of a layer of LMD to see how it sounded.

To my dumbfoundment, not only does it seem to be filtering (I can extract a higher frequency signal, and leave a lower frequency residue), but it doesn’t sound shit! This never normally happens. I need to do more fiddling with the relative filter sizes ( at the moment I’ve got the min-max and smoothing filters set to the same size, which needs decoupling), and various other things, but at the very least there looks to be scope here for a nice little adaptive filter bank.

The really important thing for tomorrow is not to vanish up my algorithmic arse in pursuit of perfection, but to stay focused on the musical task at hand, ahead of Wednesday’s session. To follow John Bowers, ‘crude but usable’ is the order du jour. Once I’ve done some verifying / fiddling (which I shall time-limit), I shall experiment a) with using the various outputs to feed a signal-driven granulator, b) look at multi-band amplitude re-modulations / frequency re-mods (harder, but potentially v. cool) c) see what else I can do with the frequency data.

I’ve got a structure in mind for the final piece, beyond its being a solo-for-two, but Wed. should be more about workshopping and seeing what emerges, I think.

Ratcatching with Heath Robinson

Just a quickie. Good rehearsal-meeting today. We agreed on dates for the remaining sessions (8 between now and first show), and Ali and Maz did some read throughs (which I recorded to get a feel for their flow). Details for other things were discussed. Tea was drunk. Eventually followed by beer.

Significantly, Ali and the others all said that they want to let the first sessions be about improvising our way through in order to let serendipity get a look in. This suits me fine, and takes a bit of pressure off – rather than writing music in isolation and then turning up with finished offerings, I can let more of it form in the presence of my pals^H^H^H^H colleagues and devote studio hours to polishing.

Anyway, a change of tack tomorrow as I’m back onto the solo for two performers with Martin Parker (who’s coming for a session on Wednesday). First order of business will be to get jiggy with my envelope doodad from a few days ago, and see what kind of lovely combinations of Martin’s horn, room noise and me gibbering I can come up with.

Empty Traps

A frustrating couple of days! At first blush I thought I’d been grappling with trying to get a decent structural shape together for the opening few minutes of this show.

However, what I’ve actually been doing is re-performing all kinds of deeply unhelpful, not to mention unproductive, behaviours that beset me when I compose (or write). So, I’ve wasted quite a lot of time fixating on minor details, and fretting over issues that would be easier to sort out later if I’d just plough on. Sagely advice from my wonderful partner yesterday did at least help me notice this, but a viscous kind of day today, nonetheless.

Some progress in the last couple of hours I think – I’ve got a shape for the very start that has some momentum and excitement to it, and – importantly – a much clearer idea in [sic] my mind of how things will piece together.

We’re having a rehearsal-meeting tomorrow. I shall take the opportunity to record the actors going through the not-song so that I have a reference for their rhythms and such (the movement of their lines, so to Tim-Ingoldly speak).

For some reason I’m not trusting myself to proceed entirely intuitively with this (never an issue with playing, often an issue with making). Don’t know why, but the mission is break through that.

The Ratcatcher Plays With Graph Paper

Hopefully the advantage to assiduously blogging the day’s activities is that their worth and direction will become apparent as I write this post…

I spent the day working on the opening theme for The Ratcatcher production, taking as my starting point one of the little sketches I’d knocked up a few days ago. I like the underlying rhythm of this section – it seems to have something Partchy about it -  and I think that with more striking sound material (rather than me plonking undirectedly on a cooking bowl) it could form the basis of something, um, big sounding (more below on why this might be desirable).

The working itself was a bit unfocused today (as it frequently is when I don’t know what I’m up to). Broadly speaking I spent the bulk of it making accompanying rhythmic material and seeing how it went with the original phrase, then started ineffectually pushing around some ideas for the larger shape.

For both these aspects, I played a bit with what I’ve gleaned of Schillinger’s rhythm stuff  (mostly from Jeremy Arden’s PhD thesis and Frans Absil’s notes), partly to see how (whether) it ‘works’ and to explore what effect, if any, it had on my productivity (I’m normally a really, really slow composer as I’m easily distracted, and listen overly to the Internal Choir of Imagined Critics). The theory of rhythm is, from what I gather, applicable in some degree to setting up the larger structures also; I should really get along to the NLS and read the stuff first hand.

The accompanying counter-rhythms worked really well, to my surprise. Having decided that my starting phrase was a close-enough fit for a particular kind of generating pattern in Schillinger’s system (5÷4, for the nerdy) I was quite suprised when stuff started slotting together with a minimum of fuss. Along the way I knocked up a quick max patch for doing the (very easy but very tedious) number crunching, which I will tidy and post in the future if it turns out to be a useful.

<Extended interlude whilst we take suddenly poorly pussycat to vet on other side of town. Nothing serious, it turns out, phew>

So, I found myself quite quickly with a potential glut of applicable rhythmic material on my hands, but no particular use for it, as I hadn’t given much thought up to this point to the overall shape of things. I started doing such thinking (and throwing more crazy Schillinger shapes), but in a fairly vague way, not least because I was hungry by this point.

So, a worthy way to wrap up is probably to write through the ‘formal’ requirements for this section, as I understand them, so that I have something explicit to launch myself at, ninjalike, tomorrow. Significantly, the opening few minutes of the show are, sonically speaking, going to be just music (along with some movement and visuals). The brief is for quite a striking opening (hence big sounding above), but I need to leave some space to get bigger because…

Next up is a ‘song’ (without singing, or melody, but roll with me here), that bursts out of this overture – the brief for this is that by the end it should be ‘fucking intense’ and, apparently, redolent of That’s Your Funeral from Oliver (we’ll see). I’m thinking also that the juncture where the song starts should be pretty distinct as well – a change of pace, possibly metre.  Oh, and the song gradually dissolves at the end, underneath the dialogue.

Using max’s latent talent as a compositional sketchpad, the ‘energy’ curve might look something like:

A proposed energy trajectory for the opening of this musical

(I’m sure all those little wibbles and wobbles are musically significant. )

One of the nice things about the kinds of phrasing that the my tinkering with Schillinger threw up today is that it’s pretty simple to get structures that get away from groups-of-four-bars without getting too recherché about the whole thing. There is scope, I think, for the opening section to be quite odd sounding (yet thumping) by phrasing it around groups of seven bars. Then when the song hits, it might be effective to jump back into 8s, then maybe reintroduce some kind of motif established in the first bit part of the way through so that the oddness returns. Hmm, yes, much to consider.

That’s tomorrow morning sorted out then.

Max-Min Filter for Envelope Following?

So, one of the pieces that I’m doing over the next month is for Martin Parker and I, with he blowing into his horn. The idea is that the piece should be a solo for two players. Like, obviously.

One of the ways I thought I might achieve this is to use the computer to help, somehow, with merging our two sound streams (but preferably with room left for us to audibly fuck up, otherwise where’s the fun?). So, I thought to myself, I might need an accurate envelope detector so (for instance) I could try removing the envelopes from things and replacing them with the envelopes from other things, in real-time. Hilbert transforms are out for any signal of reasonable complexity, it seems, and low-pass filters just, well, average everything out too much.

I came across the idea of using an order statistics filter to derive an envelope in this paper by Sharif M A Bhuiyan et al,  about something distantly related. So, naturally I then scrabbled around the interwebs for someone else’s code and found a zippy algorithm with accompanying code, by Daniel Lemire. Yay! Rather than do something sensible, like try the code in terminal first, I went straight for the Max/MSP external approach (seemed like a good idea at the time), backed up by Graham Wakefield’s MaxCPP wrapper for doing C++ max objects (seeing as the code I was using had some STL goodness in there).

Much sobbing, shouting and general lamenting later, it looks like this could be promising:

It’s still riddled with bugs that I’ve managed to insert, despite using almost entirely phoned-in code (the major contribution from me has been changing the filter to use a circular buffer, which might even be redundant), and some kind of smoothing will have to be done. Nonetheless, I feel the warm glow of accomplishment.

The Ratcatcher, and his Taxes

The Project

The theatre show that I’m doing the music and sound design for over the next few weeks (performances 30/9 and 1/10, The Arches, Glasgow) is a ‘splatter opera and black pantomime’ put together by my good chum and collaborator, Ali Maloney and is called The Ratcatcher Distracted From Paying His Taxes.

The major musical moments are in a song at the start, a ‘dance of fools’ later on and the sounds of a debased regal ball going on upstairs somewhere (something like Strauss on bad acid is the agreed guideline). Ali doesn’t want a conspicuously digital sound to the music, and (having been reading an interesting paper by E.P Thompson on Rough Music) thought that the starting song and the dance could be worked out on a bedrock of pots, pans and cleavers. The ball will feature out of tune violins, not quite melodies and broken rhythms. Oh yes.

The sound design will mostly consist of background hubbub (due to this ball going on upstairs), and devising the sound of a character called the Taxman, whom we never see. Fortunately Ali directed me to a description in a story he wrote:

Suddenly there was a tremendous commotion and a mob rushed past, trampling the assembled crowd to the ground. Along the street came the Taxman, riding a huge spiked clockwork spider contraption, an extension of his convoluted adding machine which clicked and whirred as its pointed legs impaled people and tubes pierced them, while their blood was drawn up into the calculations. Behind him was drawn a gorgeous gold carriage, in which a fancily clad Queen looked upon the streets with utter disinterest.

That will be fun. Ladders, springs, motors and vegetables, I’m thinking.

First Move

So far, then, I’ve sat down and done some material gathering for the music, with more to come. This was definitely a shoot-first kind of process, as I imagine the whole piece will be. I banged some things, shuffled them around on the computer, and moved on. The clip below consists of a few distinct bits just plonked together.


Next Moves

Since then, I’ve laid down some fiddle (not an instrument I can, technically speaking, play, but this is perhaps what’s called for in this case). That needs some additional vetting and batting about before its ready even to be posted as documentation. I shall add some banjo and kazoo over the next couple of days. At this point, I think I’ll have more than enough material to start on a first draft of the composed stuff (I don’t plan on being shy about mangling things rather than re-recording – Ali wants a bit of glitchy digital filth, y’see).

Follow

Get every new post delivered to your Inbox.