SynthJam 01 2019

Nikolaus Gradwohl2019-01-20T10:21:36+00:00

Yesterday it came to my mind, that in the last few weeks I've spent more time working on my music equipment than actually making music - I created a new stand for my Mother32 and my DFAM, I made a midi to trigger signal box based on an arduino, I wrote a controller script for my KMI SoftTouch2 so I can controll bitwig with my feed while jamming - all very important tasks that will help me focus on making music - but currently it feels like all those task are eating my time for making music.

So I recorded a quick synth jam using the repro1 plugin from uhe and the mother32 in Bitwig Studio. I also added some drums from the Volca Beat, the volca sample and the DFAM.

So - without further ado - here is my first syth jam of 2019

read more ...

Sonic Pi beatslicing livecoding session

Nikolaus Gradwohl2018-06-23T17:47:10+00:00

this is the recording of a SonicPi Livecoding session made from 2 sample loops sliced and rearranged in different ways

for the drum sounds I used a drumloop sliced it into 32 peaces each 1% the length of the original loop. Each click is chosen at random from the ring created by the line command.

n = 32
l = 0.01
s =  line(0, 1, steps: n+1).choose
f = [1,s + l].min

sample "drumloop.wav", beat_stretch: 16, start: s, finish: f

The samples are triggered at a given 16th slot with a changeable probability.

the e-piano loop is played back at different speeds chosen from an array using [1,-1,0.5, -0.5, 0.75, -0.75].choose and placed at a random position in the stereofield using a :pan fx

Sonic Pi Beatslicing session

read more ...

New Song - A Target you can't see

Nikolaus Gradwohl2018-06-19T06:49:45+00:00

a repeating yet ever changing 10 note pattern creating a world for the melody to live in

A Target you can't see

read more ...

Welcome Lil Erebus

Nikolaus Gradwohl2018-06-11T19:33:30+00:00

I build the Erebus Lil DIY kit by dreadbox this weekend - after 6 hours of soldering estimated 100000 components on very very tiny solder pads on saturday, I spent 8 hours on sunday searching for the one cold solder joint :-/

But everything is working fine now and here is a first short jam with my new synth - enjoy!

Lil Erebus

read more ...

New Song - Turn into a Tune

Nikolaus Gradwohl2018-05-22T07:01:38+00:00

A song starting as a simple arpeggio slowly evolving into a tune

Recorded and Mixed in Bitwig Studio drums are from a volca beats and sample, pads from streichfett and blofeld. The synth sound are from bitwigs polysynth and a 0-Coast


read more ...

creating midifiles using ruby

Nikolaus Gradwohl2018-03-26T07:21:37+00:00

I have been experimenting with randomly generated drum patterns lately and found out pretty soon, that a totally random generated pattern isn't exacly what I was after, I wanted a pattern generator where I can specify propabilities for each drum hit to occure. So I wrote a ruby script using midilib that generates midi files containing patterns, which I can then import into bitwig and loop and arrange for my tracks.


Midilib is a nifty little ruby library that allows you to read or write midifiles. For my purpose I used the library to write the files.

the library can be installed using gem

gem install midilib

A midifile contains sequences, sequences contain tracks and tracks contain midi events. These events can be any midi event like noteOn, noteOf, controlChange, programChange, ... For each midiEvent in a track the delta time to the last event is stored.

in midi lib you can specify a time_from_start value and lets midilib recalculate the delta values before saving the track.

So here is a ruby script that generates a hihat pattern (channel 1, midi note 44 in my kit), where the notes are placed on a 16th grid with a random chance between 20% and 50%.

require 'midilib/sequence'
require 'midilib/consts'
include MIDI

seq =

track =
seq.tracks << track << <<, 'Test Pattern')

track =
seq.tracks << track = 'Loop1'

s = 0
l = seq.note_to_delta('16th')
e = Random.rand(0.2..0.5)

16.times do
    if ( Random.rand < e ) then
    on =,44,127,0)
    on.time_from_start = s
    off =,44,127,0)
    off.time_from_start = s + l << on << off
s += l

track.recalc_delta_from_times'pattern3.mid', 'wb') { |file| seq.write(file) }
read more ...

new Song Ice5

Nikolaus Gradwohl2018-03-01T05:20:02+00:00

An ambient electronic 5/4 track inspired by the -10°C we currently have outside


read more ...

processing sound visualizer

Nikolaus Gradwohl2018-02-14T20:27:41+00:00

I made a visualizer for my track Walk in the rain using processing. I used a stereo autocorrelation function to generate the line drawing using the minim framework and added a glsl shader to create the lens distortion effect.

Processing sound Visualizer

read more ...

Volca Sample SuperCollider Drum Set

Nikolaus Gradwohl2018-02-09T21:00:59+00:00

I generated some random drum samples using supercollider and selected 100 samples as my new main drum kit for the volca sample. This is the first track I used my new drum sounds one. The volca sample gets a little help from the volca beats kick drum. The Bass sound is from the MiniNova, The synth track is from the Blofeld.

Volca Sample Supercollider Drum Set

read more ...

new Track: Glipse of worlds that might be

Nikolaus Gradwohl2017-11-28T07:13:51+00:00

a mix of analog and digital synths, plugins, samples, passion, fragments of half remembered dreams and an arpeggiator.

and yes - I'm in a slightly wired mood today

and also yes - this is the blender default cube - with beveled edges, floating slightly above a plane with a diffuse shader and a sun light with a size of 0.8 rendered in cycles

glimpse of worlds that might be

read more ...