Friday, December 18, 2009

ABDF Hierarchical Pattern (Dancemix)

First tune on next album/set. I need to learn how to get off of one phrase and into another or something... abdf-hier-dancemix

Wednesday, December 2, 2009

Butte songs...

Here are some of the first reasonable sounds generated by "Butte". These are MIDI sequences which I pulled into Logic and created mp3s for. All the notes are auto-generated. I didn't touch them! Sounds neat to me:


Updated: 12-7-09

Updated: 12-8-09
Ok, Ms. Anonymous/Mom: how about this one?
swirlybounce-4mom.mp3 (note this was hand-edited so it isn't really 100% auto-generated any longer :)

Tuesday, December 1, 2009

Tinsul Pop! Butte

"Butte" is the name of a rendering library I wrote ages ago while in grad school. I never distributed it outside of my own hands... and I probably can't even dig up the old code. If I recall correctly it was a retained-mode graphics API with some stuff like what wound up in VRML. That was back in the day when just getting triangle spans rendered in hardware was a big deal. "Mesa3D" was fairly new back then and "Butte" was a play on that.

"Tinsul" is the name I made up for a WoW character (gnome, warlock of course) my son played. Created from a few syllables I took from LoTR lore it means something like "sparkle wind." That it also sounds like "tinsel" makes it cute to me. Now, long ago when I was making ever more WoW characters for myself I named one "TinsulPop" for what should be almost obvious reasons: Tinsul's pop/dad, get it?

Later I just liked "Tinsul Pop!" so much that I am likely to use it as the nom-de-whatever in any media/software sales I attempt. I have a product/codebase under works which I am declaring will be the "Butte" I never released.

Friday, November 27, 2009

Umber Thanksgiving Tune

Here's a little ditty Bailey and I worked on today. I just started with a few 4/4 beats and started adding in bits. Bailey suggested the Japanese flute part. I called it Umber...

Wednesday, August 5, 2009


One of the staples of truly ambient music is the drone.

For a while now I've been listening to ambient/drone music while I fall asleep. I was curious how a random drone would sound. I fired up Plogue's Bidule and got to hacking.

What I wound up with uses 3 notes (here A, D and F). I feed the frequencies of those three notes into sine wave generators. These sine wave generators each are then modulated by randomly triggered amplitude envelopes.

Because I wanted the ability to "play" some high frequency drones on top of the lower frequency bass line I added an overtone of each of the notes with its own random envelope and mixed these now 6 sound sources together. The performance aspect of this was just me moving sliders around on the mixer to select the random sources. (Bidule v. 0.9685UB file: threenote-sine-drone.bidule)

The result is "Randrone." Enjoy...

This leads me to a thought I had (which I'm sure is not novel)... much of music is hierarchical, whole notes, 1/2 notes, 1/4 notes, etc. At least in the time domain. I wonder if creating notes in a fractal sort of way is noticable?

Fire Op aka Pentatonic Scale Freestyling

This tune came from an quick exercise in freestyling with a pentatonic scale. I'm not good at playing multiple voices on the keyboard. So I captured the D-A bass line sequence then played on top. After a little re-arranging later I added the harp piece. Then the stretched out viola voice and staged in the sound effects tracks. Short and I think sweet.

I realize Fire Op is a pretty simple piece. But it makes me happy that I can arrange something halfway decent sounding.

Tuesday, August 4, 2009

Sound Sketches: a little Harmony and Phrasing

After "multiwalk" I decided to think about harmonic progression early in any new works. Multiwalk didn't really have any, actually. There was some disharmony raised in counterpoint, but nothing resembling a "chord progression." At least not on purpose...

Yesterday I dug up an old melody sketch and began playing with it. Listen to the bare bones. Pretty simple: this phrase is ultimately rooted in C major (E and G in C,E,G) but by the third note it is leading toward F major (A in F,A,C). At the end it comes back to C after having shown the F and so technically this would be a form of I-IV-I chord progression. Well, close to one anyway, especially if you loop it.

After recognizing this progression I set about to both embellish the melody and also strengthen the perception of the progression. I really like the idea of layering in music so starting with that bare bones melody structure I began adding bits. The result is a "layered intro" sort of sound. This piece has 4 copies of the bare melody. To each new instance I've added something. In the second phrase I added two instances of C-maj chords to strengthen the I-ness at the beginning. The third adds a little rhythmic embellishment. The final phrase adds IV-ness (FAC chords) at the end. I suppose this ruins the I-IV-I and turns it into a hanging I-IV. Or maybe just mishmashed. But I think it sounds nice at the end... like the setup for something big!

One thing I also didn't like about Multiwalk was that each voice while having modes didn't really have very distinctive modes. By that I mean I didn't alter the rhythmic or note structure in any of the voices apart from the initial distinct phase it started out in. Given the "layered intro" bit above I decided to try to give it a rest/bridge to the fourth repeated phrase. So I set about to find a set of notes somewhat compatible and create a separate distinct melody with it. Using the circle of fifths and knowing that I was already using C and F it appeared that G would be a good fit. It turns out G is "V" and mixing I, IV, and V in a progression doesn't exactly suck. The result is a "bridged, layered intro." The bridge, as I'm calling it here is where the third phrase was in the previous example. Thinking about this some more I should probably drop the IV-ness at the end of the last phrase and make it I-ness to bring it back home. Maybe I'll update and add that later.

Tuesday, July 21, 2009


"Multiwalk" is the title of the first song I've created I'd consider decent enough to ask others to listen to. I think it's been cooking long enough that I should stop tinkering with it and see how it ages. I'm reminded of an art teacher I had once that said (I'm paraphrasing) "the difference between 2nd graders and adults is that 2nd graders know when to stop cutting." Or something like that.

The idea behind this song is a series of intertwining "walks" that lead to a near-miss crescendo then resolve with the pieces moving apart again. Well, that's the idea anyway. In practical terms there is a dominant piano piece and bells piece. The piano part has two main modes and is colored with flourishes along the way. The bells part is really a faster mimic of the piano part but does have some changes, not only in tempo. Background for the whole thing is a cello and other slow background, almost, drones. The crescendo section is not quite emphatic or lined-up enough. So you're left feeling (at least I am) that it "just missed." I do like the plaintive squeal in there though...

I produced this in Logic Pro 8. I think it took something less that 6 months of calendar time. Real editing time would be on the order of days, though. Along the way I've produced probably 4 or 5 different versions... each with a different feel to the bass/slow lines. At one point I had a staccato, almost military sounding drumbeat going on behind it. After some feedback I tried using a cello and dropping the drums (except for the flourishes). I think it works the best so far.

Enjoy "multiwalk." I'd love to learn your opinions.

Update: early version with drums.

Wednesday, June 17, 2009

Edge Effects

I'm taking the Dispersion Test setup and applying it to a Second Life virtual reality room (my little spot).

In order to generate the images I use a Blender template consisting of 6 cameras, each aimed down an axis. The camera properties have been chosen carefully to basically provide non-overlapping, but abutting, images of the surrounding world. Then each camera position is rendered and the resultant image becomes one of the sides of the virtual reality room cube. I've done this before successfully with Blender's default renderer.

So ideally I could just move my dispersion test setup into the template, use LuxRender for each camera position and be done. However... Unseemly seams are something I can't seem to get rid of. Looks like the tone mapping phase is edge-variant. Hopefully there's a way around it or maybe I'm doing something wrong.

More here at the topic I posted at the LuxRender forum.

Update: jeanphi suggests it could be a filtering problem before the tone mapping phase. Not sure if I want to remove it even if I figure out how to. Might just have to calculate a slop factor and chop it off post-processing.

Update: it was the render filter. I changed it to 1x1 (effectively disabling the filter) and now the seams should line up nicely.

Thursday, June 11, 2009

Dispersion Test

I've been playing around with LuxRender and Blender... particularly I've been tweaking materials and angles to get rainbow caustics for a scene. I rendered a whole mess of bad attempts and eventually I decided to analyze the situation very closely. So I set up an experiment of sorts.

For the final scene I only want rainbows from this effect... I don't want white light at all. That means I want only parallel light rays going into the ball. To do that I put a light source inside a long tube with the light at one end and the glass ball at the other. The tube is cylindrical. The light source is circular but... also inside the tube is a "choke" of sorts that turns that light source into a thin circular ring. To keep the camera from seeing the icosahedron the light tube incorporates a "back mask".

The target of the light is an icosahedron (d20 for those in the know) subdivided twice. Its material is completely transparent with an index of refraction of around 1.8 and a Cauchy B coefficient (at least what LuxRender calls it) of somewhere around 0.4. I forgot to record the specific numbers for this picture (duh) but these are high relative to normal glass; they were chosen to enhance the dispersion.

On the other side of the light tube is a white matte surface used to record the "splatter pattern". In early tests I noticed that the incident white light that made it straight through to the matte surface with very few bounces (basically coming straight through) washed out the rest of the pattern. So to combat that I placed a circular black hole right in front of the icosahedron to capture and cancel it... Here's a shot of the dispersiontest.blend setup in Blender.

Ok, so here's what came out... The only real suprise here is just how incredibly dense this is. I expected to see a few rainbows but wow. As an image in and of itself it isn't all that artisically interesting. However it's pretty amazing from a technical standpoint.

This picture took approximately 60 hours worth of CPU time to generate. Ugh... I hope LuxRender gets CUDA/OpenCL acceleration soon.

I played with changing the shape of the incident light a bit too. More on that later...

Update: This got a mention on the LuxRender forums :) Thanks guys!

Update 2009/6/16: I created a short animation with the ball rotating...