View allAll Photos Tagged synth
I've been playing around with some Sunflow export for Structure Synth, and this is my first test with boxes.
(Sunflow has some amazing global illumination lightning, but why doesn't it have a 'box' primitive in its scene graph language? I mean, it has Banchoff Surfaces, tori and teapots, but not a simple box?)
The EisenScript:
// Produced by Structure Synth V 0.4
// (http://structuresynth.sf.net/)
// Seed: 54
set maxdepth 300
set background #9f4
// City
{ h 30 sat 0.7 h 67 b 0.8 s 0.75 x 3 y -4 } spiral
// World plane
{ s 20 20 0.1 z -3 color #eee } box
// Box pattern
1 * { z -0.2 x -10 y -10 } 20 * { x 1 } 20 * { y 1 } 1 * { s 0.7 0.7 0.2 } box
rule spiral w 100 {
box
{ y 0.4 rx 90 hue 1 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box
{ y 0.4 rx 90 hue -1 rz -90 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box
{ y 0.4 rx 90 hue 0 rz 90 s 0.995 b 0.995 } spiral
}
rule spiral w 3 {
{ rx 90 s 1 1.3 1 } spiral
{ ry 180 h 3 s 1 0.7 1 } spiral
}
Produced by Structure Synth V 0.5
(http://structuresynth.sf.net/)
set maxobjects 16000
10 * { y 1 } 10 * { z 1 } 1 * { a 0.8 sat 0.9 } r1
set background #aaa
rule r1 {
{ x 1 ry 4 } r1
xbox
}
rule r1 {
{ x 1 ry -4 } r1
xbox
}
rule r1 {
{ x 1 rz -8 s 0.95 } r1
xbox
}
rule r1 {
{ x 1 rz 8 s 0.95 } r1
xbox
}
rule xbox {
{ s 1.1 color #000 } grid
{ b 0.7 color #000 a 0.9 } box
}
rule xbox {
{ s 1.1 color #000 } grid
{ b 0.7 color #ddd a 0.9 } box
}
An example of the new Preprocessor '#define' command, which makes it possible to create constant variables.
The script on the screenshot should be somewhat self-explaining.
(Available from SVN now or whenever SS 0.9 is released)
This one uses ambient occlusion triangles, glass spheres, and a phong floor.
Structure Synth Code:
set maxdepth 9
r2
rule r2
{
{ry 15 x -1.0 hue 40 s 0.65 } r2
{rz 15 y -1.0 hue 40 s 0.65 } r2
{rx 15 z -1.0 hue 40 s 0.65 } r2
r1
}
rule r1
{
{s 0.6} sphere
{rz 0 x 1/3 s 0.10 1 1 } box
{rz 120 x 1/3 s 0.10 1 1 } box
{rz 240 x 1/3 s 0.10 1 1 } box
}
For this stark, spellbinding episode of Room 205, director Luis Farfan worked closely with director of photography Conor Simpson, set designer Tamarra Younis, editor Forrest Borie and sound engineer Jon Gilbert to capture the band's mesmerizing live performance while crafting a world of abstract symbols, ambient sounds and cinematic contrasts, entirely elegant and arresting in their own right.
BIO
Los Angeles based artist Camella Lobo has been quietly releasing music under the moniker Tropic Of Cancer since 2009. Drenched in romanticism and soaked in themes of solitude, mortality and love, her music forms a strangely hypnotic connection with its listener. Lobo’s majestic vocals, warmly cradled by waves of ascending synths, plangent guitar, and foreboding beats, summon the listener into a world of dark decadence and delicate beauty. Formerly a duo with minimal electronic artist, Silent Servant, Lobo has enlisted the assistance of Taylor Burch to help execute her music in a live setting.
COMPONENTS
Video
• YouTube: youtube.com/playlist?list=PLC4EEUwd7e4ljPXq6_9pILRONJzR-PS6z
• Vimeo: vimeo.com/album/2243798
Photos
• Flickr: flic.kr/s/aHsjA3Cd1q
Music
• SoundCloud: soundcloud.com/goincase/sets/tropic-of-cancer-at-room-205
CREDITS
Executive Producer
• Incase: goincase.com
Producer
• Arlie Carstens: disastercasual.typepad.com
Director
• Luis Farfan: denada.org
Set Designer
• Tamarra Younis: union-of-art.net
Audio Engineer
• Jon Gilbert: facebook.com/jonathan.gilbert.7796
Camera
• Luis Farfan: denada.org
• Conor Simpson: vimeo.com/likeamaniac
Editor
• Forrest Borie: vimeo.com/forrestborie
Photos
• Arlie Carstens: disastercasual.typepad.com
Performing Artist
• Tropic Of Cancer: facebook.com/tropicofcancerband
Label
• Blackest Ever Black: blackesteverblack.blogspot.com
Publicity
• Camella Lobo: twitter.com/camellalobo
Room 205 Theme Song
• Cora Foxx: theheapsf.com
I've started experimenting with POV-Ray export in Structure Synth, and this is the first visible result.
Produced by Structure Synth V 0.5
(http://structuresynth.sf.net/)
Script:
{ hue 20 sat 0.8 } r2
rule r2 maxdepth 20 {
{ s 0.75 rz 10 b 0.9 } r2
frame
}
rule frame {
{ s 0.1 1.1 0.1 x 5 z 5 } box
{ s 0.1 1.1 0.1 x 5 z -5 } box
{ s 0.1 1.1 0.1 x -5 z 5 } box
{ s 0.1 1.1 0.1 x -5 z -5 } box
{ s 1 0.1 0.1 y 5 z 5 } box
{ s 1 0.1 0.1 y 5 z -5 } box
{ s 1 0.1 0.1 y -5 z 5 } box
{ s 1 0.1 0.1 y -5 z -5 } box
{ s 0.1 0.1 1 y 5 x 5 } box
{ s 0.1 0.1 1 y 5 x -5 } box
{ s 0.1 0.1 1 y -5 x 5 } box
{ s 0.1 0.1 1 y -5 x -5 } box
}
A little system with lots of potential variations to explore.
Essentially 180 degrees turns around a random axis.
EisenScript (requires recent >0.95 build of Structure Synth):
#define shrink s 0.996
set maxdepth 1000
set background white
4 * { z 0.2 } 4 * { y 0.2 color white } hbox
{ s 0.1 200 200 color #333 } box
//6 * { x 1 } 1 * { x -3.5 z 7 } hbox
rule hbox { r}
rule r { forward }
rule r { turn }
rule r { turn2 }
rule r { turn4 }
rule r { turn3 }
rule r { turn5 }
rule r { turn6 }
rule forward md 90 > r {
dbox
{ rz 2 x 0.1 shrink } forward
}
rule turn md 90 > r {
dbox
{ rz 2 x 0.1 shrink } turn
}
rule turn2 md 90 > r {
dbox
{ rz -2 x 0.1 shrink } turn2
}
rule turn3 md 90 > r {
dbox
{ ry -2 x 0.1 shrink } turn3
}
rule turn4 md 90 > r {
dbox
{ ry -2 x 0.1 shrink } turn4
}
rule turn5 md 90 > r {
dbox
{ rx -2 x 0.1 shrink } turn5
}
rule turn6 md 90 > r {
dbox
{ rx -2 x 0.1 shrink } turn6
}
rule dbox {
{ s 0.2 1 1 } box
}
Reflection test using the new internal Structure Synth raytracer. (Rendering time: 2.4s)
I've started working on a simple built-in raytracer in Structure Synth, both for providing fast previews in the GUI, and for people who are intimidated by the somewhat complex template export.
So far it is pretty standard stuff: a single-threaded, Phong shaded based raytracer which uses the Fast Voxel Traversel method to accelerate ray-primitive intersection tests. As of now it supports reflections, transparency, shadows (the hard and ugly type), and adaptive anti-alias. I've also implemented a simple Ambient Occlusion scheme.
The 555 timer generates pulses and can be used for a bunch of stuff. Pulse characteristics are determined by resistors and capacitors. By varying the resistor value using my "keyboard", I can control the frequency of the pulses going off to a speaker. However, the keyboard would probably need to have trimpots rather than static resistors in order to make proper (CDEFGAB) tuning possible.
A Structure Synth creation rendered with Kerkythea
Script (if anybody is interested)
set background #5274A2
skyship
{fy}skyship
{x 31 y -2.5 z -39.2 ry 15}rotor
{x -33.5 y -2.5 z -39.2 ry 15 }rotor
1 * {fy } 1 * { x 31 y -2.5 z -39.2}rotor
1 * {fy} 1 * {x -33.5 y -2.5 z -39.2}rotor
{y -5 z -29.7 x -0.85 s 5 color #800000}sphere
// ship
rule skyship{
{y -0 z -1 s 0.7 1 2.5 }body
{y -0 z -30 s 2 1 1 }body
{y -0.3 z -20 s 1 1.5 1 }body
{x 31 z -35 s 0.5 1 0.5 }body
{x -33.5 z -35 s 0.5 1 0.5 }body
}
//////////// parts
rule body md 36 { // md 18 for half only
{ ry 5.625 rx 82 s 1 1 1}RingPart
{ ry 10 x 1.7 } body
}
rule RingPart{
{ y -1.5 rx -90 } roof
{ rx -30 z 2 s 2.2 4 1 color #80331a} box
}
rule roof{
{z 4 } panel
{z 6.9 rx 40 s 2.8 2 0.1 color #80331a} box
}
rule panel{
{ y -2 z 1.1 ry 90 s 4 0.5 0.5 color gray b 0.2} box
{ y -1.9 z -7 s 2.7 0.01 12 color gray b 0.8} box
}
#define blades 10
/////////////////
rule rotor md blades {
{ ry 10 rx 90 s 0.5 0.1 5 color #80331a}box
{z 8 y -2.5 rz 15 s 2 0.1 20 color gray b 1.2} box
{y -3 z 0 rx -20 rz 8 ry 5 s 0.6 0.01 1.2 color #80331a} box
{ ry 360/blades x 0.4} rotor
}
Software synthesiser - I am continuously messing about with this kind of stuff. It's an exact replica of a piece of Roland hardware - sounds fantastic, but my music and 303 programming knowledge is a bit hit and miss.
I've added several different random color schemes to Structure Synth.
The image demonstrates the use of the 'color random' operator, for different color pools:
set colorpool randomhue
set colorpool randomrgb
set colorpool greyscale
set colorpool list:orange,white,white,white,white,white,white,grey
set colorpool image:filename.PNG
These schemes are described in more details on my Syntopia blog.
This update necessitated a few changes to the underlying random number generator system: the Eisenstein Engine in Structure Synth is now powered by two independent Mersenne Twister streams. And not only does that sound sexy - it also ensures that structures made from a specific random seed can be reproduced on different platforms.
When I was up at Random Hacks of Kindness there was an interesting cacophony of noise coming through the walls. I wandered around to find out what it was, and stumbled upon the Annual Analog Synthesizer Meeting.
It's a group of audiophiles who use only analog circuits to make music. They generally hand solder their systems, though you can get kits.
The systems produce sound like this:
soundcloud.com/badr0b0t/maths-module
(listen to it about halfway through, it starts off slow)
Info on Hacker Dojo:
hackerdojo.pbworks.com/
Facebook page for the Analog Synth meeting:
Structure Synth terminates the recursion if the number of objects is greater than the given threshold ('set maxobjects ...') or if the recursion depth becomes greater than the maximum depth ('set maxdepth ...'). It is also possible to set a maxdepth for an individual rule ('rule R1 maxdepth 5').
I've added two new rules for controlling the termination.
'set minsize {size}' and 'set maxsize {size}' allows you to specify how large or small a given object can be before terminating. The 'size' parameter refers to the length of the diagonal of a unit cube in the current local state. (The initial coordinate frame goes from (0,0,0) to (1,1,1) and hence has a diagonal length of sqrt(3)~1.7). It is possible to specify both a mix and a min size. The termination criteria only stops the current branch - if other branches are still within a valid range, the will be continued.
This is very useful for preventing Structure Synth from creating boxes which cannot be seen anyway or from growing without bounds.
The image shows the same structure at three different minimum size tresholds.
Example script (requires a post-version 0.9 of Structure Synth!):
set minsize 0.8 // or 0.4, or 0.2
set maxdepth 600
set background #333
{ h 30 sat 0.2 h -67 b 0.8 } spiral
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue 1 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue -1 rz -90 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue 0 rz 90 s 0.995 b 0.995 } spiral
}
rule spiral w 3 {
{ rz 5 s 1 1 1 } spiral
{ ry 4 h 3 s 1 1 1 } spiral
}
rule box2 {
{ s 1 5 1 } box
}
rule box2 {
{ s 5 1 1 } box
}
rule box2 {
}