Texture 2.0 bug exposure

Texture 2.0 (my Haskell based visual live programming language) is working a bit more. It has reached gabber zero – the point at which a programming language is able to support the production of live techno. Also I’ve made some small steps towards getting some of my live visualisation ideas working. Here’s a video which exposes some nice bugs towards the end:

This is an unsupported, very pre-alpha experiment, but if you want to try to get it working, first install Tidal (and if you want sound, the associated “dirt” sampler). Then download the code from here:

https://github.com/yaxu/hstexture

.. and run it with something like runhaskell Main.hs

 

Texture version 2.0 pre alpha

During my residency period, I’m rewriting “Texture”, the visual front-end for Tidal I started making way back in the closing moments of my PhD. The first step is to re-implement Texture in Haskell — before it was written in C, and spat out code that was then piped into the Haskell interpreter, which was a bit nuts. I’m taking a bricolage approach so don’t have a clear plan, but have a rudimentary interface starting to work:

As before, the idea is that values are applied to the closest function with a compatible type signature. I’ve still had to ‘reimplement’ the Haskell type system in itself to some extent. While I could get Haskell to tell me whether a value could be type-compatible with a function, it seems that this is not enough. This is because in practice, it is very likely that things will be type compatible, and the real constraints come with the presence of type class instances. Or something like that.

My next step is where the real point of this rewriting exercise comes in – visualisation of patterns as they are passed through a tree of transformations. I’m not sure exactly how this is going to look, but because this is all about visualising higher order functions of time and not streams of data, it’s going to be something quite a bit different from dataflow; it’ll be able to include past and future values in the visualisation without any buffering.

The (currently useless) code is available here, under the GPLv3 license.

Things coming up

I’ve been doing a bit *too* much lately. Still a lot of things on the horizon but hopefully a bit more spread out. So while I contemplate my calendar, here’s some public events I’m involved with:

  • Ongoing: I had a really great time during my residency and although I’m now back from Barcelona, the residency period continues for a couple more weeks. I hope to have a release of Texture 2.0 by the end of it.
  • 14th September: London Algorave with Slub and many friends, details to emerge…
  • 15-20th September: The Dagstuhl Seminar on Collaboration and Learning through Live Coding, which I’m co-organising with Alan Blackwell, James Noble and Julian Rohrhuber. These seminars are legendary amongst computer scientists, and we were delighted when our proposal was accepted. The seminar will bring some truly marvellous people together for an intensive week of future thinking in beautiful surroundings, and I can’t wait. This feels like the culmination of a lot of work over the years, and should be the start of many new adventures with friends old and new.
  • 28th September: The first Rafiki Jazz “declaration kriol” gig I’ll be taking part in, as part of the Sensoria Festival in my home town of Sheffield.
  • 4th October: A remote, 16 channel solo live coding performance beamed to UPF, Barcelona
  • 14th October: Off to EarZoom festival in Ljubljana, co-organising/curating an Algorave with them, where I’ll be performing with xname, as well as giving a talk and running a live coding workshop.
  • 18th October: Another Rafiki workshop and gig, at the National Centre for Early Music in York.
  • 31st October: An “algo-kriol” workshop with Rafiki Jazz at at Platforma festival Manchester.
  • 7th November: The first Sheffield Algorave, as part of a week(end?) of dorky/makerly activity happening then. Again as part of Slub and joined by many other algorithmic producers.
  • 12th November: A Slub performance in Kunsthal Aarhus, with a live coding workshop during the day
  • 13th November:Livecoding performance at Amersham Arms as part of an EAVI night.
  • 14th November: A lecture-performance at “Re-configuring the Immune System“, a student-led event at the Media&Comms dept at Goldsmiths, London. I did my PhD at Goldsmiths, looking forward to returning after far too long.
  • 18th November: (provisional): A talk on Tidal at Lambda Lounge in Manchester.
  • Some time during 21st-24th November: A durational live coding performance beamed to Piksel.
  • 28th November: A solo live coding performance at the White Building in Hackney Wick, London.
  • 12th March 2014: A talk and maybe workshop at UWE, Bristol

Release of tidal 0.2.1

For me the best part of my workshops during my residency here at Hangar was getting the participants to try out Tidal. In the final workshop there were around 12 of us jamming together, each with a speaker in a kind of drumming circle, at several points it was sounding really great.

In between workshops I’ve been cleaning up my various bits of code, and have now tied it all together into the first semi-documented release of Tidal. You can get the docs and the source over here.

Let me know if have feedback, or would like me to run workshops in your town…