Archive for the ‘Computer music’ Category

Ode to the founder of cybernetics

Thursday, July 15th, 2010

Lorenz model

Tuesday, April 27th, 2010

To complement the FPU post below, here’s a similar approach to the well known Lorenz model used in chaos studies. There’s an increasing Rayleigh number used in the computation of this clip.

Lorenz0001 by janne808

It’s obvious that there are very interesting regions of nonchaotic behaviour in the model.

Fermi-Pasta-Ulam

Tuesday, April 27th, 2010

Current studies have led me to meddle with the famous FPU (Fermi-Pasta-Ulam) problem. Unsuprising event, since it is one of the cornerstones of the study of computational physics.

It was one of the first problems that was tackled not using analytic math tools, but using high speed digital computing. The reason behind this sort of approach was the difficulty of dealing with nonlinear equations; something that is near impossible to deal with exact analytical attacks. Digital computers and numerical analysis however is the ideal tool to conduct these sort of chaotic computational experiments with.

A lot has been written about the FPU problem (try the wikipedia article for a decent summary), but an immediate way to grasp the problem is by hearing how it sounds. The system described in the problem consists of masses coupled together, the usual scalar wave equation with nonlinear coupling terms added. Here the initial gaussian pulse oscillates in the system without damping and with increasing nonlinearity.

Fpu1 by janne808

Another example is done with a custom VST plugin. The system is driven with two pulse oscillators.

Fpu2 by janne808

More automata music.

Sunday, October 11th, 2009

I’ve been kept busy by Schrödinger, Fourier and Dirac lately, but I had some free time finally and put together a more refined way to derive musical (or so) structures out of one dimensional cellular automata system. Partly inspired by the excelent lectures on early finnish experimental electronic music scene at the local media art museum (see http://mansedanse.com/events_fi.html).

The algorithm quantizes the chromatic scale down to any arbitrary scale and picks up two notes to be played. This produces a more music-like result than the total chaos of applying the whole automata state straight to the chromatic scale.. though I’m not saying that it can’t produce interesting results.

http://www.punainen.org/~biotek/cell0011.mp3

http://www.punainen.org/~biotek/cell0012.mp3

Here is the MATLAB code responsible for these, keep in mind though that the quantizer code was written in the middle of the night (I think you can tell) so there are probably some glitches to it.

http://www.punainen.org/~biotek/automata1.m

Automata music

Tuesday, August 25th, 2009

What would be better application for one dimensional cellular automata than autogenerative electronic music. I know Wolfram Tones offers something along these lines but I set out to experiment on my own first with just the bare rules applied to the chromatic scale. Couple of important rules rendered on the chromatic scale:

http://www.punainen.org/~biotek/rule30.mp3

http://www.punainen.org/~biotek/rule110.mp3

These does seem to hold a eerie quality to them, not that anyone would recognize them as music. Next I cherrypicked a good set of rules which seemed to work nice enough when applied in a random order. I think I used the c major scale for this one.

http://www.students.tut.fi/~heikkara/autobach4002.mp3

That sounds a lot more like music, almost emotional at times. This is a Processing program playing midi notes to a Roland Jx-3p.

Radio Free Robotron web requests.

Saturday, November 8th, 2008

I got around programming some perl and php hacks to interface a web page with the liquidsoap server running the radio. Enjoy.

http://www.punainen.org/~biotek/radio_free_robotron/request.php

1-D Wave Equation VST optimization

Sunday, September 7th, 2008

After a few hours of playing around with SSE intrinsics I managed to cut the cpu cycles in half (more or less).

Here’s the link:
http://www.punainen.org/~biotek/string_sse.dll

Mirror VST

Tuesday, July 29th, 2008

Another crazy idea I had which turned into a VST plugin is a spectral mirror. I’m not really sure if that is an appropriate name for it. What it does is that it takes a band of frequencies (for example frequencies 0 Hz thru 4 Hz) and flips it around so that a high frequency becomes a low one and a low becomes a high frequency. How it does this is based on modulation; it modulates the band of frequencies thru the zero frequency aided with steep filtering to remove unwanted sidebands.

The result sounds unnatural because the frequencies aren’t harmonic anymore. The effect is best on human speech, since it really tricks your perception of it. I guess it’s due to the time domain having roughly the same characteristics but the frequencies aren’t perceived anymore as speech. In other words it almost sounds like speech in some weird way but is still unintelligible.

Here is an example. It’s a talk on Kurt Gödel by Rebecca Goldstein (http://www.edge.org/3rd_culture/goldstein05/goldstein05_index.html)

The original talk:

http://www.punainen.org/~biotek/gödel.mp3

The talk thru the mirror vst:

http://www.punainen.org/~biotek/gödel_mirror.mp3

Here is a link to the win32 dynamic link library:

http://www.punainen.org/~biotek/mirror.dll

String reverb VST

Sunday, July 27th, 2008

I’ve had this plan to put together a simple string reverb sort of thing since I studied basic wave functions a while ago. Well, now i finally got to it and put together some code. The mathematics behind it is the usual one dimensional partial differential equation. I consider it to be in alpha stage, you can get very loud noises if you introduce quick discontinuous parameter changes so beware. However it does work nice enough, even if the code is not optimized in any way at all.

Here is a link to the win32 vst dll.  If you happen to try it I’d like to know what you think of it and if there were any problems.

http://www.punainen.org/~biotek/string.dll

Here is a small example mp3 I did with the plugin, feeding it from a sine osc modulated with a s/h.

http://www.punainen.org/~biotek/space_string.mp3