Archive

Archive for the ‘Software’ Category

Euclidean sequencer – Max for Live version

March 26th, 2010

Some people have expressed an interest in my Euclidean sequencer patch getting ported to max for live. Ummm, it’s like nearly there. Any minute now, look…

Image of euclidean sequencer running in live

Euclidean sequencer ported to max 4 live.

I’ve been playing with this little baby for a week now, the algorithmic sequencer works nice. Programming wise I’ve been getting bogged down in preset management but after having decided to ditch live’s presets and just stick with max’s xml files it’s nearly there. I wish the live number boxes had settable max and minimum parameters but they don’t.

This is my first patch in max for live and the new purchase is nice and everything but I can see it just being another barrier between me and music making. That and the fact the sparse documentation just confuses me leaves me grumpy. Ho hum.

Software , , ,

MPEG7 Encoder for MaxMSP alpha release now here !

June 26th, 2009

A third of what drove my tv installation piece was the audio analysis software that allowed me to segment, analyse and database the sound track of youtube movies. These had been stripped from the downloads and saved as wavs. At first I wrote a simple slicer and segmenter in VASP that allowed me to get basic amplitude spectral data for entry into a database. But this was hacky, the output data wasn’t standardised making it useless to use with other patches and crashy (it would analyse solidly for ten minutes then crash Max in annoying fashion). So I came back to an MPEG7 audio encoder written under LGPL in Java.

I’d looked at Holger Crysandt’s library early on in my PhD when I was playtesting ways of getting good audio metadata but ended up sticking with Tristian Jehan’s analyzer~ external. This works great with with signals in real time but if you want to analyze say ten minutes of sound then it takes the ten minutes to play it through analyzer~ and log the details. My desire for faster than realtime, offline analysis, was largely what drove me to write a wrapper in max Java around Holger’s library.

Alpha release is here !

Alpha release is here !

The alpha release is now finished and I’m posting a jar file for windows. UPDATED:  NOW MAC COMPATIBLE.

This alpha release includes an example application patch showing off the slicing abilities and a reference text file to talk you through the numerous attributes of the external (though this is a work in progress, you will need to refer to Holger’s website and the MPEG7 audio standard for lots of useful details).

frecycle is a recycle clone entirely in max msp

frecycle is a recycle clone entirely in max msp

The frecycle patch is modelled on Propellerhead’s beat mash up defining Recycle. Simpy load a mono audio wav and drag the slice threshold bar to the right to increase the number of slices. These are automatically mapped to midi keyboard keys starting at midi note number 36. The pitch bender gives +/- 50% pitch range and the funky autosequence gives good results with one or two bar drum loops with the slice threshold moderately low. Enjoy!

To install the alpha release simply download the zip and follow the installation instructions in INSTALL.txt.

DL: Mpeg7Encoder-alpha-distro-mac-compatible.zip

The technically enclined may enjoy the source code at the project’s Sourceforge page.

Hopefully next week I’ll follow up with my meta sampler patch that allows you to use the SQL database to auto map sounds according to their spectral features.

Other stuff, Software , , ,

5 reasons why you need analysed segmented audio

June 8th, 2009

I checked my google analytics page today and found my bounce rate was over 80%. After having taken the time to find out what that meant I read google’s (not at all evil) guide to writing web headlines. Hence the title.

I’ve spent the past fortnight polishing up an external I wrote to analyse, segment and store information on sounds in MaxMSP, there are a couple of other objects that do similar stuff like Jehan’s analyzer~ or the mac only and now defunct slice~ but I wanted something that could work offline, automated and in a database friendly fashion. The version I came up with to achieve this uses a fairly thick wrapper, written in mxj, around Holger Crysandt’s java MPEG7 encoder.So what are the five reasons why this might be any use to you?

  1. How often do you find yourself wishing you had a simple beat slicer like that of recycle, kontakt or live in max that didn’t need a load of patching on your part but could just be dropped in to work with files or audio? I work with libraries of breakbeats in my music making and spend a lot of time slicing, plus for generative art pieces as I am wont to create, segmenting audio is often the first step in reappraising and changing existing works into new ones.
  2. Wouldn’t it be nice if when the slicing was finished rather than grouping kicks, snares, hats and other percussion by hand you could let the computer do it for you? A slicer that has inbuilt audio analysis is the first step for doing this.
  3. When you’re working on a beat and you want to try similar sounds wouldn’t it be nice if the computer could suggest similar sounds from a set you’ve specified? Analysed audio with good metadata can make this possible.
  4. Isn’t life too short to spend an age cutting and labelling every beat before deciding if they even work in a track? By using automated tools for cutting up audio you could test many sounds, find surprising new relationships before saving the segments for use in whatever package you fancy.
  5. Segmented, meta-data heavy audio file formats such as MPEG7 open up some interesting new possibilities for generative and interactive audio as well as regular music applications, why not get ahead on an emerging standard by spending a few hours knobbing about with it in everyone’s favourite graphical patching language?

That’s it, those were my five reasons, and if you don’t click on the below photo for a closer look at my MPEG7 external development then my bounce rate will only increase. Expect a buggy beta this week.

Screenshot of MPEG7 encoder and database externals for MaxMSP, writing helpfiles and proper documentation are some of the least fun things I do

Screenshot of MPEG7 encoder and database externals for MaxMSP, writing helpfiles and proper documentation are some of the least fun things I do.

Blogging, Music, Software , , , , ,

Euclidean beat generator redux

June 8th, 2009

After developing my euclidean beat generator for use in my Journey through a burning brain exhibit and reading some of the feedback from other users, I have developed some new features. This version is fully pattrstorage compatible allowing interpolation between beat presets. This came out of a conversation I had with a user I met on the max forums who had put the patch to use with his own genetic algorithms using brain waves as a fitness test. I was pretty impressed with what he’d done and was delighted to see a photo of his patch on David Zicarelli’s look back at expo ‘74.

Expo '74 Attendee patch running EEG (brainwave) controlled genetic algorithms for better euclidean beats. Photo by attendee John Manoogian III.

Expo '74 Attendee patch running EEG (brainwave) controlled genetic algorithms for better euclidean beats. Photo by attendee John Manoogian III.

Future versions will include less buggy gui recall and the ability to specify simple strings to the js object that program the sequences.

Euclidean beat generator 1.01, now with added preset interpolation, discover the grooves between the grooves

Euclidean beat generator 1.01, now with added preset interpolation, discover the grooves between the grooves

Euclid Max Source Patches: EUCLID.zip

Euclid Standalone: euclid_standalone.zip

Software , , ,

Rutt Etra Jitter Synth – Now here !

January 17th, 2009

As promised earlier this week here is my Jitter Rutt Etra video synth stripped down and prepared for general consumption. Try experimenting with the wet/dry mix for some interesting feedback action along with the zoom and rotation values, angles like pi divided by integers lead to some interesting patterns. Get stuck in.

Screenshot of my scanline jitter synth

Screenshot of my scanline jitter synth

Jitter patch: rutt_etra_video_synth.zip

Software , , ,

Rutt-etra videosynth nearly ready

January 10th, 2009

Since my last post I’ve been working on a few things, details of which I hope to post soon but I’ve spent most of my time working on my Rutt-etra inspired jitter/open-gl video synth. This along with a database youtube video harvester I wrote in Python will form a major part of my next piece I’m hoping to submit to the 2009 conference. I’m aware that it’s not entirely an original idea to build a software version of the famous 70s video synth and I have to admit to being inspired by vade’s work in the same area.

As well as the version of the software developed for my own use I’m working on stand alone and max patch versions for distribution to interested third parties. I’m pretty pleased with the vsynth, it basically displays an input video on to a set of parallel lines each of which can be deformed, point by point along the line, with the luminosity of the image controlling the height of each point. On top of this it does some pretty open-gl feedback and a nice feature I just added is to allow the mixing of the feedback with the source footage to give some pretty pyschedelic results.

Although it’s a bit of a cpu hog it runs fine on my old 1.8 GhZ single-core laptop as I went to great pains to move as much of the process on to the GPU as possible. I’m hoping to post a first general release of the patch by the end of next week so for now you’ll have to make do with some screenshots.

Original Dr Who title sequence Rutt stylee

Original Dr Who title sequence Rutt stylee

Rutt-etra psychedelic colour disco

Rutt-etra psychedelic colour disco

Software , ,