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.
Today's Code:
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.
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
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.
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.
← newer
::
older →