Music as Data - Ignite 2011 SF
Post on 06-May-2015
1578 Views
Preview:
DESCRIPTION
Transcript
Hackers and RockstarsCode is data is music is code
John Vlachoyiannis@jonromero
BugSense.com
(possible) Origins of music
"Give me an A" = 440hz
Maths - Music for Geeks
music (μουσική) - The art of Muses
ApollonGod of music and poetry
Pythagoras
Everything is fractions - Pythagoras
Elegant weapons for a more "civilized" age
Toplap.orgTemporary Organisation for the Proliferation of Live Artistic
Programming
MAD
M.A.D - Music as Data
+ =
Clojure + Processing
Example
(play (pattern [kick]))
code is data is music
Specification
(play (pattern [kick (+ kick hihat tom )]))
1/2
code is data is music
1/2
Specification
code is data is music
(play (pattern [A4 B4 C5 D5 E5 F5 G5]))
(play (reverse (pattern [A4 B4 C5 D5 E5 F5 G5])))
data transformations
Specification
Derezzed (Tron)
(times 4 (play (pattern [[E4 G4 E4] [E5 B4 G4 D4 A4 E4 G4 A4]], 2)))
Specification
(play (cycle (map
#(assoc % :pitch (- (:pitch %) 24)) (map
#(assoc % :synth grunge-bass) (pattern derezzed 2)))))))
Notes to code to data
Play Bach – Minuet in G major
(def g-minuet-right-hand [[D5 D5 D5] [B4 [A4 B4] G4]
[A4 D5 C5] [B4 B4 A4] ; NOTE: two B4's should be tied together
[D5 [C5 B4] [A4 G4]] [E5 [C5 B4] [A4 G4]]
[F#4 [E4 D4] F#4] [G4]
[B4 E5 E5] [C#5 [B4 C5] A4]
[D5 E5 F5] [[E5 D5] [C#5 B4] A4]
[A6 [G5 F#5 E5 D5]] [B6 [G5 F#5 E5 D5]]
[C#5 A5 C#5] [D5]
[D5 [C5 B5] A5] [B5 [A5 B5] [G4]] [C5 C5 [C5 B5]]
[A5] [D5 [C5 B5 A5 G4]] [E5 [C5 B5 A5 G4]] [F#4 [E4 D4] F#4]
[G4]])
Examples
any data can be music
more data transformations
(play (text-to-notes (get-latest-tweets));; add markov-chains
ClojureScript (Web)
Overtone - Processing - ClojureScript
Big Idea
Github with music 'code'Revisions of musicShare music as code
Thanks! jon@bugsense.com
Get music-as-data at mad.emotionull.commad.emotionull.com
top related