Adam's Blog
×

Day 6

Monday September 06, 2010
Category: Creative Pact 2010

Last night I finished watching the first season of The Wire. I have been watching it on DVD and the splash screen and the opening scene of the show has all of these signal displays. So, I dusted off my trigonometry skills and started making some sine waves dance on my screen.

I have some ideas about how to tweak this a bit more by casting the shapes to PImages and then applying filters but I have a busy day, so that will happen another time. I expect that the sketches during the week will be shorter than the weekend ones. I think that is just how it goes.

Screenshot of software. Screenshot of software.

Today's Code:

Day 5

Monday September 06, 2010
Category: Creative Pact 2010

Today I was working with analysis. This patch doesn't have a lot of good looks but I have implemented a zero crossing rate function, an rms function for time domain analysis, spectral centroid, spectral rolloff, and spectral compactness. I coded up a spectral flatness measure but I keep getting zero as the output. I haven't done thorough debugging job because I was trying to make sure I have something done for today!

I started out hoping that I could implement both the spectral features and time domain features as an AudioListener object but the FFT object doesn't work that way. So, I made a method that is called every draw loop. This isn't the nicest solution but it works. I am dreaming up a link between jAudio and MINIM. If I'm not careful I might be putting another thing on my plate :)

Today's patch is really just an extension of MINIM's spectral display patch but an overlay of the feature extraction output. My hope is to eventually do a MINIM version of sndpeek. Maybe tomorrow there will be text and waterfall plots... maybe.

Screenshot of software. Screenshot of software.

Day 4

Saturday September 04, 2010
Category: Creative Pact 2010

This one has been in the works for awhile. I have been looking at the minim BETA for a few days and now I feel like I am getting my head around it. Today I made my first UGen. I think I am going to submit it to the distribution. It is a byte swapping algorithm inspired by swap~ in zexy for PD. This is one of my favourite distortions. Very loud and very nasty. You've been warned.

Today I also finally delved into Processing's method for exporting applets. So, I am not going to dump a whole lot of code in this post. If you want to see the code follow the links below.

The audio display is rendered as points. This is inspired by something I saw at MUTEK this year and is also the flavour of the visual material for Frank Bretschneider's EXP. http://www.frankbretschneider.de/Web-Site/exp.html

Screenshot of software. Screenshot of software.

Day 3

Friday September 03, 2010
Category: Creative Pact 2010

Today was a challenge. I downloaded the BETA of MINIM so that I could try the new UGEN api. It is interesting but not fully featured yet. I saw a Granulator in there and I got excited. I wasn't able to make any good sounds and I ran into some troubles with controlP5 and MINIM where they both had Controller classes and Events.

There is a crazy solution where the name of a controlP5 object can be declared as a global and the slider will update the global. I have to look further into why this works but it certainly minimizes the amount of code I have to write to make a basic GUI.

This example does a simple mapping of the BitCrush UGEN with a slider. It also has a display for the audio output. I would love to have access to the audio input too. More work to be done. I am learning a lot here.

Screenshot of software. Screenshot of software.

Day 2

Thursday September 02, 2010
Category: Creative Pact 2010

I have been messing with Minim. This is a simple synthesis sketch that uses a few triangle waves represented by coloured circles and modifies colour by monitoring the pan (which is randomized a bit).

The really fun features seem to be in the BETA so I will play with that a bit tomorrow. I am anxious to try out the granulator and the bitcrusher.

Screenshot of software. Screenshot of software.

←   newer :: older   →