In November I was in New York for PdCon 2016 and to visit my brother, thanks in large part to my friend Joe Deken and his not-for-profit, New Blankets.

The conference was fantastic. Many fascinating performances, a chance to catch up in person with people from the Pure Data community, and the opportunity to present and perform some of my own work. A highlight for me was hearing Miller Puckette, creator of Pure Data, talk about his approach and philosophy.

On top of that I got to catch up with some awesome people outside of the conference, especially my brother. We went hiking together one day - a rare opportunity to hang out together in nature.

Tonight my friend Fenris and I will play some music in a park here in
Perth, Western Australia, on Gameboy and Commodore 64 powered by
batteries and broadcast over FM radio to local speakers hanging from the
trees. We'll start playing at 9:30pm and after us our friends Atomsmasha
and Kataplexia will also play some music on Gameboys.

I'm very lucky to be a small cog in a larger movement of new music
called
Algorave.
This is dance music made by software algorithms, or to put it more
poetically "sounds wholly or predominantly characterised by the emission
of a succession of repetitive conditionals," in the words of Alex
McLean who coined the term.

I'll be playing some music from this genre live at the following places
and times in the days and weeks ahead:

The software I am using was developed inside Miller S. Puckette's Pure
Data.

]]>/tags/musicWed, 28 May 2014 22:09 GMTRecent Work, and a Scotland 2012 Tripentries/recent-work-and-a-glasgow-2012-triphttp://mccormick.cx/news/entries/recent-work-and-a-glasgow-2012-trip
I don't talk about my professional work a lot on this blog so this is a bit of a departure. Lately I've been very lucky to be working on some really interesting projects with really great people. Here is something I've nearly finished (shipping to app stores as we speak!) with the wonderful PVI Collective and friends:

deviator is an immersive, real-world, outdoor game which invites players to temporarily transform their city into a playground. your mission is to seek out 15 audio instructions hidden in public spaces and play as many of the games as possible. as a deviator you can explore the local area, play a series of on-site games, interact with on-site performers, receive points and send text messages within this application.

using gps and the camera on your phone, deviator allows you to select a game from an on-screen map, locate it and scan a strategically placed qr code to activate the game instructions. games are scored in terms of difficulty and range from activities such as "guerrilla pole dancing" and "ring-a-ring-a-roses", to "spin the bottle" and "twister". each game encourages the player to explore their public space in a new way.

There were just so many great things about working on this project.

As an artwork I think it's pretty compelling.

The technology was a lot of fun:

Fully "vertically integrated" software stack - got to code up both the clients and server.

PVI Collective are just really nice people and easy to work with (happily this seems to be a trend with my clients at the moment).

Got to ride my bike to work which is always invigorating.

The first tour of the work is showing in a few weeks - the last week of July 2012 - at Surge Festival in Glasgow, Scotland. I'll be there as "tech guy", so if you are a fellow geek into Free Software, video games programming, Pure Data, makerbots, etc. and want to share a beer look me up!

There will be other tours coming up around the world, and if you are interested in booking the tour at a festival in your city, please contact projects@pvicollective.com for more info.

Bye!

]]>/tags/musicFri, 22 Jun 2012 06:41 GMTsqueakyshoecore ep out now on ChordPunch!entries/squeakyshoecore-ep-on-chordpunchhttp://mccormick.cx/news/entries/squeakyshoecore-ep-on-chordpunch
I'm excited to let you know that my new EP is out now on UK label ChordPunch!

Any help you can give me getting the word out would be very appreciated.

Thank you so much!

]]>/tags/musicMon, 30 Apr 2012 04:14 GMTSqueaky polygonsentries/squeaky-polygonshttp://mccormick.cx/news/entries/squeaky-polygons
]]>/tags/musicFri, 09 Mar 2012 02:01 GMTD-Link DNS-320 ShareCenter NAS reviewentries/dlink-dns-320-sharecenter-nas-reviewhttp://mccormick.cx/news/entries/dlink-dns-320-sharecenter-nas-review
This thing is great. I got it from VTech Industries for about $220 AUD. It is basically a mini GNU/Linux server with 2 giant hard drives in it. That price gets you a single 1TB drive and you can install your own drive in the other bay by removing the lid and dropping it in place. The unit, pictured below, is a bit taller and wider than three PC hard drives stacked together.

It comes with a reasonable web interface you can access over your LAN, but I installed the fun_plug hack on it by copying the files across the network and restarting the device - easy. That hack gets you SSH access, rsync, and a bunch of other Linuxy stuff.

We are storing our media and backups on it and it is basically perfect for that use-case. I now once again have a cron-and-rsync based regular backup of all of my servers in the USA, hooray! I'm also routing all SSH traffic to our ADSL router through to it so I can access the files on the device from outside our network if neccessary.

]]>/tags/musicTue, 16 Aug 2011 05:32 GMTGig at The Moonentries/gig-at-the-moonhttp://mccormick.cx/news/entries/gig-at-the-moon
This Sunday the 20th of Feb, 2010 I'm playing a little gig at The Moon cafe here in Perth. It's a pretty chilled out place where you can come and get some food and wine and listen to some beats etc.

If you are going to that thing at Kurb gallery it's just down the road, so drop by for a bit. :)

Hope to see you!

Also, my musical partner in crime, Fenris aka Maddest Kings Alive found this video of us playing as Chrism & Fenris some years ago. Enjoy!

]]>/tags/musicFri, 18 Feb 2011 12:41 GMTGoogle as a game console giantentries/google-as-a-game-console-gianthttp://mccormick.cx/news/entries/google-as-a-game-console-giant
How Google could become a game console heavyweight to rival the likes of Nintendo, Microsoft, and Sony:

Put joystick hooks into the Android Java API and market this fact to developers.

Encourage TV retailers to sell branded USB gamepads as add-ons with their Android based set-top boxes and TVs.

Developers could then put joystick support in their games, and people could play said games on their TVs through their Android OS set-top boxes. USB Gamepads are a stable, cheap, and robust technology which everyone understands.

This may result in a new indie console gaming golden age, with all of the wonderful new indie games of recent years running in peoples' lounge rooms on their TVs just like in the 80s. Admit it, wouldn't you love to sit cross legged together under the TV and return to the days of Sonic the Hedgehog, Mario Bros., Alex Kidd, Commander Keen, and friends? Only newer, and cheaper, and open, and network multiplayer. Oh boy, that is a vision I find irresistable!

A guy can dream, right?

]]>/tags/musicFri, 28 Jan 2011 00:43 GMTPselodux - Walk Like An Equationentries/pselodux-walk-like-an-equationhttp://mccormick.cx/news/entries/pselodux-walk-like-an-equation
In 2004 my friend Rob gave me a CD containing his latest work, a chiptune style album he had just written called Walk Like An Equation. I stuck it on my mp3 player and it stayed there all summer. It was the summer of quitting my dreary office job to go freelance, returning to computer studies, riding my BMX around the city in the sun, drinking beer, and listening to this album. It is still one of my favorite albums of all time, and he has now uploaded it for everyone to enjoy on Bandcamp. It's absolutely killer, so go download it now!
]]>/tags/musicWed, 26 Jan 2011 08:24 GMTDrawing is the new writingentries/drawing-is-the-new-writinghttp://mccormick.cx/news/entries/drawing-is-the-new-writing
I have started a new blog here which is basically just images straight from my phone. I figured out the fastest way to get things from my eyeballs straight onto the internet. It goes like this:

Take photos with phone.

Email photos from phone to an address on my server, which forwards:

To a gmail address, where it goes to Google Buzz.

To a special Wordpress email address which posts the pictures to the blog.

The Wordpress thing also posts the pictures on Twitter and Facebook.

What I love about this was I didn't have to write any code to make it happen, but it still uses open source components and my own server. It's also ridiculously convenient which is very important when you have a newborn. I don't have to rely on some horrible corporation (they are just some of the end-points where the stuff arrives). I am a pretty huge fan of things which involve writing less code.

]]>/tags/musicSun, 16 Jan 2011 14:24 GMTSeriously Sound System Interviewsentries/seriously-sound-system-interviewshttp://mccormick.cx/news/entries/seriously-sound-system-interviews
Here are a couple of interviews I did in preparation for playing squeakyshoecore at the Seriously Sound System festival at Hyde Park, Western Australia, this Saturday the 18th of December, 2010 at 12:40pm.

]]>/tags/musicFri, 17 Dec 2010 04:36 GMTsqueakyshoecore: New tunes, interview, live setentries/squeakyshoecore-new-tunes-interview-live-sethttp://mccormick.cx/news/entries/squeakyshoecore-new-tunes-interview-live-set
Hello! I've uploaded two new tunes to the squeakyshoecore album of algorithmic acid. They are called ring singularity and prolate spheroid. Get yr rave on here. Incidentally, you might like to type the names of the squeakyshoecore songs into the search bar of Wikipedia. They are all named after fascinating science and mathematics topics.

On the 18th of December, I will also be playing a live gig in Hyde Park, Perth. I will be using the GarageAcidLab algorithms that I use to make squeakyshoecore here in Perth, Western Australia as part of the Seriously Sound System music festival organised by the local radio station, RTRFM. I am on just after midday at 12.40 in the afternoon. It should be a lot of fun!

Leading up to that I will be interviewed on that radio station at 8am local time this Friday the 10th of December. If you are not awake for it (like me), or you don't live in Western Australia, you can listen to the podcast, which I'll post here afterwards if I can figure out where it is.

To use GarageAcidLab (the engine used to make squeakyshoecore) on your Android phone or on your PC with Pure Data, click here:

]]>/tags/musicFri, 12 Nov 2010 12:04 GMTGarageAcidLab on Androidentries/garage-acid-lab-on-androidhttp://mccormick.cx/news/entries/garage-acid-lab-on-android
My third Android app is now available in the Android Market. Click below or use the QR code to install GarageAcidLab, an algorithmic 303 bassline generator.

There's a good reason I haven't been posting many squeakyshoecore tunes lately, or making much progress on my video game Infinite8BitPlatformer. I've been hacking hard in my spare time, and the good news is that CanOfBeats, my algorithmic hiphop beat generator, is now available for Android phones and devices! So if you are seeking beats and you rock an Android phone, help an indie developer out and get yrself a copy from the Android Market.

]]>/tags/musicMon, 09 Aug 2010 13:13 GMTPyConAU 2010 Videoentries/pyconau-2010-videohttp://mccormick.cx/news/entries/pyconau-2010-video
I am ridiculously behind on blogging because of the amount of contract work I have going on at the moment (working Saturdays and weeknights until 2am - not fun!) Anyway, I'll stop whining now.

Below is a video of the talk I gave at PyCon AU at the end of June. In it I talk about my time working for London based "reactive music" company, RjDj, and also about my video game Infinite8BitPlatformer.

I haven't posted an Infinite8BitPlatformer update for ages, and I have been meaning to do so since a lot of progress has been made since my last post, but here's a quick update:

Multiplayer code: this is going really well. It's almost at the point of beta release.

Contributors: another person has started contributing to the codebase. I am hopefully going to be merging his code this weekend. Julian has put basic chat into the multiplayer code, among other tweaks and bugfixes, and a huge amount of very useful information for other people looking to contribute. He's been very patient about my lack of time!

The software makes two different beats and two complementary melodies using random number generators and some carefully tuned algorithms for using those random numbers. The melody shaping rules involve applying a low dimensional random fractal effect on very basic seed melodies, producing a type of self-similarity which seems to sound interesting to humans. The beats are created using a variety of custom rule sets, much like my previous work with algorithmic hip-hop in CanOfBeats and my algorithmic drum-and-bass generator, GhostWave.

After that I manually control how loud each of the parts are present in the mix, what effects are being applied to the different parts, and the parameter values of those effects. I use a midi controller to mix it in real time and record it.

Soon I will make the latest version of the Pure Data patches ("GarageAcidLab") available online under a Free Software license.

Enjoy the first tracks!

P.S. Some other music I've released on the net previously is Cryptolect, end-of-millenium style chopped-up breakbeats.

The zipfile under the image above contains a Pure Data patch which procedurally generates a virtually infinite number of acid and breakbeat loops. I've found that it's quite a lot of fun to play with!

Start by loading the patch called 0_START.pd and then turn up the volume and the cutoff. After that hit the big red button a few times until you hear something you like.

I was making it into an RjDj scene, but I am not really sure if I'll ever get around to finishing it.

]]>/tags/musicSat, 26 Sep 2009 17:39 GMTcryptolectentries/cryptolecthttp://mccormick.cx/news/entries/cryptolect
This is a free album of breakbeats, bloop-bleeps, and guitars which I never properly released. So now I am. It is Creative Commons licensed, so feel free to download, copy, share it if you like it.

Enjoy!

It would be nice if a few more people hear it, so if you like it I would really appreciate it if you blog/tweet or whatever about it.

This album was composed with a type of old school software called a tracker early this decade, which was and still is often used to make video game music.

Thanks for listening.

]]>/tags/musicFri, 28 Aug 2009 17:58 GMTTwo London gigs this weekentries/two-london-gigs-this-weekhttp://mccormick.cx/news/entries/two-london-gigs-this-week
I am playing two gigs in London this week. The first one is a livecoding gig, which will be my first time livecoding, so I'm a bit nervous that I will be really boring. I will basically be constructing Pd patches and sequences from scratch.

The second one is an Ill FM gig which will be broadcast on the radio. I'll be doing my normal Pd-with-the-laptop-lid-closed-and-a-midi-controller set.

Wednesday night

Live coding is a new direction in electronic music and video, and is
starting to get somewhere interesting. Live coders expose and rewire
the innards of software while it generates improvised music and/or
visuals. All code manipulation is projected for your pleasure.

Thursday night

]]>/tags/musicSun, 02 Aug 2009 19:07 GMTFree music by Chun Leeentries/free-music-by-chun-leehttp://mccormick.cx/news/entries/free-music-by-chun-lee
Whoa, this Creative Commons licensed album by Chun Lee rules so much! How have I not heard this before now? I have met Chun in person once just before he left for Taipei last year, and I already knew he was a great audio artist from the video he made with Olivier Laruelle, which is called 'Glass Cloud' and is also a song from this release. For some reason it's taken me until now to download and listen to the full album.

Anyway, it's really nice stuff. I am blown away by how much great music there is out there now released for free under Creative Commons licenses.

]]>/tags/musicWed, 17 Jun 2009 11:48 GMTOpenLab 5 : Cafe OTO, London, 25th April 2009entries/OL-5http://mccormick.cx/news/entries/OL-5
If yr in London, come check this out tommorrow. I am playing a set using Pd, during the performances section, which should be a lot of fun.

OpenLab 5 : Cafe OTO, 25th April 2009

Openlab are providing a day of workshops & presentations about
opensource software, and performances in the evening at Cafe OTO,
Dalston. There is a venerable lineup of OpenLab members providing some
in depth knowledge during the day and some great performances at
night. The preliminary line up goes like this:

]]>/tags/musicFri, 24 Apr 2009 16:49 GMTmaxmod audio library for NDS and GBAentries/maxmod-audio-library-for-nds-and-gbahttp://mccormick.cx/news/entries/maxmod-audio-library-for-nds-and-gba
Wow, huge news. There is finally, after all these years, an awesome free and open source audio playing library for the Nintendo DS and GBA. Hooray! This is big news for me as Looper Advance has been built against the non-Free Krawall library for years now and it's always irked me, quite appart from making the GPL license on Looper Advance invalid, and probably illegal.

Hopefully I'll get a chance to update Looper Advance soon and then I can release it properly as 100% Free Software.

MaxMod appears to be pretty comprehensive in that its API provides for mod-playing, sample-playing, and direct access to streaming buffers. This basically means you can write apps which mix and match all three types of audio playback.

]]>/tags/musicMon, 20 Apr 2009 09:07 GMTSome good tunesentries/some-good-tuneshttp://mccormick.cx/news/entries/some-good-tunes
Yo, this is a killer live set by Maddest Kings Alive who is also my periodical co-collaborator in Chrism + Fenris whenever we are in the same city. Bit-tune lurve and artfully selected chunky loops, this live set really is The Business!

Also good and recently blogged on Offworld is Leaves by Mattison. It's a wicked irie dub of chiptune source material by the artist.

Who needs the record labels? Not me.

]]>/tags/musicSat, 18 Apr 2009 17:39 GMTNew RjDj releaseentries/rjdj-releasehttp://mccormick.cx/news/entries/rjdj-release
Moose and I are in Barcelona for a couple of weeks while I get properly up to speed on the RjDj iPhone code which I haven't really been involved enough with so far, concentrating mainly as I have on the server side of things. We are really digging Barcelona and its lovely relaxed atmosphere, great food, and amazing buildings everywhere. We have even tried to pick up a little local vocabulary. Today we plan on taking a day trip up to Montserrat by cable car.

The social and server side features I've been working on for the last 5 months for Reality Jockey Ltd. along with the rest of the team, are finally online, co-incident with an update of the main app and the albums being made free for a limited time. This is in huge part due to Andie, who really kept us all focussed and moving constantly towards this target. Live site, at last! Feels great.

This is pretty exciting for me as it's the first time a project that I've been a part of has made it onto the Boing Boing network. Offworld post, yay!

In addition to that, RjDj chose to feature a couple of my scenes, which I worked on in my spare time outside company hours: CanOfBeats, and GhostWave, which has propelled them to into the 'most popular' position on the website. They never would have been finished in time if it was't for Frank and Florian's hard work at the last minute, fixing all my horrible bugs and adding nifty features.

My excitement is only tempered by the fact that I wrote a large amount of the server side code, so if it collapses in a heap under the weight of the ogling internet it's probably my fault. It seems to be holding up alright so far though, with most of the heavy content in Amazon's S3 cloud, and liberal use of FastCGI and LightHTTPd. The backend is mostly written in Django + Python if you'd like to know. Python is a king amongst programming languages and it means that I go to work each day looking forward to writing code instead of dreading null pointers, buffer overflows, lack of type flexibility, arcane syntax, and all of the other horrid issues which plague other popular programming languages.

The other huge piece of amazing tech that I should mention and which makes up probably the bulk of the client side code is the free and Open Source (BSD license) Pure Data DSP patching language by Miller S. Puckette. Whilst not a wonderful general purpose programming language, it does one thing and does it superbly. All of the RjDj scenes are actually just Pd patches with a fancy image or two and some custom externals running.

Last night I put the finishing touches on an RjDj scene that I've been working on in my spare time called GhostWave. It's a dark algorithmic drum & bass generator which lets you hum the bass lines. If you have the latest version of the RjDj single (free!) installed on your iPhone or iPod Touch, you can simply visit this page from safari on the phone and click the following link with your finger:

By itself it does very little but make randomly raw semi-melodic noise. Shake it quite hard a few times to start some hi-hats tickering, and then hum a bass line into the mic. To record and loop your hummed bassline, put your finger on the little ghost as you hum your melody in time to the hats. Let go when you're done and the melody should loop. Once you're done, shake it vigorously a few more times to bring in the beat. After listening for a while the beats will fade, but you can bring them back by shaking some more, and you can continue to press the little ghost to record more melody loops.

]]>/tags/musicWed, 18 Feb 2009 18:38 GMTGame Design: Tingangongentries/game-design-tingangonghttp://mccormick.cx/news/entries/game-design-tingangong
Tingangong is the onomatopoeic name for a game design that has been brewing in my head for the last few weeks since just before we left Australia. It's actually more of a non-game, or sound toy, or art game than a regular video game, but hopefully it'd still be a lot of fun to play.

It can be summed up as a cross between the fish-and-leaves toy in Electroplankton, Crayon Physics, and The Incredible Machine. The idea is that users of the game can make "composition sculptures" by dragging various elements, each of which make a unique type of sound, onto the canvas. The sounds that each element make are triggered by tiny pinballs which are shot from cannons and bounce off the elements. Complex sculpture compositions can be set up where the balls bounce from element to element creating chains of different sounds, even music.

User Interface

The user interface is pretty self explanatory. Mousing over the strip down the left hand side causes the panel to slide out, and then elements can be dragged off the panel and onto the canvas. There is no separate run mode vs. edit mode; the game is always running and as soon as a cannon is dragged onto the surface it will start shooting little pinballs. When the user does a mouse-over on elements that are on the canvas the control point squares appear. Clicking and dragging control points allows the user to edit the parameters of each element. For example, the piece of bamboo can be rotated, and it's length and position changed. As it is made longer the "tock" sound that the bamboo makes will become deeper. You could place several pieces of bamboo in the path of the pinball, each of varying length to create a sequence of different notes.

Ideally the canvas part of the UI would be vector graphics and hence zoomable so that you could focus in on the parts of the sculpture that you are working on, and then zoom out to see the whole thing working like clockwork. Maybe there could be a "follow ball" mode when you click on a passing pinball.

Elements

The cannon is the start of every composition as it is where the pinballs originate from. Control points allow the user to modify the position, direction and power (size) of the cannon. An additional control point allows you to change the length of the spiral at the centre of the cannon, which sets the speed at which pinballs are shot out of the cannon. This corresponds to the basic tempo of a piece of music. Different cannons can have different tempos of course.

The clock has a hand which ticks with the same frequency as the nearest cannon to it. There should be some kind of visual feedback to show the user which cannon the clock is associated with. Pinballs bounce off the hand of the clock and this allows you to create pieces where pinballs go in multiple directions at different times. The clock features control points for changing the length of the hand, the position and rotation of the clock, and the number of stops on the clock's face. It might be a good idea to try having a separate spiral to control the tempo of the clock independently of any cannon. Testing will reveal which method is more intuitive and useful.

The hit clock is just like the clock, except that it only 'ticks' when a pinball strikes the centre circle. Other than that it has pretty much the same control points for size, rotation, position, and number of stops. This allows you to create more complex pieces where a ball can strike a hit-clock after a long sequence to change the direction and flow of other pinballs.

The leaf is inspired by the leaves in the Electroplankton fish-and-leaves game - it makes a plucked string sound when the stem of the leaf is struck by a pinball. The control points on the leaf allow you to change the length, rotation and position of the leaf. The length of the leaf changes the taughtness, or pitch of the string. The sound for the leaf should vary in a procedural way if it has multiple excitations in rapid succession, which goes the same for the following audible elements. An algorithm such as the Karplus-strong algorithm would work well for the the leaf, and is faily easily implemented.

The bowl contains water and makes a 'plock' sound when pinballs fall into it, and a gongish sound when struck on the sides. The bowl's position, width, and height can be changed with control points. It's width corresponds to the pitch of the 'plock' sound, and the height determines how much reverb to put on the sound. Both the width and the height determine the pitch of the gong sound that the sides of the bowl make; each might determine the pitch of one of two oscillators which are ring-modulated together.

The bamboo makes a 'tock' sound when struck by a pinball and has control points for position, rotation, width, and length. The length of the piece of bamboo determines the pitch of the tock sound, and the width determines the depth, or length of the sound.

The sphere makes a 'ting' sound like a single bar from a wind chime. The control points allow you to modify the position and size of the sphere, with the size corresponding to the pitch of the chime.

Aesthetic

In my head the game looks like a piece of traditional japanese calligraphy (above is my pretty lame attempt at that look) and the scupltures are tinkly pretty things which sound like gamelan music, or John Cage's "Six Marimbas". I can imagine users creating fully fledged pieces with multiple parts and movements which sound as fascinating and wonderful as they look.

Technology

If I was to code up this game or a prototype thereof tommorrow (it could happen!), I would use the following combination of technologies:

The core engine would be written in Python for speed of prototyping.

The graphical component of the engine would be implemented in Pygame or Pyglet, or maybe Pycairo for the vector graphic component if it's fast and cross platform enough.

The physics engine would be Box2d, Chipmunk, ODE, or something similarly cross-platform and Python compatible.

The audio backend would be implemented in Pure Data. It would be launched as a subprocess and would use the '-nogui' flag and sockets/pipes to communicate with the Python based front-end. Individual elements would each have their own Pure Data abstraction, and dynamic patching would be used to create instances of each element. Incidentally, Pd is the music engine for the recently released vide game, Spore.

All these technologies can be googled for more info.

Concluding

Some good community features such as uploading and sharing sculpture compositions would be nice, and png-embedded data files could be cool as well, so that images could be dragged from a browser into the game and loaded up instantly, and users could easily share compositions by sharing screenshots. Another cool feature might be to have elements that are touching eachother on the canvas have some kind of audio interplay such as ring-modulation between the two sounds. That kind of stuff should be experimented with after the basic prototype of the game is up and running.

]]>/tags/musicTue, 16 Sep 2008 20:55 GMTMany Facesentries/many-faceshttp://mccormick.cx/news/entries/many-faces
This new tune is part of my set tonight:

]]>/tags/musicFri, 01 Aug 2008 02:51 GMTHooper's Store EP Launch, August 1st 2008, Hyde Park Hotelentries/hooper's-store-gig-August-1st-2008http://mccormick.cx/news/entries/hooper's-store-gig-August-1st-2008
Hooper's Store are one of the finest bands this city has given birth to in the last few years. I'm very much excited and honoured to have been asked to play their EP launch, this Friday, August 1st at the Hyde Park Hotel.

Their music is what I'd call instrumental indie math-rock, and it rules. My own set will be electronic music consisting of some hip-hop beats and loops, then a bit of drone, and then shifting gear into experimental dubstep land. I'll probably be on at 20:30 or 21:00.

update: I am actually on from 20:00.

This will be my last gig in Perth before Moose and I head off to Europe later this year. Hope you can make it!

]]>/tags/musicTue, 29 Jul 2008 02:14 GMTsfxrentries/sfxrhttp://mccormick.cx/news/entries/sfxr
Sfxr is an inspiring little program which generates old-school sound effects for use in games or music, or whatever. It's one of those delightful little nuggets of software that just does exactly what it says it will and nothing more. It's great fun and looks great too, and its source-code fits in a single c++ file! Finally, it's cross platform, running on all the major desktops. Wonderful stuff.

]]>/tags/musicTue, 10 Jun 2008 14:15 GMTNewsletterentries/newsletterhttp://mccormick.cx/news/entries/newsletter
Yesterday was the project presentation for the final unit in my Computer Science degree, and the last bit of actual work. As such, I guess this would be a prudent time to post a bit of a life update.

STUDIES

Well, that appears to be it; my degree is over. Results come back in three weeks or so, but overall I'm pretty happy with how things went during the course of my part time studies. The prospect of having less stress and more time to do more interesting things is very exciting right now.

MARRIAGE

Probably everyone I know will know this by now, but it's worth documenting here anyway. In July during the Freeplay conference in Melbourne, on a bridge across the Yarra, I asked Moose to marry me. To my lucky suprise she said yes! To celebrate we had even more to drink and I somehow chipped a tooth. We had a mostly-family wedding in March and we're both really glad that that ordeal is over! The wedding I mean, not the marriage. It was nice though, and we got lots of sweet photos and caught up with lots of people.

TRAVELS

Later this year we are heading to Europe and the USA to do some campervanning and greyhound/motel hopping respectively. I'm going to play some gigs and stuff and try to drop in on a couple of interesting conferences. Next year our plan is to stop in London to work for a while. Should be fun!

MUSIC

Since Fenris has moved to Melbourne I am now playing solo gigs, except when he's in Perth or I am in Melboure. I've had a few solo gigs now; two at Shape and one at the Velvet Lounge, and they all went off without hitch. At the first Shape one there were people dancing and everything! The music is quite different from what Fenris and I do since I am using all software (Pure Data) and midi controllers whilst chr+fen is mostly about game consoles and delay/distortion pedals. Later in the year when Moose and I travel to Europe and the USA I'm planning on playing some gigs.

WORK

Since the beginning of the year I have been working full time on games technology, which is the fulfilment of a sort of dream of mine.

I am working 3 days per week for Interzone, doing web integration for their MMO. That is nice because it's a regular paycheque, and the work is interesting, and I get to leave it at the office when it's home time. It's kind of strange working in an office again after working for myself from home for so many years, but it hasn't been bad, and the social aspect is even quite nice.

I am working 2 days per week on the ABC/Screenwest/GWE contract with my pal Jessee from Studio Robot. This game is lots of fun to work on and utilises some AJAX technology that I wrote a few years ago. It's basically a Python web server which maintains a game state, and communicates changes in game state to multiple connected web clients - something that's a bit difficult in traditional web servers. It's really nice to work with an artist of Jessee's calibre and it makes the programming bits way more fun when you get to see something cool as the outcome. We just sent them the 4th milestone out of 8, so the project is well on it's way.

Because of the full time work I don't get as much time to work on Pixelbox these days as I'd like to. Though luckily Jacob and Patrick are there to share the small workload. Occasionally, maybe once a quater, I drive out to Wangarra to physically install a new machine or swap a hard drive. I'm due for one of those visits quite soon, actually.

There are a couple of other small bits of client work I am neglecting pretty badly at the moment. Sometimes I manage to squeeze in an hour or two somewhere, but I guess these will ramp up once I get a bit more time. One of these is a quite exciting art project which I'll post about here when it's finished.

GAMES

Since I'm working on games stuff full time I don't get a lot of time to work on my own games these days. I am looking forward to later in the year when I will get to do my own stuff again. I finished a small web based Breakout clone which I called Bricker, but that was mostly just to keep myself thinking about games and web tech. I have two different indie games ideas on the boil at the moment but I won't have time to work on them for at least a month or two. I also need to get UfoLiberation up on the website, either as a free download or put some kind of a payment gateway in place. Though once again, who knows when that will happen! The code is all finished, and Windows binary is even built; I just need to do the last 1% to get it out there.

I am guessing that I (chr15m) will be on first. It's good how every solo gig I've had they have mis-spelled my pseudonym!

]]>/tags/musicTue, 06 May 2008 02:33 GMTHow to write drum beatsentries/how-to-write-beatshttp://mccormick.cx/news/entries/how-to-write-beats
Because I've been making electronic music for a while now, a couple of friends who are giving it a shot were asking me about my techniques for writing drum beats from scratch. I thought I'd write down my experiences here; hopefully they'll be useful for someone else too. This is just my personal take on how to write beats, and I probably get lots of stuff technically incorrect! So use it as a starting point if you're new to writing beats if you like. I should start by saying that I totally abhor 4-on-the-floor house beats. I find them uninteresting. So I'll be focussing mainly on the spectrum between hip hop through dubstep and garage to drum and bass.

If you did want to write four-on-the-floor beats I can summarise it as follows: "boom-tick-boom-tick", repeat, play around with the swing distance between boom and tick. ;) Oooooh dis.

Update: Check out my Android apps, CanOfBeats and GarageAcidLab, which generate beats on your phone using algorithms and the rules in this blog entry:

Getting Started

I'll be posting here using the absolute minimal collection of sounds I use to capture the feel of certain types of drum beats. This is so you can start with the basic beats, and them embellish them with other sounds, rhythms, etc. until they sound nice and lush and full. As such, I'll be using a few basic symbols: b for bass drum, h for hi-hat (o for open hi-hat), and s for snare. Incidentally if you're going to try playing these beats on a real drum kit, those are the only essential pieces of the kit that you need to play these beats. I'll be capitalising letters that need to be accented, or played louder.

Before you begin you need a collection of drum sounds. My favorite resources for samples are freesound where you can find a vast quantity of mostly Creative Commons licensed material, and junglebreaks which has just about every widely sampled break beat ever. Of course, this is about making your own beats, so sampling entire breakbeats kind of defeats the purpose, but you can sample chunks out of the breakbeats to use as your basic sounds. Sometimes you can get interesting swing effects by sampling a bassdrum with a high hat attached or a snare drum with a hi hat and then writing a beat at a different tempo than the original sample. You can also create your own drum sounds using synthesizers or software synthesizers such as Pure Data. Google 'sound on sound synth secrets' for some really great and interesting articles about creating your own sounds. That's a post for another day though.

The easiest way is to get useable samples is to find a sample-pack or zip file somewhere on the net of nice sounding drum samples that go together. You want single separated samples of just a bassdrum on it's own, a snare on it's own and high hat samples on their own. Many samplers and synths come with these kinds of sounds built in, so you could use those.

So, now that we have sounds, let's get started with the beats themselves.

Hip Hop

Hip hop beats are mostly found hovering around the 90 BPM speed. You can go a bit faster or a bit slower, but if you want people to be able to rap over them, don't go too far away. An exception to that rule is of course, grime: more on that later.

A very simple hip hop beat:

1 2 3 4
h h h h
S s
B

That is about as simple as it gets. You'll find a lot of times there will be a double bass drum hit:

1 2 3 4
h h h h
S
B B

You can mix and match the two bass drum hits with the off-beat non-accented snare after the fourth beat. You can also exchange the off-beat non-accented snare for an off-beat non accented bass drum:

1 2 3 4
h h h h
S
B b

You can mix and match all of these and play around with those themes to try and create new and interesting sounds. You can also quite often leave off the 1st and 3rd hi hats to create even sparser sounds. One thing that I've found can be pretty awesome is to swing the off beats. What that means is push back the 2nd and 4th hats so they are later than they would usually be so that the hat would fall somewhere between beat 2 and beat 2.5 instead of right on beat 2. This can kind of make the song sound like it's changing tempo without actually changing tempo, for example becoming more 'relaxed' with more swing or more 'tight' with less swing. Artists like Prefuse 73 and Dabrye do that sound all the time and it sounds awesome. Hip Hop beats can also sound really good if you mess them up. For example, if you play these beats manually on midi drum pads you will introduce subtle variations in the rhythm and make it sound off-kilter and more natural. Guys like Flying Lotus use that technique to great effect.

Update: A more full sounding Hip Hop beat is as follows:

1 2 3 4 5 6 7 8
h h h h h h h h
S S
B bB

Big Beat

Big beat is the stuff that Fatboy slim wrote on his big famous album, and the Chemical Brothers used to write back in the day before they started writing 4-on-the-floor house music. It's also the sound on those big early Prodigy records. Big beat generally trundles along at 125 beats per minute but can be between hip hop and dubstep paces. Here's a loose transcription of that famous Prodigy beat:

1 2 3 4 5 6 7 8
h h h
S s s S
B b

You want to make that first bass drum quite a nice ringing long one. Put some reverb on your sample, or if you're using a drum machine make the length really carry. Or just use a bass drum sample that is really long and boomy.

The amen breakbeat is a great example of a classic big beat sample. The important bit is the syncopated snares that happen in the second half of the beat, but you'll also notice that the amen break has two bass drum hits at the beginning of the beat just like the second hip hop beat posted above. As you can see there are lots of crossovers in sounds between the different types of beats. There's no hard and fast rules either. Many of the beats used in big beat tunes are identical to those used in the hip hop beats above, usually just a bit faster and maybe more artificial/electronic sounding, and visa versa. The beat on Fatboy Slim's "Right Here, Right now" for example, is exactly the same as the second hip hop beat above (but at around 125 bpm), whilst the classic big beat tune 'Leave Home' by the Chemical Brothers is more like this:

1 2 3 4 5 6 7 8
HhHhHhHhHhHhHhHh
S ss ss S
B

Those snares could easily be some other sample like a rimshot. That tune features a big carrying crash symbol on the first bass drum every four bars or so which is another technique frequently employed by big beat creators. Any time you have repetitive hi-hats, as in this example, then you might want to put some kind of subtle random envelope on them to make them all slightly different volumes, otherwise they can sound very mechanical. Of course, that might be the effect that you want.

2-step Garage

This and the next section (Dubstep) concern beats which are generally found around 140 BPM. This was a weird zone for me and I only learned how to write beats at that speed quite recently, so this stuff could be way off! Also, 'garage' is one of those ridiculous terms which has been used to classify everything from rock and roll, punk, techno, house, etc. etc. but here I am specifically referring to the UK 2-step Garage sound.

This sound is meant to be really busy. My favorite track of all time utilising this sound is actually a gameboy tune written with Little Sound Dj called 3step. According to the site it's by the Swedish chip tune group Puss. This is one of my favorite tracks of all time and I think it really exemplifies the techy sounds of 2-step garage.

What I really like about the garage sound, and why I've been writing more and more stuff using it lately, is the fact that you can't write good-sounding short loops with it. You have to write longer more complicated beats to get it to sound good, so that means that your tunes as a whole have to be more interesting. I also find that the second half of the beat has to kind of reflect the first half of the beat in some way. If they sit well together, complement eachother, then the entire 16 beat section can take on a zen like quality; a harmonious balance if you will.

In general you'll find that purveyors of this sound select really tight, short snappy sounding samples. You can often make your existing sounds snappier by using compression with a sharp decay, or applying some kind of exponential-decay volume envelope to them. The regular snare really holds 2-step together around the other sounds which shift and swirl about. Because there are often many sounds layered up together, you can't really express these beats with my bass, snare, hat syntax, but I'll give it my best shot. Something like this will work at 140 BPM:

To make it sound good and garagey you pretty much have to swing the in-between beats. So beat 1.5, 2.5, 3.5 etc. - if they have a hi hat on them especially, you need to push that hi-hat out so it falls later than it should, closer to the next beat. what sounds really good is when you make it sound on the 2/3rds of a beat position. So imagine between beat 1 and 2 there are 3 ticks (instead of just 1.5 you have 1.3333 and 1.6666) - if you put the hat on the second tick (at position 1.6666) it will sound really nice.

The open hat sound in that example is really tight so make sure it's not one of those 'tssssssh' style hats which carries for a long time. It's more like a higher sounding, less snappy version of the closed hi-hat sound. You can also make more regular sounding garage beats that aren't quite so playful by having a more regular hi-hat sound looped:

1 2 3 4
h hhh h

But make sure you put some swing on those in-between-beats sounds or it won't sound that brilliant.

I also like to throw things out a bit every now and then by putting an early snare in there. This gives a really off-kilter sound that might or might not be to people's taste and is probably a bit more difficult to get into. Almost all other beats on this page feature snares on the 3rd beat all the time, but I like this one because it falls over itself; it's more interesting.

1 2 3 4 5 6 7 8
h h h h h h hh
S S
B B

I am not sure that I've heard that beat used very much in the wild, or that it's even strictly a 2-step garage beat. One thing that distinguishes it from the other garage beats above is that it is short, but it can be looped and still sound good. The above beats pretty much only sound good if you play the entire 16 beat section together.

Dubstep / Grime

Dubstep and Grime are quite a new genre at 140bpm, and as such I am pretty new to writing this style of beat. Mostly I have been listening to, and then copying other people's stuff to try and get a feel for it, but I haven't completely got it yet. I do know that these genres use sparser beats and lots of triplets and sets of 3. Also they are more stretched out than traditional sounding beats, with the major snare on beat 5 instead of at beats 3 and 7. This kind of makes these beats sound slower than Hip Hop, but also faster than Hip Hop at the same time in some sections.

I think the consensus is that Grime is basically the same as Dubstep, but with people rapping, mc'ing, and toasting over the tunes.

So I guess an example would be something like this:

1 2 3 4 5 6 7 8
hh hh
S
B b

and this:

1 2 3 4 5 6 7 8
H Hh h H
S
B B B

and then kind of rushy bits like:

1 2 3 4 5 6 7 8
H H H
S
B BbBbBb

Notice the sets of three bass drums, with the middle on the offbeat in the second example above, and then the same thing with hi-hats in the third example.

That line of BbBb's in the third example is called a rush (in this case a bass-rush). You can put a snare rush, or rushy hats in there instead of rushy bass drums and it will still sound damn cool. You can also do rushy stuff at the beginning of the bar instead of at the end like the one above, so you'd move those bass drums to the start of the bar, replacing the initial bassdrum. Snare rushes especially sound cool when you ramp them up from low volume to the loudest volume about one beat before the end of a bar. You can use them to build tension in drum and bass and garage and stuff too, not just dubstep.

Dubstep producers also like to stick triplets in there which is where you play 3 drum sounds in the space where two would normally go. This is kind of hard to explain, but imagine we have a piece of beat between beats 3 and 4 that looks like this:

3 4
H
B

Now let's zoom into that beat so it looks like this (the time between 3 and 4 is the same as above, we're just zooming in to look closer):

3 x 4
H
B

Now we change it so there the space between these two beats is 3 ticks, not two. That is, the time between these beats is the same, but there are 2 ticks in there instead of 1:

3 x x 4
H
B

This is sort of like having a waltz style beat (which is in 3/4 time) inserted between every beat. You can get interesting swing sounds by writing Hip hop, and other beats with this style of measure. Finally, we insert the triplet snares:

3 x x 4
H
S S S
B

As you can see it's sort of off the off beat in 3s, with the last snare sound falling right on the beat where the hat is. You can also start the triplet on the beat instead of finishing it on the beat. Finally, you can make other elements (hats, basses, etc.) do triplets instead of the snares demonstrated here.

What I really like about dubstep is that the beats are so sparse and whacky that you can pretty much stick crazy combinations of different rhythms and sounds in there and it still sounds awesome. You can get really interesting with your beats.

Breaks

I think there is supposed to be an entry here at 160 beats per minute and I used to think that was 'Jungle', but according to Wikipedia most people just call Jungle and Drum and Bass the same thing these days. So I guess what I'm thinking of is 'breaks' which I think of as an amalgam of Hip Hop, Big beat, and Jungle/Drum and Bass styles, generally played around 160 bpm. Hmmm, that's a bit of a weak entry at 160bpm isn't it? Oh well.

Update: Andrew Brewer says "Breaks is usually around the 135bpm mark. Its essentially a progression from big beat.. (often) sampled funk breaks layered up with big electronic kicks and an emphasis on the snare. I guess somewhere between, techno/electro and drum&bass but pretty much always with loads of swing and funk elements."

Jungle, Drum and Bass

Drum and bass really cranks along at 180 BPM. There are two basic types of beat that I use when writing drum and bass. The first one is the 'two step' drum and bass style which goes something like this:

1 2 3 4 5 6 7 8
h h h h h h h h
S S
B B

You can flip this beat around so it goes like this too:

1 2 3 4 5 6 7 8
h h h h h h h h
S S
B B

Which is harder to mix because of the early snares, but still sounds cool, and can be used to disorient the listener if they think they're listening to one version of the beat and then it turns out they're actually listening to the other (when that is 'resolved' by another instrument it sort of goes 'ahh' in the listener's head).

The other major DnB beat is the classic sound where the same bit is repeated on the offstep after the first snare. So like this:

1 2 3 4 5 6 7 8
h h h h h h h h
S S
B B

You can mix little off-beat snares in there like this:

1 2 3 4 5 6 7 8
h h h h h h h h
S S s s
B B

That sounds good if you do it every four bars or so, dropping it in instead of the version without the off-beats.

I keep my hi-hats pretty steady in drum and bass. It's so fast that you need some kind of stability I think. Feel free to experiment with different hat rhythms, and even swinging hats of course.

Jungle generally uses sampled breakbeats which are strung together in a variety of ways. For example you can take the third beat above (the classic) and play the Bass-Hat-Snare piece sampled from the beginning of the breakbeat, twice where the bass drums start. This will get you started with a pretty convincing Jungle sound.

One notable feature of Jungle/DnB is that 180bpm is exactly twice the speed of Hip hop music (90bpm) so you can quite often mix Hip hop and DnB tunes and beats to great effect. You can get some really nifty kind of speed-up-slow-down elements to a song where it turns from Hip hop into DnB and back again. This mixing of the two genres can sound kind of similar to dubstep but at a different speed.

There Be Dragons

In the lofty heights above 190bpm you will find strange creatures like breakcore and gabber lurking. I leave investigation into these styles as an exercise for the reader. :)

Conclusion

Don't stick to these beats. Use these as building blocks to get stared, and then change them. Add your own sounds and rhythms to these basic beats to make them more interesting. Try different beats at different tempos than those which are listed above. Shift elements around. Leave whole elements out of the beat (e.g. bass drums, hats or snares) for a few bars or just for one beat. Try 'swinging' the beat. Listen to lots of music and copy beats from the songs you like. Come up with your own basic beat building blocks that you can use in future beat writing. Most importantly of all; have fun!