Creating music with Clojure and Overtone with Chris Ford
Today I'm at ThoughtWorks Manchester learning: Creating music with Clojure and Overtone.
https://www.meetup.com/manchester-geek-nights/events/194155562/
I'd never used Clojure or Overtone before so before and during the talk I tried to get set up, but hit a few frustrations along the way, so I wrote these up and how I fixed them in case it's of help to anyone else who wants to get set up.
Getting Started With Clojure and Overtone.
Thanks to ThoughtWorks for sorting out the event.
Lovely view from @thoughtworks Manchester pic.twitter.com/CdR0MhYwzG
— Simon Owen (@s10wen) July 23, 2014
Learning about harmonics with… A slinky of course :) pic.twitter.com/9TZuheuHoa
— Simon Owen (@s10wen) July 23, 2014
Below are my notes from the event:
Chris Ford started off with some music theory, a nice introduction, then went on to demonstrate some of the things you can do with Clojure and Overtone and how writing code can produce music.
familiar with lisp?
using vim as editor
commands; play, bell, beep, stop, ding, midi-hz, let
comments = ;
Example code
Psycho-acoustics
1 | (comment |
In an octave the frequency is doubled:
https://www.angelfire.com/in2/yala/t4scales.htm
scale
1 | (def major (scale [2 2 1 2 2 2 1])) |
major is a function
time
1 | (where :time (bpm 90)) |
bpm is a function
pitch
1 | (where :pitch (comp C major)) |
run
can use run to go up and down notes
canon
row row row your boat canone alla quarta, by johann sebastian bach lol, and now in G minor :p
Extra:
- LilyPond is a powerful and flexible tool for engraving tasks of all kinds: https://www.lilypond.org/examples.html
- Book: musicforgeeksandnerds.com
- Band: https://meta-ex.com/
- Blog post: https://aphyr.com/posts/306-clojure-from-the-ground-up-state
- Vim setup: https://github.com/ctford/vim-fireplace-easy
- Visualisations: https://clojurefun.wordpress.com/2013/12/22/spectrograms-with-overtone/ (quill, wrapper, written by the same person)
This event was also filmed:
Browse by category:
- apple1
- bash1
- browser1
- case study4
- chrome2
- chrome dev tools4
- clojure overtone2
- conference2
- css2
- dev tips1
- digihike1
- dotfiles2
- event4
- ffconf1
- freelance6
- gaming2
- health3
- hexo1
- https1
- jank1
- javascript1
- jobs1
- lego1
- mcrfred107
- nux1
- octopress4
- photography2
- raspberry pi1
- responsive web design1
- sass1
- screencast1
- speaking2
- svg4
- unplugged6
- upfrontconf1
- web development2
- webgl1
- wordpress17
- work51
- workflow16