Rhythm Wish

Jan 1, 2019

Rhythm Wish

Although this idea/piece is a couple of years old now, I realized I’ve not written about it in any detail (although I have talked about it on several occasions). So this is that. But more than that, I want to talk about what this idea isn’t, and how gloriously isn’t it is.

This is story of how a complicated idea became simpler and simpler until nothing else was left but its core.


Background & Context

Some of the seedling ideas for Rhythm Wish were first explored over a decade ago when I started working with skipping CD players, initially inspired by the work of Yasunao Tone and his work with “wounded” CDs. What led to this idea, however, was a (literal) dream. I had a dream where I learned and performed/interpreted Bach’s Prelude No. 12 in F Minor, BWV 857, along with a “wounded” CD of specifically Glenn Gould‘s amazing performance of it. At the time I had several old/shitty CD players, which are well suited to this kind of glitching, and burned a handful of CD-Rs and went into the studio. I recorded countless takes, so many of which had to be abandoned when the CD-Rs would prove to be too “wounded” for the CD players to make sense of, caisomg the CD player to just stop mid-performance.

Eventually I came away with a few takes I was very happy with. This is one of them:

<a href=”http://rodrigoconstanzo.bandcamp.com/album/the-beatles-white-album”>The Beatles White Album by Rodrigo Constanzo</a>

What was significant about this recording, with regards to Rhythm Wish is the source (con)fusion and the (seemingly, but not) interactive nature of the two sources. The sound of live piano blended with recorded piano creates a hybrid listening space that I find to be captivating. Even now, listening back to this recording, there are moments where it sounds like the piano playing is nudging along the skipping CD. It wasn’t. What I’m hearing is just a mix of serendipity and perceptual (re)combination.

This all eventually led me to the work of Nicolas Collins, specifically his work with modified CD players. I came across his piece, Broken Light, which was composed for string quartet and modified CD player and was blown away by the sound of it. The combination of a rich and sustaining string quartet layered over a glitched version of similar timbral material was beautiful. Part of what drew me to that sound is that what was happening sounded irrational. The ‘physical’ string quartet was becoming mediatized by the recording on the CD player.

Another thing that I found interesting about the piece was that the CD player was being controlled as part of the performance, as opposed to simply being played back. As much as I appreciate the aleatoric processes at play with “wounded” CDs, being able to nudge the CD player along would be interesting, particularly in an improvised context.

Along with track selection, playing and pausing the CD player, one of the more interesting way he controls the CD playback in Broken Light is via a modified “un-muted” CD player.

from Nicolas Collins

In short, what happens when you pause a CD player is that the audio is simply muted, instead of physically stopping everything that is already happening inside the CD player. Meaning the laser is still active, the CD is still spinning, and data is still being read. So by “un-muting” the CD player, you can hear what is still happening when you pause the CD. As it turns out, you hear a CD player skip/loop.

This small modification meant that is was possible to create a frozen “skip” glitch on command, which is a big departure from the overt malfunctioning of a “wounded” CD.

Inspired by the sounds and performative glitchiness of using a CD player this way, I set about creating a Max patch that emulated a skipping CD player, but that would also allow more control, critically the ability to record material onto the “CD” dynamically.

I called the patch The Chocolate Grinder (after Duchamp‘s The Bride Stripped Bare by Her Bachelors, Even (The Large Glass)), and put it out in 2011.

Although it sounds good, and gets in the general ballpark of the world of a skipping CD, it isn’t a faithful recreation of the processes and timings involved in an actual skipping CD. This is something I would eventually revisit, but with a much more methodical and detailed approach (more on this below).

So between the glitching media, source (con)fusion, and mediatized interactivity, was the seedling of an idea. It would be many years before it would come to fruition, but ideas were bouncing around in the back of my head.


Initial Ideas

When I finally decided to start working on the piece, I began to ‘sketch’ ideas for the it. What this generally entails for me is sitting quietly with an empty stare (“brainstorming”) and writing down ideas that I would like to incorporate into the piece. I often do this on paper since I can be freer with ideas, including diagrams and annotations.

Here is the very first sketch I was able to find, back from the start of 2011:

Here are some more fleshed out notes from years later:

What follows this initial sketching process is a filtering process where I reduce and rewrite the ideas over and over until I get further down to the essential ideas of the piece.

This process eventually led to this text-based reduction:

(Rhythm Wish)

  • -track with single hits and lots of silence + moving the clock
  • -memory chain for climax of piece (play last thing)
  • -memory transposition (move things from snare to CD player for pinch 1/2)
  • -conflict section using minimal track with interrupted process (not clearly defined material)
  • -3 global memories (can be logged/recalled at any time), with memory aperture (for logging AND recalling)
  • -protagonist rhythm, antagonist rhythm

things to record onto CD:

  • -single hits with space
  • -multiple/varied/scattered grooves
  • -2 main themes (protagonist/antagonist)


  • -straight memory
  • -memory transposition (repeat memory on different instrument/surface)
  • -memory chasing (play last rhythm now, short term memory)
  • -memory multiplex (ala Wishart)
  • moving the clock
  • -intercut improv w/process
  • -M1, M2, M3, M4
  • Amadinda punk but with phase
  • -only some memories survive movements 
  • -memory fwd/reverse ala improv-a-ganza
  • -“fake” rhythm stuff


  • -solo CD
  • -CD + human
  • -skipping CD
  • -skipping CD + human

three-act structure:

  • -exposition (inciting incident, plot point #1)
  • -conflict (pinch #1, midpoint, pinch #2, plot point #2)
  • -resolution (climax, denouement)

extra ideas:

  • -groove/hiphop/fake rhythm stuff
  • 18+ grime/slow/groove
  • -hihat only doing wonky 7:4 thing
  • -low piano/rhodes/bass
  • 808/909
  • -murderers ending?
  • -snare rolls (various)
  • -dan-piano loop
  • -drum triggery stuff
  • -performer-specific music (i.e. their own)
  • -jingle sounds (ala Pascal)
  • rollz-5?

Initially I wanted to set up an explicit relationship between the performer and the mediatized version of the performer (protagonist/antagonist) and was wanting to build the form around typical three-act structure (pdf of my sketches on this). Looking back on it I still think that this is an interesting idea, but in the end it was surplus to requirements for the core idea(s).

This is something I often think about (and will likely form its own blog post at some point) is that as a creative person (or “composer” in this case), one has to occupy oneself with something. What that thing is, doesn’t really matter, and rarely does it have an impact on the art that is being created, but the friction of those wheels turning is generally what spits out art, and in a larger sense is art-ing. Sometimes, however, it is very easy to get caught up in the superficiality of that process and imbue it with a meaning that it does not have. I felt that this was one of those cases. The relationship between the now (performer) and the past (recording of the performer) happens whether or not it is made explicit compositionally.

This idea of having a relationship between the now and the past did become a central aspect of the piece, but not in the way that it was originally conceived. The structure, and subtextual drama emerge as a function of the “characters” exploring and discovering the “scene” together, much like long-form comedy improvisers might.

Before settling on having a more improvised approach in general, I also experimented with creating “beats” that would function as some of the central “themes” in the dramatic subtext. This is not something I normally do, but given how central rhythm was to this piece, I wanted to take a stab at it.

This is the main “beat” I came up with:

Here is the same beat again with a metronome for context:

I like how slippery and “off” the beat sounds and thought that this would work well in the context of a deconstructed beat (more on this below).

Part of exploring this idea of making “beats” is seeing what another drummer would do with it. I initially wanted to have David Meier (who at the time was playing in Trio Riot with close friend and collaborator Sam Andreae) be the performer for this as he’s a fantastic drummer (way better than me!) and has an interesting sense of time and groove. So exploring some of these “wonky” beats was me trying to see how far I could push a “real” drummer.

I made lots of sketches on how memory should work in the piece, specifically things like how memories could be logged and recalled, and how to play with those ideas (logging a “short” memory, but then recalling a “longer” version of it). This idea of transforming, distorting, and transposing/transplanting memories formed a big part of another piece (ialreadyforgotyourpussy.com), and is(/was) something I want(ed) to explore further.

One idea in particular dealing with how now is the point between memory (the past) and imagination (the future) will be central to another piece down the road. (the third, and final .com piece)

click to download pdf of memory ideas

It would be some time before I would return to the piece with lotsofotherpiecesandideascominginbetween, but when I did, I came back to a very stripped back version of the piece. The version of the piece you watched at the start of this blog. The simplest possible execution of this idea.

I’m reminded of a paraphrased (and possibly misremembered) idea by Alvin Lucier where, for him, composition was the act of removing ideas until nothing else could be removed and the piece would retain its identity.


Testing & Research

Once I had the general idea of how the technical side of the piece would work (having a modified CD player physically sitting on a snare drum), I set about testing the interactions that were possible.

Initially I played around with various mounting approaches, including placing it directly on the snare, on MoonGels, on thin foam (if I remember right), and finally a folded up t-shirt. I discovered that having the CD player too directly coupled with the snare ended up sounding bad (it would go “off the rails” too easily, and responded to every physical hit). Although I had high hopes for the MoonGels, especially since it would look the sleekest and took up the least amount of space on the drum, they offered too much isolation. What I found worked the best was a thin folded up t-shirt which the CD player laid on top of. There’s enough dampening where the CD player responds to the playing but not so much so that you have to be “careful” when playing the snare.

Here is an early test where you can see the CD player and how it responds to playing. In this video I also explore some “deconstruction”, which I’ll explain in more detail below.

As far as what the CD player does when it’s on the drum, it is somewhat varied but falls within a range of behaviors. The most common thing it does is: nothing. Even with a CD player this old there is some built in skip protection, so most physical hits fall within the acceptable margin of error of the buffered playback. (This is why finding the right balance of response in mounting the CD player on the drum is so crucial.) After that the next most common thing is that it will sort of jump forwards (or backwards) on the CD, relative to its current position. This is similar to what happens if you bump a turntable, the needle will jump out of its current groove and end up somewhere nearby, whereas in a CD player it’s a laser jumping instead. This behavior is surprisingly intuitive and analog-like in the sense that it behaves as you would expect a physical object to behave. This makes sense since the paradigm is the same as a vinyl record (concentric rings of information, just encoded digitally).

There are some behaviors which are rarer, but are still part of the sound of this approach. One is that the laser jumps so far that you hear it “scrub” back to the current position. This is a zipper-like sound which is interesting and is a variation of the seeking sound. The most problematic of these behaviors is where it “goes off the rails”. If the laser gets too lost, it does some kind of reset (I don’t actually know what it’s physically doing) where audio is stopped and you hear a loud series of bassy pops and clicks with a huge amount of DC offset. This is fine when practicing at home, but if I’m running audio into a large PA, that kind of signal can fry a sound system, or at the very minimum sound horrible (and loud!).  After experimenting with various ways to detect when this happened so I compress the audio, the solution was a simple one. I side-chained a compressor based on the DC offset present in the signal, that way the “normal” signal was unaffected/uncompressed, but as soon as the CD player “went off the rails” (producing huge amounts of DC) the signal would be compressed.

click to download patch

Part of what I wanted to explore with the “human + CD” and “CD + human” modalities was an idea of (de)construction. Places where each of the individual components being played by the acoustic (“now”) drums and digital (“past”) recordings would make up a larger whole. Towards that end I did lots of testing where I broke apart an idea into bits that would happen live and that would be recorded on CD. I made two separate CD-Rs to test with, each with different versions of deconstructed beats, rolls, and various other types of material (click to download CD1 / CD2). You can also hear some of these deconstruction tests in the test video embedded above.

This idea of (de)construction proved incredibly fruitful, and would become a big part of the aesthetic and conceptual concerns of the piece (more on this below), but in order to be able to engage with this in a real-time improvised context, I would need to be able to control the CD player more easily than reaching over and physically pressing the buttons.

Nic Collinsguide was based around a Sony D2 Discman, which is a bit of a vintage item these days (thankfully I was able to get one on eBay without spending too much. The remote control (Sony RM-DM2) on the other hand…). In order to control the CD player more readily in a performance context I created a foot-switch out of the original remote control for the unit. I housed it in an aluminum Hammond enclosure and exposed all the buttons to the face of the unit. I do wish that “seek” was available from the remote, but on this era Discman you have to go through a couple of menu options to engage the seek functionality. Can’t have it all I suppose.

This is what the finished foot-switch looks like:

Here is the inside of the foot-switch/remote:

Here are my initial sketches on how to deal with the hardware:

Having this modified CD played and accompanying foot-switch opened the door up to dynamic and interactive playing.

After some initial testing and creating the foot-switch, I created a “rehearsal” version of the piece, by improvising some material, recording it onto a CD, then performing along with it. (click here to download the CD from the initial rehearsal version)


Performance & Time Travel

The first time I performed this piece was at the Borealis festival in Bergen, Norway. It was part of a concert where I played a few other pieces (iminlovewithanothergirl.com, Light Vomit, the keys to everything that has ever existed) and was the first time that “the whole thing” happened. By that I mean that after I set up and soundcheck-ed for the concert, I recorded some improvised material that would go onto a CD-R, which would then be used in a performance later that day. All of that is to say although I had some idea about what would happen, and how it would feel to play, the reality, as is often the case, was a bit different.

Here is my setup for the performance at Borealis (which the video at the top of the post is from):

Here is the setup for all the pieces in that performance:

(click here to download the CD created for and used in the performance at Borealis)

One of the first things I noticed was that I was clearly playing with (a time travelling version of) myself. I found myself agreeing with…myself a lot during the performance. During the performance I would lay back and give some space for the recording to occupy the foreground, only to find that the version of me in the past had the same idea. This ended up creating more a “group mind” performance between the versions of me, rather than a duet, which is not what I was initially expecting to happen.

What was particularly striking about this was how synchronous things were, as in down to the individual hits. There are several moments in the video (1, 2, 3) that have longer moments of silence followed by a unison/flam between the (then) present-time version of me with the version of me from the past. I’m surprised by these each time I listen to the piece.

Another aspect of performing the piece that I found fascinating, and came as somewhat of a surprise, was how memory played a significant factor in the structure of the real-time performance.

Now memory is something I’ve played with alot in the past, particularly in how it gets distorted, but as a feature rather than a bug. In this case it was no different, but what was different this time is that I found my self (mis)remembering the track order on the CD, as well as the material that was present on each track.

This approach, of improvising several short sections of music with intention of playing with/against them in the same place, but later in the day, comes with a certain amount of self-awareness. I knew, while I was recording the material onto the CD, that what I was doing was going to form only part of what would happen later in the “actual” performance. But what I wasn’t as aware of was how my memory of the order of these things would work during the performance.

I found myself, in the real-time performance, skipping through the tracks looking for a specific section, or moving to a track knowing that it was adjacent to a contrasting section, with the intention of pushing the CD “off the rails” so it would smear around the CD-based timeline (click here for an example of this).

In a way, the material on the CD represented a (digitally encoded) physical version of my memory of the improvised material that was recorded onto it. And in seeking, scrubbing, pausing, and navigating the physical/encoded “memory” CD, I was doing the same with my own, meat-based memories.

Most of the time when I’m using my computer in performance, I’m using audio-analysis and specifically onset detection as one of the main methods of interacting with the computer. I am very used to this way of working as with drum/percussion-based music as it can create a meaningful (if only synchronously so) connection between what I am playing and the processes going on in the computer. In Rhythm Wish this is also the case, but in a very different way.

The “onset detection algorithm”, as it were, in this piece comes via mechanical coupling. The CD player only “detects” the attack because it is physically being shook around by the strikes on the drum. This is an interesting, and in some ways more immediate, take on how onsets are generally detected in software, as the energy that is being measured here is a physical one. There is some software at play still (the anti-skip protection on the CD player), but it was specifically designed to avoid this kind of activity.

Beyond the source (con)fusion and memory games there is something fascinating about the intertwined feedback loop(s) which underpin the piece. I will play something on the drum, which will mechanically impact the CD player, causing it to alter the audio which was playing, which will in turn impact what I play, which will mechanically impact the CD player…

This domain-changing feedback loop churns underneath the aesthetic and material aspects of the piece in a way that’s exciting to improvise with as the feedback-coupled serendipity can lead the performance in directions that I could have never imagined.

Here is photo during the second performance at Cruce in Madrid, Spain:

(click here to download the CD created for and used in the performance at Cruce)

One final aspect that I find quite interesting is expanding the “aperture” of what I consider to be “the past”, and playing with more long-term memory distortion. Basically, because I have to create a physical CD each time I play the piece, there is an aspect of documentation that is built into the mechanics of the piece. I can therefore use these recordings of the past-past version(s) of me in future performances, smearing that window of source (con)fusion and (de)construction across a longer period of time. It would be as simple as including a single (random?) track from all the previous performances onto the CD-Rs for each new performance, and letting those versions of me join the performance as well.

(I suppose I could even include audio from the “actual” performance itself (as in, the “Human + CD” level audio), but that might muddy the conceptual backbone of the piece by making it overly meta)

This is something I’ve thought about for a while now, but since the piece has only been performed a couple of times it is too soon to introduce that material, but on the next performance perhaps…


Further Research & The Future

After these performances I wanted revisit the work I had done with The Chocolate Grinder and now Rhythm Wish. Mainly, I wanted to be able to have the interactivity and (digital) realism of having a physical CD player glitching on a snare drum, but also being able to record what was on the “CD” dynamically.

For a few months I recorded and analyzed the audio from a couple different CD Players (Sony D2 and D121), as well as several different kinds of tape players (for another project).

I found out a lot of interesting things, and created lots of useful samples.

One of the first things I tested was the “un-muted” CD glitch size varied based on the track position on the CD (as in, inner or outer rings), which makes sense. Much like a vinyl record, the circumference of the inner rings is significantly smaller than the outer rings. This translates to a difference of around 130-250ms depending on where you pause the CD, with the shorter times being earlier tracks on the CD.

That was useful to know, as you would get a different “stuck” sound depending on where you are in terms of the overall CD.

What was much more interesting, however, was that the timing of these glitches were not consistent. They also weren’t random. There was a push/pull to them.

I recorded a few minutes of glitches and took an arbitrary slice in the middle and measured the time between glitches. This is what I found:

For this recording I was on a track where the “base” timing was 145ms per glitch. This was the most common occurrence, happening with a ratio of 0.2994, or 29.94%. After that you can see that there are peaks above and below that, spreading out in a bell curve. Here is a histogram, to make the variance easier to picture:

I took this probability map and created several abstractions in Max to make it easier to deal with this in larger patches.

Here is an variation of the [metro] object that takes into account the probabilities I analyzed. It can be used as a direct replacement for [metro] anywhere you want a bit more of a glitchy (but not random) sound. There is an optional parameter for controlling the “weight” of the central value if you want to fine tune how glitchy it sounds.

click to download patch

Similarly here is another patch that applies the same probability table to the window size of karma~.

click to download patch

I then measured the “seek” behavior of the CD player. For this I used two separate CD players, the Sony D2 which I used for the piece, as well as a Sony D121. In order to test the seeking I filled a CD with sine wave sweeps and then fast-forwarded through the audio while recording the CD players output. I then analyzed the time between the jumps as well as how much audio had been fast-forwarded through.

The results were quite different for each of the CD players with the Sony D2 jumping forward 470ms in time every 50ms, and the Sony D121 jumping forward 730ms every 80ms. This variation gives each CD player its own “seeking” character, which I used in my emulation(s).

In addition to getting the timing down, I also wanted to have better samples of the actual “glitch” sound than I had used previously in The Chocolate Grinder. Capturing this proved to be more difficult than one would think. At first I tried just editing the sounds out of glitching audio, but it turns out the ‘blip’ of the glitch sound happens over top of the audio that is being glitched. My next approach was to fill a CD with tracks of silence. Interestingly, this produces no glitching artifacts at all (so is the glitching sound somehow a product of the audio being fed into it?). What worked best in the end was filling a CD with low frequency sine waves (55Hz) at different amplitudes, and then high-pass-ing the signal to remove the sine wave afterwards.

Using this approach I created 70 audio files, which you can click here to download.

I originally created the files as mono audio files, as that’s how I would most often use them, but then I decided to create stereo files while I was doing it, and I can always ditch the other channel later. In doing this I discovered that the glitches are stereo, and offset for some reason:

I also discovered that the glitch sounds during “seeking” are different from the normal glitch sounds. So went through the same process with low sine waves and created 70 audio files from those, which you can click here to download.

I also captured some audio files to emulate the odder and less desirable aspects of using a physical CD player. Namely the weird DC offset clicks it does when you turn it on (and off) with the CD player “un-muted” (click to download), as well as some of the noises it makes when it goes “off the rails” (click to download).

This latter behavior I analyzed further, making note of what it does with the audio that is recorded onto the CD at the same time. Although I haven’t done it yet, I want to create a more accurate emulation of that behavior using probability tables. Here are the notes I made for some of the example behaviors, with the duration on the left, along with what happens during that time on the right:

9ms – just jump elsewhere with click

99ms – silent, high beep

116ms – silent, high beep, middle random/wander second half

144ms – silent, high beeps, regular

175ms – silent, high beeps, regular

206ms – silent, high beep, middle random/wander second half

225ms – wide descending pattern for 3 clicks, then steady

248ms – high beep, middle random/wander second half

280ms – high beep, middle random/wander second half

310ms – long silent gap, random walk with 1 silent click in middle

312ms – high beep, middle random/wander second half

319ms – short silent gap, random walk for most of it after

355ms – tiny silent gap, wide descending pattern for 3 clicks, then steady

358ms – silent, high beep, middle random/wander second half

363ms – silent gap, random walk, silent gap

378ms – high stuck beep for 3, silent, then back to home pattern, but shorter than normal

406ms – long silent gap (100ms), 1click low, then 157ms normal playing, silent click, then normal

1333ms – 950ms sustained on different track, then 170ms seek on different track, 1 click on normal track, then a few silent

1273ms – 1 silent lick, 950 sustained on different track, 2 seeks, then low random walk

1292ms – high clicks on different track (tiny silence in middle), then 900ms on same track

One of the aspects of the emulation I was most excited about was the physically-coupled “nudging” that would happen when you would play the drums. Towards that end came up with a few different modes of interaction between the audio input, sample audio playback, and how the sampler (in this case, karma~) responded.

I called these jump (^^) and seek (>>) and the they can be triggered by incoming audio (trigger) and the sampler’s own output (poke). The trigger mode in particular is interesting as it can create its own feedback loop where the audio being played back can trigger glitches in how the audio is played back, which can trigger glitches in how the audio is played, which can…

^^trigger // Use karma~ playback to create a random, moving ‘stuck CD’ window based on loop length, current position/window, and audio analysis

^^poke // Use live audio to create a random, moving ‘stuck CD’ window based on loop length, current position/window, and audio analysis

>>trigger // Use karma~ playback to create forwards or backwards ‘seeking’ movement based on audio analysis

>>poke // Use live audio to create forwards or backwards ‘seeking’ movement based on audio analysis

Beyond how the different modes are triggered there are lots of other aspects that are emulated in more subtle ways, for example the random windows that are generated in the ^^ mode are impacted by the overall length of the sample (or “CD”) as well as where you are in the sample when it is triggered. These smaller details hopefully add a depth of character to the behaviors and overall emulation.

As mentioned above, I even applied this approach to the aspects which are less desirable. For example, if there are a certain amount of attacks detected within a certain period time and the overall volume is loud, then the virtual CD player will too go “off the rails”, muting the normal audio playback and playing back a sample of DC noise bursts instead. This is to add a sense of realism when ‘pushing’ the CD player too hard.

All of these behaviors and variations (including many not discussed here) have gone into a larger project which I’ve been calling “modes” which will be part of The Party Van 2. In short each karma-based sampler in TPV2 will have a playback mode which can emulate various playback technologies (CD, tape, lofi, vinyl), incorporating the sounds as well as behaviors from those types of media.

For the purposes of this blog post I have extracted the CD-based emulation to include so you can have a play with some of these sounds and behaviors (click to download patch).

click to download patch


So there you have it. The now of a piece with its origins in the memories of the past, and my imagination of where it will go in the future.

Leave a Reply