20-21 November 2014

15Hatfields, London, UK

Exploring melody space with Clojure, Overtone, core.async and core.logic

Session Title

Exploring melody space with Clojure, Overtone, core.async and core.logic

Session Type Experience Report
Duration 45 minutes
Session Description

Overtone is a great tool for creating synths and composing music, but what happens when you have no idea as to how to compose music that actually sounds nice? Is it possible to write a program for composing and playing music using rules from Western music?

In this experience report, Thomas will present "Composer", a system built in Clojure using core.logic for composing music, Overtone for playing the composed pieces and core.async for remaining responsive while doing all of this.

The session will describe the overall architecture of the system and dig into interesting code snippets that demonstrate how easy it is to build a system that achieves responsiveness while still being flexible.

There will, of course, be a small musical interlude.


Thomas Kristensen (uswitch)

Thomas works at uSwitch where he uses Clojure to solve problems in the energy domain on a daily basis. After finishing his PhD in Computer Science and Bioinformatics, Thomas spent his time as a consultant for numerous clients in Denmark and Switzerland, developing everything from national health system infrastructure to bank tools. He now builds systems to help energy customers stay informed and save money.

Support FP Days 2014

In return for promoting FP Days 2014 to members of your user group, we offer a 10% discount on all tickets to group members.

We'll also help to promote your group by featuring it here on the FP Days website.

If you run a user group and you'd like more information on supporting FP Days 2014, please get in touch!

Contact Cara

Cara Hanman

FP Days 2014 Session Types

Need help planning which sessions to attend? We've provided a breakdown of our various session types below.

Case Study/Experience Report

A presentation and discussion of real-life (not theoretical) experiences of the application (or mis-application) of service design techniques. Case studies and experience reports include some discussion of lessons learned and an indication of how novel the work is.


Participants learn a new approach, tool or technology through using it to solve one or more practical exercises. Any software/hardware requirements are disclosed in the session description.


A session focused around some specific tool, technique or issue. Primarily led by the speaker, tutorials usually include some elements of interactivity or individual / group exercise.


An in-depth working session on a specific topic. May include paper presentations.