cellular automata vst?
-
- KVRist
- 124 posts since 12 Mar, 2008
for developers... a midi plugin or a synth based on cellular automata like this » http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life (video with it applied for audio here » http://www.vimeo.com/320666) would probably be interesting for some people and some kinds of music.
the simplest way i know of coding conway's game of life is in processing (www.processing.org) but since it's based in java it's pretty much crap for audio without using extra code libraries. still... it's in the code examples that come with processing. if anyone is up for trying to code something out as a vst plugin... here's the processing code for inspiration:
/**
* Conway's Game of Life
* by Mike Davis.
*
* This program is a simple version of Conway's
* game of Life. A lit point turns off if there
* are fewer than two or more than three surrounding
* lit points. An unlit point turns on if there
* are exactly three lit neighbors. The 'density'
* parameter determines how much of the board will
* start out lit.
*
* Created 3 August 2002
*/
int sx, sy;
float density = 0.5;
int[][][] world;
void setup()
{
size(200, 200);
frameRate(12);
sx = width;
sy = height;
world = new int[sx][sy][2];
stroke(255);
// Set random cells to 'on'
for (int i = 0; i < sx * sy * density; i++) {
world[(int)random(sx)][(int)random(sy)][1] = 1;
}
}
void draw()
{
background(0);
// Drawing and update cycle
for (int x = 0; x < sx; x=x+1) {
for (int y = 0; y < sy; y=y+1) {
//if (world[x][y][1] == 1)
// Change recommended by The.Lucky.Mutt
if ((world[x][y][1] == 1) || (world[x][y][1] == 0 && world[x][y][0] == 1))
{
world[x][y][0] = 1;
point(x, y);
}
if (world[x][y][1] == -1)
{
world[x][y][0] = 0;
}
world[x][y][1] = 0;
}
}
// Birth and death cycle
for (int x = 0; x < sx; x=x+1) {
for (int y = 0; y < sy; y=y+1) {
int count = neighbors(x, y);
if (count == 3 && world[x][y][0] == 0)
{
world[x][y][1] = 1;
}
if ((count < 2 || count > 3) && world[x][y][0] == 1)
{
world[x][y][1] = -1;
}
}
}
}
// Count the number of adjacent cells 'on'
int neighbors(int x, int y)
{
return world[(x + 1) % sx][y][0] +
world[x][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][y][0] +
world[x][(y + sy - 1) % sy][0] +
world[(x + 1) % sx][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][(y + sy - 1) % sy][0] +
world[(x + 1) % sx][(y + sy - 1) % sy][0];
}
cheers
the simplest way i know of coding conway's game of life is in processing (www.processing.org) but since it's based in java it's pretty much crap for audio without using extra code libraries. still... it's in the code examples that come with processing. if anyone is up for trying to code something out as a vst plugin... here's the processing code for inspiration:
/**
* Conway's Game of Life
* by Mike Davis.
*
* This program is a simple version of Conway's
* game of Life. A lit point turns off if there
* are fewer than two or more than three surrounding
* lit points. An unlit point turns on if there
* are exactly three lit neighbors. The 'density'
* parameter determines how much of the board will
* start out lit.
*
* Created 3 August 2002
*/
int sx, sy;
float density = 0.5;
int[][][] world;
void setup()
{
size(200, 200);
frameRate(12);
sx = width;
sy = height;
world = new int[sx][sy][2];
stroke(255);
// Set random cells to 'on'
for (int i = 0; i < sx * sy * density; i++) {
world[(int)random(sx)][(int)random(sy)][1] = 1;
}
}
void draw()
{
background(0);
// Drawing and update cycle
for (int x = 0; x < sx; x=x+1) {
for (int y = 0; y < sy; y=y+1) {
//if (world[x][y][1] == 1)
// Change recommended by The.Lucky.Mutt
if ((world[x][y][1] == 1) || (world[x][y][1] == 0 && world[x][y][0] == 1))
{
world[x][y][0] = 1;
point(x, y);
}
if (world[x][y][1] == -1)
{
world[x][y][0] = 0;
}
world[x][y][1] = 0;
}
}
// Birth and death cycle
for (int x = 0; x < sx; x=x+1) {
for (int y = 0; y < sy; y=y+1) {
int count = neighbors(x, y);
if (count == 3 && world[x][y][0] == 0)
{
world[x][y][1] = 1;
}
if ((count < 2 || count > 3) && world[x][y][0] == 1)
{
world[x][y][1] = -1;
}
}
}
}
// Count the number of adjacent cells 'on'
int neighbors(int x, int y)
{
return world[(x + 1) % sx][y][0] +
world[x][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][y][0] +
world[x][(y + sy - 1) % sy][0] +
world[(x + 1) % sx][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][(y + 1) % sy][0] +
world[(x + sx - 1) % sx][(y + sy - 1) % sy][0] +
world[(x + 1) % sx][(y + sy - 1) % sy][0];
}
cheers
-
- Banned
- 12367 posts since 30 Apr, 2002 from i might peeramid
evm made a 'conway's game of life' sem for synthedit a few months ago.
i'm still waiting to hear back about redistribution as etric announced he wasn't releasing sems any more.
i have a 'behavioural algorithm' for generating called populus, which could be categorised as a c.a. it's available in the current "freeware" edition of computer music magazine, or with any other license purchase :p
tho if you can copy that, you can probably paste it into an sdk yourself
i'm still waiting to hear back about redistribution as etric announced he wasn't releasing sems any more.
i have a 'behavioural algorithm' for generating called populus, which could be categorised as a c.a. it's available in the current "freeware" edition of computer music magazine, or with any other license purchase :p
tho if you can copy that, you can probably paste it into an sdk yourself
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.
-
- KVRAF
- 1619 posts since 19 Aug, 2004 from Toronto
I'd love to see more of this kind of thing.
Still, I know of a couple related examples:
Hansje made a game-of-life in Bidule (which has a VST version):
http://www.plogue.com/phpBB2/viewtopic.php?t=1329
Also, there is a game-of-life sequencer in Reaktor:
http://www.native-instruments.com/uploa ... ool_02.gif
Still, I know of a couple related examples:
Hansje made a game-of-life in Bidule (which has a VST version):
http://www.plogue.com/phpBB2/viewtopic.php?t=1329
Also, there is a game-of-life sequencer in Reaktor:
http://www.native-instruments.com/uploa ... ool_02.gif
- KVRAF
- 37533 posts since 14 Sep, 2002 from In teh net
The Bidule link is 2 years old and has timed out - any chance of uploading it somewhere?allofdrab wrote:I'd love to see more of this kind of thing.
Still, I know of a couple related examples:
Hansje made a game-of-life in Bidule (which has a VST version):
http://www.plogue.com/phpBB2/viewtopic.php?t=1329
Also, there is a game-of-life sequencer in Reaktor:
http://www.native-instruments.com/uploa ... ool_02.gif
-
- KVRian
- 930 posts since 21 Mar, 2006
I would love to see a vst version of glitchDS, which you can check out at www.glitchds.com if you have a Nintendo DS. His RepeaterDS is also fantastic. And what's more, not only are the results good, the process is a lot of fun, as well. A vst version of glitchDS with midi out would make me very happy.
Check out this video of an older version:
Check out this video of an older version:

-
- KVRAF
- 1619 posts since 19 Aug, 2004 from Toronto
You can download it using the Group Manager built into Bidule.aMUSEd wrote:The Bidule link is 2 years old and has timed out - any chance of uploading it somewhere?allofdrab wrote:I'd love to see more of this kind of thing.
Still, I know of a couple related examples:
Hansje made a game-of-life in Bidule (which has a VST version):
http://www.plogue.com/phpBB2/viewtopic.php?t=1329
Also, there is a game-of-life sequencer in Reaktor:
http://www.native-instruments.com/uploa ... ool_02.gif
Open Bidule,
click Tools,
select Group Manager,
click Get Remote Catalog,
look for/select Game of Life,
click Download.
- KVRAF
- 37533 posts since 14 Sep, 2002 from In teh net
Thanks - all I can see when I do that are 8 ensembles but not Game of Life
-
- KVRian
- 814 posts since 12 Sep, 2005 from Renton, WA
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- KVRian
- 515 posts since 18 Jan, 2004 from PHX AZ
We might have something in this vein on the way. Maybe. Possibly.
http://www.analogindustries.com/blog/en ... 6249777111
http://www.analogindustries.com/blog/en ... 6249777111
Chris Randall
Plug-ins: http://www.audiodamage.com
Blog: http://www.analogindustries.com
Music: http://chrisrandall.bandcamp.com/
More Music: http://rtsixy.bandcamp.com/
Plug-ins: http://www.audiodamage.com
Blog: http://www.analogindustries.com
Music: http://chrisrandall.bandcamp.com/
More Music: http://rtsixy.bandcamp.com/
-
- KVRAF
- 1619 posts since 19 Aug, 2004 from Toronto
vvvv just became a VST host!
Here's a Game Of Life done with it:
http://vvvv.org/tiki-index.php?page=pix ... newbies_08
Here's a Game Of Life done with it:
http://vvvv.org/tiki-index.php?page=pix ... newbies_08
-
- Banned
- 247 posts since 16 Nov, 2006
No I dont actually think the Kohonen Maps are interestings...for developers... a midi plugin or a synth based on cellular automata like this » http://en.wikipedia.org/wiki/Conway%27s_Game_of_Li fe (video with it applied for audio here » http://www.vimeo.com/320666) would probably be interesting for some people and some kinds of music.
-
- KVRAF
- 1619 posts since 19 Aug, 2004 from Toronto
What are the Kohonen Maps?HumanBeing2 wrote:No I dont actually think the Kohonen Maps are interestings...for developers... a midi plugin or a synth based on cellular automata like this » http://en.wikipedia.org/wiki/Conway%27s_Game_of_Li fe (video with it applied for audio here » http://www.vimeo.com/320666) would probably be interesting for some people and some kinds of music.
- Beware the Quoth
- 35520 posts since 4 Sep, 2001 from R'lyeh Oceanic Amusement Park and Funfair
Absolutely nothing related to cellular automata, basically.allofdrab wrote:What are the Kohonen Maps?
A self-organizing map (SOM) is a type of artificial neural network that is trained using unsupervised learning to produce a low-dimensional (typically two dimensional), discretized representation of the input space of the training samples, called a map. The map seeks to preserve the topological properties of the input space.
This makes SOM useful for visualizing low-dimensional views of high-dimensional data, akin to multidimensional scaling. The model was first described as an artificial neural network by the Finnish professor Teuvo Kohonen, and is sometimes called a Kohonen map.
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
- KVRist
- 418 posts since 17 Feb, 2013 from Sayan Mountains, Siberia
This subject rather interesting. Probably since then nothing changed.
It is time to begin VST development of cellular automata
What any ideas?
It is time to begin VST development of cellular automata
What any ideas?
¤ stone-voices.ru ¤
