Bloodline at JT’s Jazz Implosion


Bloodline, a trio featuring Cody McKinney, Peter Hennig, and John Keston (myself), has been quietly performing at a handful of obscure venues in the Twin Cities for about a year and a half. On Monday, October 3rd we’ll poke out heads out of the shadows for a set during JT’s Jazz Implosion residency at the Icehouse in Minneapolis.

JT’s Jazz Implosion at Icehouse is one of the hottest jazz scenes in the cities. Featuring bands that study strong jazz composition, the performances consist of a variety of modern jazz songs with an improvisational flair. The bands that perform are emblems of originality in the modern jazz scene, oftentimes receiving national attention for their jazz genre knowledge and assimilation of multiple influences. The series appeals to a variety of listeners, providing multilayered compositions for every jazz fan.

For a taste of what Bloodline is all about, please have a listen to a few excerpts from one of our recent performances at Jazz Central Studios:

Interview: Graham’s O’Brien’s Drum Controller Video Series

Drum Controller - Graham O'Brien

Graham O’Brien is an exceptional and inventive drummer, composer, and producer. It has been my privilege to play with him at dozens shows and on at least five separate projects over the last eight years. His latest solo endeavor is a series of five videos titled Drum Controller. Graham had discussed his goals for the project with me, but when I saw/heard the videos I was immediately impressed. I wanted to know more about how he was able to trigger these beautiful and complex electro-acoustic arrangements without touching anything other than his minimal kit of kick, two snares, high hats, and a ride.

Note: Graham will be performing music with his Drum Controller setup and Thomas Nordlund on guitar at Honey in Minneapolis this Sunday, June 5, 2017. Read on for the interrview and a look at his video series. Continue reading

Ostracon and Chris LeBlanc Featured at #L2L, Feb 10, 2016


My eletroacoustic duet, Ostracon in collaboration with Graham O’Brien on drums, is performing at the Landmark to Lowertown series hosted by the American Composers Forum. Chris LeBlanc will be joining us with his modular, analog, video synthesis system running through a wall of vintage 22″ CRT monitors. Our performance starts at noon at the Bedlam Theatre in St. Paul.

The Forum is pleased to announce its second season of Landmark to Lowertown, a program where new music sees the light of day in downtown St. Paul. In starting a new tradition, this season’s composer/performers are awardees of the Minnesota Emerging Composer Award (MECA) from ACF and generously funded by the Jerome Foundation, an award that highlights artists in Jazz/Improvisation, Electronic, and World music.

Ostracon is in the process of finishing our 2nd album. There’s no scheduled release date as of yet, but the recordings have been made and editing is underway. Expect more announcements about the album within the next couple of months. For now we will be pleased to see you at the Bedlam on February 10, 2016!

Video: 70 Crowdsourced Scores Performed in 9 Hours

On June 13, 2015 I collaborated with a team of nine students and nine musicians on a project I directed for Northern Spark, an annual, all-night, art festival In Minneapolis and St. Paul, Minnesota. We titled the project, Instant Composer: Mad-libbed Music and the intent was to engage the audience into instantly writing musical compositions for an ensemble of improvising musicians.

I discussed the concept here in-depth and also announced the project last June. I had no idea what to expect, but was thrilled with the outcome. Around 115 crowdsourced scores were entered into a database via our mobile application. During the nine hour performance we interpreted nearly 70 of those pieces for the audience.

ICMLM Sandwich Board

This video should give you a sense of what went on that night, but no media can fully represent an event like this. I can say that it wouldn’t have happened without the student collaborators, our collective of excellent musicians, the Northern Spark organizers, Art Institutes Minnesota, and the hundreds of people in our audience willing to engage in the process. Please see the video for the full project credits.

Using Tidal to Control the Roland System-1M

Roland System-1M

This is Mike Hodnick with my first article on I recently added the Roland System-1M semi-modular synth to my studio and live setups recently, and as with any new instrument in my studio I wanted to take it to extremes and see what it could do. It was the perfect occasion to document on!

I’m not your typical producer or performer. I write computer code, often improvised, to produce sound both live and in the studio. I use a language and live-coding environment called Tidal to trigger samples, play MIDI devices, and create sequences. Instead of a DAW or sequencer to create sound, I use a text language.

My first real experiment with the System-1M was to automate all of its MIDI Control Change parameters from code simultaneously. It’s kind of like running a few dozen LFO’s at once. I like to do this with all of my instruments to take them to an extreme and maybe even get some interesting sounds out.  As an added twist, I thought it would be fun to also live-patch the modular inputs and outputs on the System-1M while the MIDI automation was taking place. Here is the result:

The source code used for this performance experiment is at the bottom of this post. The only parameters that were not automated in this example were the Oscillator 1 level (kept at 100%), the Mono/Poly toggle (kept on Monophonic), Legato toggle (off), amp crusher (off), and LFO key retrigger (off). Details about the System-1M’s MIDI implementation can be found at

There are some brilliant sounds coming out of this thing!

By far, my favorite features of this synth are the two oscillators and their controls. Each oscillator supports multiple wave forms, modulation control (oscillator 2 can be ring-modulated from oscillator 1, and oscillator 1 can be cross-modulated from oscillator 2), and a “color” parameter which can be modulated from the LFO or filter/amplitude envelopes. Oscillator 2 also has a fine-tune control. With all of these combined, the possibilities are enormous.

Stay connected at, @kindohm or for info about Mike’s studio experiments, releases, and performances.

Here’s the source code used to control the System-1M:

-- play a m9 arpeggio, starting from MIDI notes 45, 33, or 57
m $ slow 2 $ (|+| note "[45 33 57]*4") $ mel m9 10 "0*16?"
|+| dur (scale 0.05 0.2 $ slow 1.9666 sine1)
|+| rlpcutoff (scale 0 1 $ density 1.01 sine1)
|+| rhpcutoff (scale 0 1 $ density 1.132 sine1)
|+| rfilteratk (scale 0 0.5 $ slow 1.2 sine1)
|+| rfilterdecay (scale 0.05 0.5 $ density 1.5181 sine1)
|+| rfiltersustain (scale 0.1 1 $ density 1.277777 sine1)
|+| rfilterrelease (scale 0.05 0.5 $ slow 1.523 sine1)
|+| rres (scale 0 0.7 $ density 1.313 sine1)
|+| rfilterenv (scale 0.1 0.9 $ density 1.111 sine1)
|+| rcrush "0" 
|+| rampatk (scale 0 0.5 $ slow 1.213 sine1)
|+| rampdecay (scale 0.05 0.7 $ density 1.333 sine1)
|+| rampsustain (scale 0 1 $ slow 2.313 sine1)
|+| ramprelease (scale 0.05 0.3 $ slow 2.877 sine1)
|+| rpitchenv (scale 0.2 0.8 $ density 1.987 sine1)
|+| rport (scale 0 0.5 $ slow 1.77777 sine1)
|+| rpitchatk (scale 0 0.5 $ density 3.4111 sine1)
|+| rpitchdecay (scale 0 0.5 $ density 1.2222 sine1)
|+| rosc1 "1"
|+| rosc2 (scale 0 1 $ slow 2.6665 sine1)
|+| rosc2tune (scale 0.2 0.8 $ slow 3 sine1
|+| rsub (scale 0 1 $ slow 1.919 sine1)
|+| rnoise (scale 0 1 $ density 3.71771 sine1)
|+| rnoisetype "[0 1]*3"
|+| rsubtype "[0 1]*5"
|+| rlegato "0"
|+| rmono "0.5"
|+| rosc1type (scale 0 1 $ slow 1.77777 sine1)
|+| rosc1range (scale 0 1 $ slow 2.8888 sine1)
|+| rosc1color (scale 0 1 $ density 1.4344 sine1)
|+| rosc1xmod (scale 0 1 $ density 1.30010010 sine1)
|+| rosc1mod (scale 0 1 $ density 3 sine1)
|+| rosc2type (scale 0 1 $ slow 0.9999 sine1)
|+| rosc2range (scale 0 1 $ slow 3.151 sine1)
|+| rosc2color (scale 0 1 $ slow 5.131 sine1)
|+| rosc2ring "[0 1]*9"
|+| rosc2mod (scale 0 1 $ slow 3.141 sine1)
|+| rosc2sync "[0 1]*7"
|+| rlforate (scale 0 1 $ slow 2.17717 sine1)
|+| rlfofilter (scale 0 1 $ slow 3.3333 sine1)
|+| rlfoamp (scale 0 1 $ slow 1.21 sine1)
|+| rlfotype rand
|+| rlfokeytrig "0"
|+| rdelay (scale 0 1 $ sine1)
|+| rdelaytime (scale 0 1 $ slow 3.888 sine1)
|+| rreverb (scale 0 0.4 $ density 1.2331121 sine1)