Back to Top

Funky Music from Functional Programming – Computerphile

Functional Programming is often considered the stuffy tool of academics, but can it be used for creative and entertainment applications? Dr Henrik Nilsson demonstrates one application built with Reactive Functional Programming.

Quantum Computing ‘Magic’:
Dijkstra’s Algorithm:

Conference paper on the Arpeggigon:
Technical report on the Arpeggigon (extended version of the above):
The open source code:
The Reactogon:

This video was filmed and edited by Sean Riley.

Computer Science at the University of Nottingham:

Computerphile is a sister project to Brady Haran’s Numberphile. More at

Reblogged 2 months ago from


TheBedrockCreeper says:

I tried it out, but I must have issues with my audio setup because each node had a random chance that it would play the note. The virtual midi keyboard I was using seems to work though. The GUI is super polished though, shiny!

elraviv says:

This video did NOT explaining a thing about functional reactive programming.

L Solves Everything says:

Seriously I want to install their programm but the Install Guide on their website is so short that I am not sure where to start. I never heard of Funktional Programming… What Liberies are neccassary? What is a Jack Server? …..

Graham Smith says:

I don't think he really got across what it was he was trying to achieve or why functional programming made things easier. The software looked fun but I didn't see anything that would be difficult to develop in a non-functional language.

ProCactus says:

What? Why is this guy talking?

Moopis says:

lol, white European definition of funky music is Kraftwerk

Zipolater says:

Where's the programming behind the theory? "How do I write this in X" (Python, C, JavaScript)

Shining Armor says:

I've seen this instrument before!

William Wallace says:

It would have been nice to let the examples play briefly without speaking over them.

Jay Young says:

The next time you make a video about sound, please stop talking for a few seconds so we can actually hear the sound. Every time he hits play he (and the interviewer) just talk over it.

ray says:

So, why would someone want to use the tool they showed, or something like it, instead of another tool that actually shows things like musical notes and so on (i.e. things musicians can read and understand)? Is this supposed to be use for algorithmically generating new music or something along those lines?

In other contexts (e.g. games), it seems purely functional programming might not have a lot of advantages and might actually have quite a few disadvantages. For example, one reason I see is that, in high-performance applications, the results of expensive calculations are often stored/cached in variables in order to avoid the unnecessary expense of re-calculating the same value repeatedly.

kevnar says:

I made a music program that uses a subdivide and displace 2D terrain generation algorithm, and maps the height field to notes on a piano. It was pretty cool. It had a smoother flow than simply throwing down random notes in a scale.

Write a comment