Music as Data - Ignite 2011 SF

20
Hackers and Rockstars Code is data is music is code John Vlachoyiannis @jonromero BugSense.com

description

My ignite presentation

Transcript of Music as Data - Ignite 2011 SF

Page 1: Music as Data - Ignite 2011 SF

Hackers and RockstarsCode is data is music is code

John Vlachoyiannis@jonromero

            

BugSense.com

Page 2: Music as Data - Ignite 2011 SF

(possible) Origins of music

Page 3: Music as Data - Ignite 2011 SF

"Give me an A" = 440hz

Page 4: Music as Data - Ignite 2011 SF

Maths - Music for Geeks

music (μουσική) - The art of Muses

ApollonGod of music and poetry

Pythagoras

Page 5: Music as Data - Ignite 2011 SF

Everything is fractions - Pythagoras

Page 6: Music as Data - Ignite 2011 SF

Elegant weapons for a more "civilized" age

Page 7: Music as Data - Ignite 2011 SF

Toplap.orgTemporary Organisation for the Proliferation of Live Artistic

Programming

Page 8: Music as Data - Ignite 2011 SF

MAD

M.A.D - Music as Data

Page 9: Music as Data - Ignite 2011 SF

+ =

Clojure + Processing

Page 10: Music as Data - Ignite 2011 SF

 Example

(play (pattern [kick]))

code is data is music 

Page 11: Music as Data - Ignite 2011 SF

 Specification

(play (pattern [kick (+ kick hihat tom )]))

1/2 

code is data is music 

1/2 

Page 12: Music as Data - Ignite 2011 SF

 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 

Page 13: Music as Data - Ignite 2011 SF

 Specification

Derezzed (Tron)

(times 4 (play (pattern [[E4 G4 E4] [E5 B4 G4 D4 A4 E4 G4 A4]], 2)))

Page 14: Music as Data - Ignite 2011 SF

 Specification

(play (cycle (map

#(assoc % :pitch (- (:pitch %) 24)) (map

#(assoc % :synth grunge-bass) (pattern derezzed 2)))))))

Page 15: Music as Data - Ignite 2011 SF

 Notes to code to data

Page 16: Music as Data - Ignite 2011 SF

 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]])

Page 17: Music as Data - Ignite 2011 SF

 Examples

any data can be music 

more data transformations 

(play (text-to-notes (get-latest-tweets));; add markov-chains

Page 18: Music as Data - Ignite 2011 SF

ClojureScript (Web)

Overtone - Processing - ClojureScript

Page 19: Music as Data - Ignite 2011 SF

Big Idea

Github with music 'code'Revisions of musicShare music as code

Page 20: Music as Data - Ignite 2011 SF

Thanks! [email protected]

Get music-as-data at mad.emotionull.commad.emotionull.com