Amatorski, one of Belgiums finest bands, has been fascinated by the way the internet is deleting borders. They collaborated with us to create an art project bringing together music and visuals, in a mix of online and offline interaction.
The online part consists of a music sequencer that allows anyone to make their own track, using their own images for the visual and share their creation with the world.
The content that is created online by people all over the world then makes the jump to the real world and is driving the live visuals for the concerts in Antwerp
Working with Amatorski
We want to be inspired by the artists we work with. So we started off by spending a week at Amatorski's studio in Ghent. We worked on ideas while they were working on new tracks. It's great to break out from our own office and you can have a chat about the project whenever something comes up.
Music machines on the web
A lot of sequencers have been build in the golden years of Flash and it has been done a few times in HTML5 as well. In Flash it's easy, you have a reliable clock to keep all assets in sync. There's no such thing in HTML5, all sequencers are using the setInterval() method which is not really accurate.
What we had in mind had to be in sync with a background track so we were facing a serious challenge that would make the difference between a nice try and a surprising experience.
We couldn't find an HTML5 metronome on the web so we did what we had to do, rolled up our sleeves and made our own..
It's a very precise timer that relies on the browser time() clock to keep up with the pace. Even when the browser has a hickup it automatically lands back on it feets and guarantees a synchronous experience.
Source code: https://github.com/recyclerobot/steadyBeat.js
The audio API's are still in their infancy and inconsistencies across browsers make it a pain in the a*s to work with. We used Howler.js to take care of most of them, thank god for that one.
Most people in creative coding come across Delaunay triangulation at one time or another. For good reasons, the math behind it translates well in a coding environment and it (mostly) looks good because it tends to avoid skinny triangles. We made a <canvas> implementation for fun and tried to give the technique a twist. While experimenting Thijs came up with the idea to subdivide the triangles resulting in the visual language that defines the project.
Learn along the way
We devised the instructions as a real person who is standing next to you to explain what to do next. There are no next or previous buttons or timers because the system checks if you do it right to move to the next step. This allows everyone to explore at their own pace.
We believe steps like these are a much better solution than a static manual at the start of an interactive project. You should be able to dive right in and learn along the way.
The order of menu-items is the same as the instructions and the icons provide a mental link back tot the instructions.
Facebook isn't the most reliable friend to build stuff on but it's where most people have some pictures ready so we went ahead with it.
Below are some of the artworks that have been shared by users.
The project was build in Chrome and extensively tested in Firefox and Safari. During develoment we didn't bother with Internet Explorer but to our suprise IE9 worked just fine after some very small adjustments. Users who have a browser without \