Spectrograms with Overtone

Posted: December 22, 2013 in Uncategorized

spectrograms are fascinating: the ability to visualise sound in terms of its constituent frequencies. I’ve been playing with Overtone lately, so decided to create a mini-library to produce spectrograms from Overtone buffers.

Here’s a sample output:


This particular image is a visualisation of part of a trumpet fanfare. I like it because you can clearly see the punctuation of the different notes, and the range of strong harmonics above the base note. Read on for some more details on how this works.

Read the rest of this entry »

Enter The Matrix

Posted: December 7, 2013 in matrix
Tags: , , , ,

This was a presentation I gave at the 2013 Clojure Conj, focusing on core.matrix and related libraries.

Read the rest of this entry »

This is a visualisation I made for UPSingapore‘s “Data in the City” hackathon.


It shows a dynamic visualisation of 24 hours of mobile call data. The colours change to indicate the volume of mobile calls being made in each location throughout the course of the day.

The visualisation code is here and some details of how it was made follow below.

The animated video is here on youtube.

Read the rest of this entry »

To help people with their graphical endeavours in Clojure, I created a new library Imagez which provided a set of handy image processing functions.

Inverted Ant

Read the rest of this entry »

Been working on some improved Neural Network visualisation in Clojure.

Here’s a view of a trained 4-layer classifier. The bright yellow dot at the top indicates that the network has classified this particular training case into the 4th class.

2013-04-10 NN Visualisation

Read the rest of this entry »

Last week I joined the “7 Day Roguelike Challenge” and wrote the game Alchemy. The goals I set myself were.

  • Complete a playable roguelike game in 7 days
  • Learn more about Clojure!
  • Share some of my experiences

Having successfully completed the first two goals, this is my attempt to deliver on the last point. In this (somewhat extended) post I’m going to describe my experiences using Clojure for the 7DRL challenge – with discussion how to get the most out of Clojure for game development.

Read the rest of this entry »

Alchemy Day 7: Completion!

Posted: March 18, 2013 in Uncategorized

Final day of coding on Alchemy!

It was a bit of a scramble to bring everything together and tune the gameplay, but it all somehow worked out as a finished game in the end.

2013-03-17 Final 7DRL screenshot

You can download the final .jar file here:

And then run it in the usual way (either double click it, or do “java -jar alchemy.jar”). You need Java 1.6 or higher.

Read the rest of this entry »