Ballard Guitar Group: May 2017

Ben and the Guitar Group at The Chapel, May 2017. Photo by Rob Zverina
The first half of 2017 was a busy time for me as I delved deeper into composing for a group of electric guitars, culminating in Mandalas being performed as part of the UW's Alumni Alchemy (we are all alchemists now - very validating). What did I learn?
  • Have a goal lined up, or interest dwindles (duh).
  • Tab everything out
  • The more the merrier in the case of this piece/anything where Ebows are concerned.

Those last two months leading into May were awesome, and after taking the summer off (mostly) we're working on a new round of music, and I'll be writing and sharing here as we continue. For now, check out two of the recordings we've got posted on my soundcloud page:

This is the original demo I cobbled together from home recordings:

Here we are at the Meany Theater at UW:

...and at the Chapel later that month:

and, finally, a shot of the group after our Chapel show.
Ballard Guitar Group at The Chapel, May 2017. Left to Right: Matt Wainwright, Joshua Kohl, John Featherstone, Jacqui Gilroy, Ambrose Nortness, Eric Amrine, Ben McAllister, Don Craig, Cassidy Williams, Jake Savin, Brian Heaney, Bob Crow

New Guitar Group Announcement


I'm writing to you today to tell you about a group I'm forming. I'm hoping it's something you, or someone you know, might be interested in: an ensemble of electric guitars, couched somewhere between:

Rhys Chatham's A Secret Rose:

Glenn Branca's Symphony 1:

Robert Fripp's League / Orchestra of Crafty Guitarists:

and most of all Fred Frith's Guitar Quartet:

If you're someone who's wanted to do some deep listening with other guitarists, if you've wanted to delve into the range of this instrument in a group setting, if you've wanted to play a different role in a group than you have before - this is your group.

I've been writing pieces for this ensemble over the last ten years, knowing I'd get it together when the time felt right. The first set of pieces we'll dig into is a set of fairly minimal works I call Mandalas. They all start at a center, expand out to the edges, and retract back to a center. 4 movements of the larger work are demoed here:

You'll notice some Ebow ( work as well as some work (4th movement above) with a similar device created by Portland inventor Paul Vo, the Wond ( I'll be supplying Ebows to those who do not have them, and will work with each of you on technique if need be. I'm working on Mr. Vo to see if we can't secure some of his experimental devices as well.


I have one performance scheduled either May 25 and 26 at Good Shepherd Chapel in Seattle, and will be scheduling others once I know the size of my group and availability. I'm looking for at least 7 of you, and hoping for twice that.


Leading into May, I'm looking to rehearse twice a month, beginning the week of Feb 2/21. If you are interested, please respond - I look forward to hearing from you. I have a small space in Fremont which should accommodate us, but have access to bigger rehearsal space if need be.


All parts will include tablature, so the majority of the reading will be around rhythm, dynamics and technical notes. Some of the pieces are challenging and we'll want to be tight and practice on our own outside of rehearsals, but you won't need to read any crazy busy passages without tab to help.

Thanks for reading!

If you are interested, let me know by emailing me at

If you know any interested guitarists - please pass the message on!


198478l I remember hearing Ionisation for the first time in 10th grade. Zappa had crowed about Varèse and I must've picked that up somewhere. I was baffled. I bought the Robert Craft recording with the awesome Miro knockoff on the cover, all scratched to hell. There was a punk-rockness I felt that was way more powerful than anything I felt from Black Flag, fIREHOSE or Minor Threat (huge groups for me). This was ME, MINE, a sound only I knew. It was so noisy and disorganized to me initially, I was overloaded. I wish I could re-experience it now. "By brute force, I will understand this," I thought echoing in my mind Varèse's call to arms: "the present day composer refuses to die." I spun it another time, maybe 4 complete listens before I caved and put on something else. I tried repeatedly to penetrate the fog, only to identify favorite moments, the overall structure still elusive. Call in the big guns. Meg Dezell, powerful shaman whose father toured with Brubeck, heard my plea for guidance. My orchestra teacher raised her eyebrows and chuckled, "that's pretty difficult stuff. Not my thing at all, but there's a score in the Norton Anthology." She produced the tome I'd buy 3 years later for Music 101 at Shoreline Community College. "Try to count the beats in the bars as you listen." Bam. That's all I needed to hear. When you hear a young person's curious questions, hang out and answer them simply. This advice from my teacher was pivotal for me, a key unlocking every score I'd tried to follow. Varese had a beat, the rhythm was his blanket. Listen for the rhythm, identifying the layers, and you're halfway there. The next step's all about witnessing the counterpoints played by these layers (objects) and identifying how they make you feel, what they have you see.


An Oswaldian remix of The Stooges Fun House: There's something freeing in enforcing limitation. I've done a bunch of pieces where I restrict myself to a single loop or brief sample (, and I guess I've always thought 'remix' was the wrong word. When I hear Reich take a fragment of an idea and expand, contract, vary, blend, mold and turn it inside out, it feels divorced and devoid from the original material. Here, bringing up the original material changes your frame of reference, adding a subliminal color to the listening experience. I could listen to Funhausen raw, power through the soundscape makeup and come out the other side fresh, not knowing the source. Listening to it on the way in, I'm standing on the original, hearing the difference in the tin bag guitar sound of the original and pulling a picture together that's made up of what I hear on this disc, and what my ear memory supplies. Anyways, cool little EP.

Archival Records time

I've been getting together infrequently with my Wizard Prison bandmate John Vallier to do some jams. He works solo as Archival Records, and we're scheming to start a film + scoring project this winter in the spirit of Robert Hughes Shock of the New. Here's some of John's work, followed by bits from our last few sessions: Rough and tumble clips from our last session:
Audio MP3
Audio MP3
Audio MP3
And, lastly, ep 1 of Shock of the New, if you haven't seen it:

fIREHOSE: Flyin’ the Flannel

I’ve spun this thing so many times. There’s something deeply poetic about these songs, their sequence. The whole is a sum of the parts, and these parts are strong.  Back in 90, Watt surprised everyone I knew by signing to Columbia. SST had been going so strong for so long, it was hard to swallow an end to SST glory days, but Sonic Youth, Meat Puppets, everyone SST was seeking greener pastures. f had released 2 killers back to back (Ragin + If’n), but fROMOHIO was weak to these ears. Felt slapped together. This was a return to form, a 2x4 to the head.  I always heard this album in 3 acts. Listen along and see if you hear it too: Act I: Rock tunes: Down w/the bass, Up Finnegan’s Ladder, Can’t Believe, including the singles. Is this classic A&R ‘start with the hits up front’ thinkin? Good tunes, then the mood swings. Act II: Road tunes. If act one is getting out of bed and hitting the coffee, act two is hitting the road, crystallizing beautifully in ‘Too long’.  Act III: Angular tunes: the last third is more Minutemen to my ears than anything they’d done at that point, ‘cept bits of Ragin. Maybe it’s just the energy in Ed we hadn’t heard before.  In my sequence, I cap Act 2 with Toolin, making Act 3 hold together a little more, but that’s just me. This one rules.  

Gerard Grisey’s Le noir de l’etoile

Fans of Xenakis’s Pithoprakta need to listen to Gerard Grisey’s Le noir de l'etoile. In the late 50s, architect/composer Xenakis expressed what he heard and felt during his time in the Greek resistance, using deep math to generate his pieces, evoking (for me) rainfall, rocks caught in a strong current, bullets flying by ears and choirs of shouting voices. This piece of Grisey’s, inspired by the discovery of pulsars, comes from similar sound world to my ears. Natural phenomena made flesh through notation, though I can’t say exaclty what phenomena yet. Beautiful piece - I can’t stop spinning it this week.  The Boston Globe wrote a great intro to this piece here. Here’s Pithoprakta, in case you haven’t heard it:

Common Music 3: Remix drum loops with Scheme

Working though porting some old instruments which generated Csound scores from Common Music 1 to Common Music 3. This example illustrates a few techniques I used in my piece Anxious from 1999. I kept myself to a few drum sounds, primary this loop, which comes from a Jimmy Smith tune originally, but was known to me through Professor Booty. Grab the loop - jam.aif Grab the .orc Grab the .scm file Here's the CM code:
; 14 segments for jam.aif
(define idxdur '((0.018 q) (.697 q) (1.376 s) (1.538 e)(1.869 s)(2.032 s)(2.2 e)
    (2.543 s)(2.705 q)(3.373 e.)(3.895 e)(4.232 q)(4.894 e)(5.236 s)))

; given the dur of a quarter, return tempo
(define (quarterDur->tempo quarterdur)
  (* 60 (/ 1.0 quarterdur)) 

; remix - based on idxdur, remix sections of jam.aif loop
; args: 
; - tem: tempo (should be a float)
; - pan: angle to pan signal (between 0 and 90)
; - amp: attenuate signal (between 0.0 and 1.0)
; - totaldur: process continues until totaldur is exceeded
(define (remix tem pan amp totaldur)
  (let* (
   (iter (make-cycle (list 
    (make-cycle '(5 6 7 8))
    (make-cycle '(5 6 7 8))
    (make-heap '(0 1 2 3 4 5 6 7 8 9 10 11 12 13 ))
    (make-heap '(5 6 7 8))
   (origtem (quarterDur->tempo (- .697 .018)))
  (process with curtime = 0
             for t = (elapsed #t) ; get true score time
             for i = (next iter)
             for dist = 5
             for pct = .025
             for idx = (nth idxdur i)
             for indx = (nth idx 0) 
             for origdur = (rhythm (nth idx 1) origtem)
             for endx = (+ indx origdur)
             for r = (rhythm (nth idx 1) tem)
             for d = (rhythm r tem)
             for p = (/  tem origtem)
; faster tempo, the quieter
            for a = (+ .5 (- amp (/ tem 210.0)))
            until (> curtime totaldur)
            (cs:i 3 t d a p pan dist pct indx)
            (set! curtime t)
            (wait r)
; make-reverb-note
;   Turn instrument on for duration of score
(define (make-reverb-note dur)
  (process repeat 1 do
  (cs:i 99 0.0 dur 5))
; A verbose way to sprout this process at multiple tempos.
; The result is a Nancarrow-esque tempo canon
(sprout (list 
    (remix 100.0 10 1.0 30) 
    (remix 110.0 30 1.0 30) 
    (remix 120.0 60 1.0 30) 
    (remix 130.0 80 1.0 30) 
    (remix 140.0 10 1.0 30) 
    (remix 150.0 30 1.0 30) 
    (remix 160.0 60 1.0 30) 
    (remix 170.0 80 1.0 30) 
    (remix 180.0 10 1.0 30) 
    (remix 190.0 30 1.0 30) 
    (remix 200.0 60 1.0 30) 
    ) "remix.sco" :play #t :orchestra "sndwarp.orc" :header "f1 0 262144 1 \"jam.aif\" 0  0 0\nf2 0 16384 9 .5 1 0

; A cleaner, less verbose way to generate the same
(define mixes '())

(loop for i from 100.0 to 200.0 by 10.0
    (set! mixes (append mixes (list (remix i 45 1.0 60))))

(sprout mixes "remix.sco" :play #t :orchestra "sndwarp.orc" :header "f1 0 262144 1 \"jam.aif\" 0  0 0\nf2 0 16384 9 .5 1 0

; a single instance of remix, with reverb note
(sprout (list (remix 100.0 10 1.0 30) (make-reverb-note 40)) "remix.sco" :play #t :orchestra "sndwarp.orc" :header "f1 0 262144 1 \"jam.aif\" 0  0 0\nf2 0 16384 9 .5 1 0

Common Music + Grace – Undead algorithms alive again

I’ve been getting reacquainted with Common Music and Grace for the past few weeks, looking at old pieces I create in CM 1.4 and porting them as I go to CM 3.9. I’ll be keeping some notes here which may morph into posts on a separate blog/forum/site dedicated to CM. For now, here are the relevant online resources I’ve been able to identify: Specific to Common Music: Main Common Music page Common Music Dictionary  The CM Dist Mailing List Taube’s Notes from the MetaLevel is best acquired through Amazon AFAIK Csound Journal article on CM/Grace For oldtimers like me, the pre-2002 cmdist archives can be useful Grace builds are archived here. I had a problem with the latest Mac build available through the App Store, but found a working package here. Scheme and other relevant resources: - hub of the online Scheme community. CM is an extension of Scheme, which in turn is a dialect of Lisp. One python programmer’s notes on learning scheme. He’s a good writer so it’s a fun read. Main S7 page - S7 is an extension of Scheme which CM leverages. Two free books! The Scheme Programming Language and Practical Common Lisp

Realtime Csound from Grace using OSC routing

Intro While working with Grace’s Csound rendering recently, things got a little bogged down as I tried to access the same score file from multiple processes. Here’s a post I made to the CM list a little while back, which sums up my problem: I'm stuck with a problem trying to sprout processes and work with Csound. I'm trying to do something more complex with a piece I'm working on, but managed to boil down the problem I'm having by using the Csound Scheme example. If you take a look at that example, you'll see a function called ransco:
    (define (ransco len rhy lb ub amp)
      (let ((dur (* rhy 2)))
        (process repeat len
                 for t = (elapsed #t) ; get true score time
                 for k = lb then (between lb ub)
                 (cs:i 1 t dur k amp)
                 (wait rhy))))
A bit further down in the example, there's some instruction on sprouting this bit multiple times, using :write #f to 'collect' the events generated into one score:
    ; This will generate a score without writing an audio file. execute
    ; the expression several times and use the Audio>Csound>Export... item
    ; to export all the score data in various formats

    (sprout (ransco 10 .2 60 72 1000) "test.sco" :write #f)
I was assuming I'd be able to do this same thing from a process, but I'm getting an error that Grace is unable to get a file handle to "test.sco". Here's the function:
    (define (f1)
      (process repeat 3
      (sprout (ransco 10 .2 60 72 1000) "test.sco" :write #f)
      (wait 1)))
...and I try to execute it like so:
    (sprout (f1))
Instead of trying to bend CM to my will, I decided to use OSC to fire Csound events in realtime. This has been pretty successful so far, so I’m posting my ‘OSC Router’ Csound score and example Scheme file for others to use. Links: The .csd is here  Sample scheme file is here Scheme file My .scm file is pretty verbose for this illustration, but I figured more is more right? :) At line 2, I open up an osc listener:
(osc:open 7779 7825)
I’m not receiving anything incoming, but not the outbound port 7825 - you’ll see that again in the .csd file. The lion’s share of the file is 4 nearly-identical functions which generate separate lines, ultimately to be played by guitar quartet. Instead of the familiar call to cs:i, we use osc:message:
(osc:message "/router" 1 t dur amp pitch pan dist pct )
Essentially routing p-fields of a score event to outbound port 7825. At this point, we can just sprout a list of calls like I do at lines 128-134:
(sprout (list 
         (quartetlet-1 10 300 (make-heap '(gs4 b4 a4 fs4)))
         (quartetlet-2 30 300 (make-heap '(gs4 b4 a4 fs4)))
         (quartetlet-3 60 300 (make-heap '(e5 fs5)))
         (quartetlet-4 45 300 (make-heap '(fs3)))
…but I wanted to sprout them within a process, along rhythmic lines. Hence the function beginning at line 136:
(define (launch num)
  (let*  (
   (rhythms (make-cycle '(w w+h w+w w+w+w)))
           for r = (rhythm (next rhythms) 72)
           for iternum from 0 to num
           (set! iternum (+ iternum 1))
           (sprout (list 
            (quartetlet-1 10 5 (make-heap '(gs4 b4 a4 fs4)))
            (quartetlet-2 30 5 (make-heap '(gs4 b4 a4 fs4)))
            (quartetlet-3 60 5 (make-heap '(e5 fs5)))
            (quartetlet-4 45 5 (make-heap '(fs3)))
           (wait r)
Launch like so:
(sprout (launch 50))
You’ll hear bursts of quartet material initiated according to the rhythm generated by
(rhythms (make-cycle '(w w+h w+w w+w+w)))
which generates a 5-second burst of quartet material for each rhythm generated. Here’s a sample (player at top) Osc Router  Let’s look at the csd, which routes incoming OSC data from Grace. At line 10, we open up an osc listener on line 10:
gihandle OSCinit 7825
Instr 1 uses the pluck ugen with the familiar parameters for duration, amplitude and pitch, along with parameters to locate the note in stereo space using locsig/locsend. Instr 99 provides reverb (actually not used here..).. Instr 1000 is the relevant instrument here:
instr   1000
kinst init 0
kstart init 0
kdur init 0
kamp init 0
kpitch init 0
kpan init 0
kdist init 0
kpct init 0
kwhen init 0

    kk  OSClisten gihandle, "/router", "ifffffff", kinst, kstart, kdur, kamp, kpitch, kpan, kdist, kpct
    if (kk == 0) goto exit
    schedkwhen kk, -1, -1, kinst, kwhen, kdur, kamp, kpitch, kpan, kdist, kpct
    kgoto nxtmsg
I init k-rate variables to hold incoming p-fields, and fill them with incoming data via OSClisten. If I get an osc message (signalled with kk, the trigger from OSClisten), I use schedwhen to fire an event to the intended instrument. On my macbook, I run the csd with the following params:
csound -odac1 -+rtaudio=CoreAudio -Q0 -B512 -b64 osc_router.csd
Conclusion The Common Music family of releases has shaped my music making, and getting back up to speed with the latest from Rick Taube, Bill Schottstaedt + co. at CCRMA has been rewarding. These projects (Common Music 1, 2 and 3.x, Grace, CLM, Snd) have little in terms of PR out there, but deserve more airtime out there IMHO. I hope that this examples serves to steer others in productive directions. More soon! Once again, the links: The .csd is here  Sample scheme file is here

Seattle-based musician and programmer