music live-coding environments - my first impressions

Nikolaus Gradwohl2017-04-15T17:33:49+00:00

I've been playing with live coding Music environments lately here is a short description of the environments I've used so far

Sonic PI

Sonic PI is a live coding music environment that comes bundled with most raspberry pi images and was invented to teach coding through making sounds. But don't be fooled by it's simple interface or the name - Sonic PI is a pretty serious tool for making music. Despite it's name it runs on Linux, MacOS, Windows and - surprice! - a raspberry pi and is based on supercollider and ruby.

To program it you write ruby programs that contain loops to trigger various synths and samples - you can add a bunch of effects and control various parameters of the synths. It also allows you to write pretty complex melodies and chord structures, by adding random elements to your code.

Sonic pi already comes with a impressive collection of loops, samples, example programs and synths to get you started, but it also allows you to add your own samples or supercollider synth definitions if you want to.

Chuck

Chuck is a pretty unique programming language, that allows you to write virtual instruments and control them either with your code or with various controllers via midi, Hid-events, osc, or whatever else you come up with. You can start and stop your code in sync with the loops already running and it's the basis for the laptop orchestra.

The language used feels a bit strange in the beginning but one gets used to it pretty fast.

PureData + automatonism

Automatonism is a Modular Synth that runs on PureData Vanilla - which means it runs pretty much everywhere. It's a really impressive collection of modules, plus you can use it to livepatch and edit your modules. Since it runs on puredata, you can also use regular puredata structures should you ever get stuck with the provided modules.

The modules help to create a playable pure data patch pretty fast and allow you to expand from there if you want to dive deeper into the pure data universe.

Conclusion

Each of the frameworks I tested this weekend is pretty cool and each of them has it's strengths and weaknesses - I haven't played enough with them to choose a favourite yet. I will try to integrate them into my current Bitwig, VST-Plugin and hardware synth setup and see which one I end up using

read more ...

herb rack

Nikolaus Gradwohl2017-04-14T10:03:20+00:00

I made a a watercolor and ink drawing of my new herb rack

herb rack

read more ...

flowershape

Nikolaus Gradwohl2017-04-13T11:06:58+00:00

I created a small ever changing slightly hypnotic flower shape using processing - because spring - have fun

click here to start the sketch or download the sourcecode.

flowershape

read more ...

Dynamic Paint particle growth

Nikolaus Gradwohl2017-04-12T05:50:44+00:00

For this animation I used a dynamic paint canvas on a plane that emits hair particles based on a wet map. I used another particle system as the dynamic paint brush

you can download the blend file here

[TITLE]

read more ...

New Track: Seven meets Four

Nikolaus Gradwohl2017-04-11T05:58:49+00:00

a 7/4 loop meets a 4/4 loop in this polyrhytmic exploration, featuring my Mother 32, 0-Coast, MiniNova and Streichfett

seven meets four

read more ...

AN experiment - delayed instanciation

Nikolaus Gradwohl2017-04-10T08:38:27+00:00

For this animation I distributed instances of a box on instances of a bezier circle and delayed their appearance by animating their scale

you can download the blend file here

delayed appearence

read more ...

AN experiment - distance

Nikolaus Gradwohl2017-04-09T09:44:34+00:00

For this animation I used the distance node from the animation nodes addon to change the height of the boxes based on their distance to an empty.

you can download the blend file here

distance

read more ...

AN experiment - instances

Nikolaus Gradwohl2017-04-08T12:10:35+00:00

For this animation I used the animation nodes "distribute instances on spline"-Template and animated the instances using a math node and wiggle node. I rendered the animation using cycles and freestyle.

you can download the blend file here

AN Test instances

read more ...

denoising blender animations with opencv and python

Nikolaus Gradwohl2017-04-07T05:42:22+00:00

Nikos Priniotakis posted a teaser of a denoising script for blender animations a few months ago, that shows really impressive improvements on a noisy cycles animation (see his original tweet here) I sent some twitter messages back and forth with him and he sent me the links to the opencv denoise function he used for the demo. So I finaly found the time to wirte a short python script that uses pyopencv to denoise all the pictures in a folder and copies it to another folder.

The script I used to denoise my animation is here

import cv2
import os
import numpy as np
from matplotlib import pyplot as plt
files = os.listdir("metabubbles/")
for f in files:
    if f.endswith('.png') and f.startswith('0'):
        print f
        img = cv2.imread("metabubbles/%s" %f);
        dst = cv2.fastNlMeansDenoisingColored(img)
        cv2.imwrite('res/%s' %f, dst);

The denoising process is no magical pixiedust that can be sprinkled on your noisy cycles-renders to fix everything but when used correcly it can improve preview renders a lot, but if the script is used on an image sequence that is too noisy it introduced a whole lot of new artifacts. I used the script on an amiation I rendered last year. Here is how the original video compares to the denoised version.

denoising blender animations

read more ...

AN experiment - curling curves

Nikolaus Gradwohl2017-04-06T05:24:07+00:00

I created a bunch of curves curling around a bezier path using the Animation Nodes Addon for Blender

you can download the blend file here

curling curves

read more ...