AN Experiment 2018 Test 5 - L-System

Nikolaus Gradwohl2018-04-27T06:15:48+00:00

For this AnimationNodes experiment I played with the new L-System node that comes in version 2.1. The L-System shown in this animation was generated by the instruction


And here is the nodesetup I used


If you have no idea what I'm talking about Jacques Lucke has some very cool introduction videos to the L-System nodes on his youtube channel

you can download the blend file here


read more ...

AN Experiment 2018 Test 4 - noise displace

Nikolaus Gradwohl2018-04-25T07:13:34+00:00

For this animation node experiment I used the Vector Noise node to create displacements of the mesh vertices of a icosphere along their normal vector. This creates a similar effect to using the displacement modifier with a noise texture, but you could use any node setup instead of the simple noise I used to create crazy complex animated displacements.

you can download the blend file here

noise displacement

read more ...

I made TNT on my 3D Printer

Nikolaus Gradwohl2018-04-23T06:58:27+00:00

I printed a 2,4,6-Trinitrotoluol molecule - better known by its abbrevation TNT - on my 3D printer this weekend. I constructed a tetraedic and a hexagonal basic shape using openscad and printed the atoms in different colors. I originally intended to connect the atoms using double sided tape but the molecule got pretty unstable and fell apart spontaneously. So I used some hotglue to glue the atoms together.

Oh and sorry for the clickbait title - I couldn't resist :-)

tnt molecule

read more ...

AN Experiment 2018 Test 3 - waves

Nikolaus Gradwohl2018-04-18T07:04:28+00:00

I made a group of concentric spirals along a circle and modified their rotation phase and radius

you can download the blend file here


read more ...

AN Experiment 2018 Test 2 - noise position

Nikolaus Gradwohl2018-04-16T05:08:08+00:00

for this Animation Nodes experiment I used the vector noise to change the position of objects

you can download the blend file here but be aware that this has been created with a development version of - so some nodes might change a bit until the final release

noise position

read more ...

AN Experiment 2018 Test 1- curly noise

Nikolaus Gradwohl2018-04-13T08:05:08+00:00

I finally managed to fix all my python and cython version missmatch errors and started experimenting with a animation nodes 2.1 development branch - this is my first experiment using the vector noise node and the curly noise setup described in the brilliant answer by omar Ahmad

you can download the blend file here but be aware that the 2.1 branch of the Animation Node Addon is currently under heavy development so maybe the examples here won't work out of the box with a final version.

vector noise test

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 ...


Nikolaus Gradwohl2018-02-13T07:30:46+00:00