Using Tidal to Control the Roland System-1M

Roland System-1M

This is Mike Hodnick with my first article on audiocookbook.org. 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 audiocookbook.org!

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 roland.com/support/by_product/system-1/owners_manuals/8789.

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.com, @kindohm or facebook.com/kindohm 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)

Duet No.7 for Synthesizer and The Singing Ringing Tree

This is the last of seven videos produced documenting my five day recording session and performance series at the Singing Ringing Tree (SRT) in Burnley, UK. There’s a lot more content in the can, but for now this is enough to represent the project. My part of the collaboration with the SRT was simultaneously recorded on site using a Novation Bass Station II connected to a USB battery. I also ran the Bass Station II through a Moog Minifooger Delay.

My last day on site was also the windiest and it turned out that the best wind reduction happened to be a very thin cotton t-shirt wrapped around the binaural head as you can see in the photo below. The strong winds, although useful, made the process quite difficult, and the binaural effect seemed a little less prominent with any sort of wind reduction applied. However, I was able to get couple of good takes by carefully placing the dummy head next to the SRT and opposite the wind. Please checkout the playlist of all six duets (#2 was omitted) on my YouTube channel.

Continue reading

Duet No.6 for Synthesizer and The Singing Ringing Tree

This is the sixth of seven videos produced so far documenting my five day recording session and performance series at the Singing Ringing Tree (SRT) in Burnley, UK. I performed accompaniment for the SRT binaural recordings simultaneously using a Novation Bass Station II connected to a USB battery. I also ran the Bass Station II through a Moog Minifooger Delay.

This piece was yet another captured during my third day on site. I chose to include this one to emphasize the potential for serendipity in compositions like these. About forty-five seconds into the piece you will notice the sound of a small, prop-driven, perhaps single engine plane flying overhead. Ironically the drone I was making was slowly modulating the pitch like an air-raid siren. Clearly hearing the aircraft in my headphones led me to slowly and deliberately morph the drone into a sound mimicking its engine.

NOTE: This is a binaural recording combined with a monophonic synthesizer track. Although it sounds great through speakers, circumaural headphones must be used to experience the binaural effect.

Duet No.5 for Synthesizer and The Singing Ringing Tree

This is the fifth of about seven videos produced so far documenting my five day recording session and performance series at the Singing Ringing Tree (SRT) in Burnley, UK. I performed accompaniment for the SRT binaural recordings simultaneously using a Novation Bass Station II connected to a USB battery. I also ran the Bass Station II through a Moog Minifooger Delay.

NOTE: This is a binaural recording combined with a monophonic synthesizer track. Although it sounds great through speakers, circumaural headphones must be used to experience the binaural effect. Continue reading

Duet No.4 for Synthesizer and The Singing Ringing Tree

This is the fourth document from my five day recording session and performance series at the Singing Ringing Tree (SRT) in Burnley, UK. I performed accompaniment for the SRT binaural recordings simultaneously using a Novation Bass Station II connected to a USB battery. I also ran the Bass Station II through a Moog Minifooger Delay.

NOTE: This is a binaural recording combined with a monophonic synthesizer track. Although it sounds great through speakers, circumaural headphones must be used to experience the binaural effect. Continue reading