65daysofstatic and a new model for web distribution

Some months back, the post-punk band 65daysofstatic posted what I believe to be the first example of an algorithmic composition by a popular music group published via real-time rendering in the browser. Using Gibber, of course. It received a really positive response when the band posted it to Facebook, especially after I reconfigured Gibber’s server to not crash under the load of hundreds of fans trying to view the piece simultaneously.

The model is interesting to me because it enables fans to potentially play around with the code, remix it and republish their results. I hope to see more of this going forward with Gibber. For another interesting take on publishing music via code, see Alex McLean’s recently announced Peak Cut album. Peak Cut is distributed both as audio files and as executable source code on a USB flash drive. It also includes a bootable image of Linux with Alex’s Tidal live coding software pre-installed.

When you launch Gibber, the 65dos demo is one of the first ones that appears in the file browser. Take a listen!

Continue reading


gibber.p5.js projects coming in…

A number of people have sent in projects using Gibber with p5.js. First up is Lucas Swick, who used Gibber to visualize data from a live, incoming stream.

Lucas Swick, p5 + gibber

Next up is japp with a piano / synth visualization combo, including a live score visualization.

Screen Shot 2015-02-17 at 9.53.43 PM

Ryan McGee also recently taught a class on synthesis and sonification for art students that used a lot of Gibber. I sat in on the final project presentations; it was fun seeing what people were able to come up with in a couple of months.

Continue reading


Roger Dean composition / performance

Roger Dean has been working with Gibber over the course of the past half year or so, and has given had a couple of recent performances recently where Gibber played an important role.

In the first, his composition Bird Migrants was podcasted by the ABC (Australian Broadcasting Corporation) in early November. You can hear various Gibber synthesis elements in it, and much of the vocal processing was also performed using Gibber to my understanding.

The second was a performance that featured live coding in Gibber by Roger alongside vocals by his partner, Hazel Smith (who contributed text / vocals to Bird Migrants as well). When looking for information on the performance I found a nice review of it by the Sydney Morning Herald. The performance also featured Bird Migrants.

Continue reading


Gibber @ LSU

I have a backlog of people doing interesting stuff with Gibber to post about; a great problem to have! Jesse Allison has been leading a research group (the Experimental Music and Digital Media program, or EMDM) at Louisiana State University who have been using Gibber in a variety of ways. First, they’ve been using it to perform in the Laptop Orchestra of Louisiana; below is a pic of a recent performance:

The Laptop Orchestra of Louisiana performing with Gibber.

The Laptop Orchestra of Louisiana performing with Gibber.

They’ve also been using it to teach middle school and high school students through their EDMM Academy; very cool!

The EMDM program has also released a number of interesting open source software packages. The first is a web GUI framework for digital musical instruments that recently received a major overhaul / upgrade: NexusUI. The second is BRAID, a tool for quickly prototyping digital musical instruments. BRAID currently combines NexusUI with gibber.audio.lib, and although it will support more audio libraries in the future I’m happy Gibber got to go first. These recent projects are primarily the work of Ben Taylor, an incredibly talented creative coder studying with Jesse at LSU.

Please check out their work!

Continue reading


Weaving with Gibber

From the I-should-have-posted-about-this-months-ago category:

Alex McLean led a workshop on digital weaving and used Gibber a while back; for a while the “Recent” menu in the Gibber file browser was filled with examples of weaving done by participants using Gibber’s 2D graphics mode. You can read about Alex’s work and also get a link to a Gibber publication to try out your hand at weaving a la Gibber:

http://yaxu.org/weaving/

alex mclean – digital weaving in gibber

The workshop was part of a grant involving a number of people titled “Weaving Codes, Coding Weaves”. Live coder / artist / developer Dave Griffiths has since done some really impressive work on software (and hardware!) for digital weaving:

http://kairotic.org

Continue reading


Gibber Updates

Going to try and be a little more active on this blog; I especially want to highlight all the work other people have been doing involving Gibber / p5.gibber. But to start, some info about some nice feature updates to Gibber.

First, the new pattern library. There are now lots of ways to manipulate the underlying values of audiovisual sequences. You can reverse, invert, rotate, scale, transpose, crop… many tools for creating variation over time in sequences. Check out the Gibber pattern tutorial for details (just close the welcome screen that pops up):

http://gibber.mat.ucsb.edu/?path=charlie/publications/Patterns%20Tutorial

I’ve also added some tools for visualizing pattern manipulations, you can see them at work in this video:

One common request for Gibber is for more instruments and styles of sounds. I’ve addressed this to some extent by adding SoundFont integration to Gibber. SoundFonts are collections of samples that match the General MIDI spec (https://en.wikipedia.org/wiki/General_MIDI). Adding the SoundFont means there are now a variety of more traditional sounds (piano, organ, cello, flute etc.) that can be used in giblets. You can try out the SoundFont integration here:

http://gibber.mat.ucsb.edu/?path=gibber/publications/SoundFonts%20*audio*

Continue reading


Upcoming performances and talks

A few events coming up in the next couple of months. First, a long-form performance (~ 1 hour?) on October 26th as part of the ACADIA Conference (Association for Computer Aided Design in Architecture) in Los Angeles. I’ll be performing during their hackathon session: http://2014.acadia.org/hackathon.html

Next, multiple performances as part of the ACM MultiMedia Conference in Orlando. I’ll be performing twice a day on the 5th and 6th of November as part of the interactive arts program. I’ll also be presenting a long paper on Gibber on the 4th. http://acmmm.org/2014/

Finally, I’ll be giving a talk about / performing with Gibber as part of jsConf.Asia: http://2014.jsconf.asia. Really looking forward to sharing Gibber with some other JavaScript nerdz.

Most importantly, I’m hoping to release a significant refactoring of Gibber sometime in the next couple of weeks before all this happens…

Continue reading


Gibber.lib.js & p5.gibber.js

I’ve had requests from a couple of faculty members at different universities to bring the audio portion of Gibber into its own library so that it could be used outside of http://gibber.mat.ucsb.edu. I had always intended Gibberish to fill this role, but Gibberish is fairly low-level and doesn’t come with a number of Gibber’s features that make it easy to get started making music:

  • Basic music theory
  • Synth presets
  • Simple sequencing

I think those three elements in Gibber really do speed up the process of making music, as opposed to making DSP graphs. With that in mind, I’ve gone ahead and created Gibber.lib.js, which can be used inside of any web page. It can also be used inside of node.js thanks to the excellent web-audio-api module by S├ębastien Piquemal.

While I was at it, I performed some very (very) slight modifications to make Gibber.lib.js play nice with p5.js, the newly released port of Processing to JavaScript. Although there already is a p5.sound.js library, I’d argue that, like Gibberish, it’s too low-level for music making; it lacks the elements I listed previously: theory, synth presets, and easy sequencing. However, it’s better for sound effects and whatnot as it uses buffer-processing with browser-native audio nodes, while Gibber performs per-sample processing using JavaScript and is thus less efficient (although arguably more flexible).

Please try out p5.gibber.js and Gibber.lib.js and let me know what you think!

Continue reading