Code as Music – Music as Code

The sonic artwork in the age of algorithmic fluidity

Florian Hollerweger · HfMT Köln

QR code

https://flo.mur.at/gfm

GfM 2024 · Hauptsymposium II: Acoustic Research

Musikforschung

Research on music

Chaconne-Manuscript.png

Figure 1: ’Music’

Music as research

“Musikforschung ? – Musik ist
Forschung, ihr Resultat: Musik”

—Günther Rabl

ww19.png

Figure 2: Peter Ablinger, Weiss/weisslich 19 (1995)

Acoustic research

sonic arts · sound studies · artistic research

chaconne_audio.svg

Figure 3: ’Sound’

Acoustic research

Musikalische Perspektiven künstlerischer Forschung

  1. Künstlerische Intelligenzen
  2. Musikalische Im|materialitäten
  3. Ludomusicology
  4. Sonic Diversity

Music as code

Code as Music: Sonic Pi

Aaron (2014)

Code example: Aaron (2015)

Music as code

bwv1004_chaconne_mm89-120.svg

Figure 4: J.S. Bach, Partita No. 2 for solo violin (BWV 1004), Chaconne, mm. 89–120

(Benjamin Schmid)

Functions of music notation

(Böhm 2007 emphases added)

  1. Communication of the musical idea
  2. Controlling the performance
  3. Preservation
  4. Symbolic meaning through visual impact
  5. Providing a tool for composition and study
  6. Ownership
  7. The art of playing together

Code as music – music as code

  1. Musikalische Im|materialitäten
  2. Ludomusicology
  3. Sonic Diversity
  4. Künstlerische Intelligenzen

Musikalische Im|materialitäten

immaterialitäten.png

Perceived immateriality

Facebook data center in Piteå, Sweden

[A]lgorhythmic [sic] activity is most of the time invisible, seamless and unnoticed, and only becomes apparent when the operation causes unintended, unforeseen, pathologic effects. (Miyazaki 2016, 130)

Phonautograph

Édouard-Léon Scott de Martinville (1857)

Phonautograph

Édouard-Léon Scott de Martinville (1857)

phonautograph.png

au_clair_de_lune.svg

(9 April 1860)

Reconstruction: Feaster (2010)

cheironomic neumes Neume2.jpg

bwv1004_chaconne_mm89-120.svg ’music’

phonautograph traces phonautograph_trace.png

chaconne_audio.svg ’sound’

Computational design

[W]e need to evolve or replace our thinking and the Digital Audio Workstation (DAW) sound transformation tools we currently use in favor of those that support algorithmic thinking at all levels […]. (Worrall 2020)

Example: snd

Schottstaedt (1996)

snd.png ccrma.stanford.edu/software/snd/

Example: TunePad

Horn, West, and Roberts (2022)

tunepad.com

Web Audio API

cf., Reiss (2022), Turner (2023)

<!-- Karaoke effect on The Beatles' 'Fixing a Hole' -->

Unprocessed:
<audio controls src='av/beatles.wav'></audio><br>

Processed with OOPS effect:
<audio controls id='file' onplay=context.resume()'>
  <source src='av/beatles.wav'>
</audio>
<script>
  let audioContext = new AudioContext()
  let stereoSource = audioContext.createMediaElementSource(file)
  let stereoSplit = audioContext.createChannelSplitter(2)
  let polarityFlip = new GainNode(audioContext,{gain:-1})
  let stereoMerge = audioContext.createChannelMerger(1)

  stereoSource.connect(stereoSplit)
  stereoSplit.connect(stereoMerge, 0, 0)
  stereoSplit.connect(polarityFlip, 1, 0)
  polarityFlip.connect(stereoMerge, 0, 0)
  stereoMerge.connect(audioContext.destination)
</script>
Unprocessed:
Processed with OOPS effect:

Take back the algorithms!

Miyazaki (2019)

[T]o take back algorithms implies programming without always immediately thinking about useful, innovative, efficient or profitable applications. (Miyazaki 2019, 272)

Ludomusicology

ludomusicology.png

[C]hip musicians actively practised the democratization of musical participation advocated by Small [in ’Musicking’ (1998)]. (Fritsch 2021, 259)

A computer is not primarily an information storage device; it is instead an information processing device. (Crawford [1982] 1997)

Music Macro Language (MML)

virt – Dracula Man X

; Requires mckcpp (preprocessor) to expand the "$" macros.
; compiled with mckc.exe. i can't get ppmckc's bankswitching
; to function properly, so this was compiled with normal HuSIC
; mckc. if anyone can help please email me!
; virtjk@gmail.com

#TITLE Dracula Man X
#COMPOSER virt
#PROGRAMER virt

;Fusion of Capcom and Konami styles
;My first song with HuSIC, and my first full length song in MML.

;Thanks to SCH for many of these tones, and for inspiration,
;and to MooZ for technical help, and to tz for helping tune it
;for various emulators. Plays best in Nezplug.

ABCDEF NB

; Rhodes-ish
@WT0 = { 00 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30
31 30 28 26 24 22 20 18 16 14 12 10 08 06 04 02 }
; saw 1
@WT1 = { 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 }
; pulse wave (50%)
@WT2 = { 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 }
; pulse wave (25%)
@WT3 = { 00 00 00 00 00 00 00 00 31 31 31 31 31 31 31 31
31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 }
; Lead 1
@WT4 = { 01 05 06 07 01 06 08 15 10 16 07 19 20 24 27 21
29 31 19 27 24 20 26 25 17 10 12 09 04 06 11 02 }

; melody
@WT5 = { 00 12 22 20 24 20 18 16 12 06 12 02 30 26 22 18
12 04 06 10 14 18 12 26 30 28 26 05 16 08 04 02 }

; backing (NARUTO)
@WT6 = { 00 00 00 10 08 10 12 14 16 18 20 22 24 26 28 30
31 30 28 26 24 22 08 18 16 14 12 10 10 10 10 10 }

;distortion guitar
@WT7 = { $1d,$1d,$0f,$1d,$1d,$0f,$1d,$00,$0f,$00,$0f,$1d,$1d,$0f,$1d,$1d,
$00,$10,$10,$1d,$10,$00,$10,$10,$10,$1d,$10,$00,$10,$10,$10,$00 }

;melo_hi
@WT9 = { $1f,$1f,$1f,$1f,$1f,$0e,$0d,$0d,$1f,$1f,$1f,$1f,$1f,$10,$0f,$0f,
$1f,$1f,$1f,$1f,$1f,$11,$0f,$0f,$1f,$1f,$1f,$1f,$1f,$12,$10,$10 }

;bass
@WT10 = { $1f,$1f,$1f,$1f,$1f,$1f,$1f,$1f,$1b,$18,$14,$11,$0c,$08,$05,$02,
$00,$00,$00,$00,$1f,$1f,$0e,$0c,$0b,$09,$07,$06,$04,$02,$00,$00 }

;bass2
@WT11 = { $19,$01,$01,$19,$04,$19,$19,$07,$19,$19,$0a,$19,$19,$0d,$19,$19,
$10,$0c,$12,$0c,$14,$0c,$16,$0c,$18,$19,$0c,$1b,$1c,$0c,$1e,$0c }

;new lead
@WT12 = { $10,$09,$17,$19,$1b,$1c,$08,$09,$09,$16,$17,$19,$1a,$1b,$1c,$1e,
$1e,$04,$04,$04,$05,$05,$0d,$01,$16,$17,$17,$04,$19,$19,$1d,$1b }

;slap bass
@WT13 = { $0c,$0d,$0d,$0e,$0e,$0f,$10,$10,$1f,$1f,$1f,$1f,$03,$1f,$1f,$1f,
$1c,$04,$04,$04,$04,$05,$16,$16,$17,$17,$18,$1b,$1c,$1c,$16,$16 }

@WT14 = { $11,$12,$12,$12,$1f,$1f,$1f,$0a,$0a,$0a,$0a,$0a,$0a,$1f,$0a,$0a,
$0a,$0a,$0a,$09,$09,$09,$09,$00,$00,$00,$07,$07,$06,$06,$06,$06 }


@EP4 = { -30 0 10 10 10 0 }
@EP5 = { -10 0 4 2 2 2 0 }
@EP6 = { 0 }
@EP9 = { 0 0 0 0 0 0 0 0 20 40 100 100 100 100 100 100 100 -40 -40 -40 }
@EP10 = { 0 0 0 0 0 0 0 0 0 0 -3 }
@EP11 = { 0 0 0 0 0 0 40 40 0 -40 -40 0 }
@EP12 = { 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 0 }
@EP13 = { 0 15 5 0 0 0 -10 -5 -5 0}
@EP14 = { 0 0 0 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 }
@EP15 = { 0 0 0 0 0 0 5 5 5 0 }
@EP16 = { 0 0 0 0 0 5 5 0 0 0 -5 -5 0}
@EP17 = { 20 -8 -8 -4 0 }
@EP18 = { 0 0 0 5 0 }

@MP0 = { 26 3 12 0 }
@MP1 = { 18 3 4 0 }
@MP2 = { 12 3 8 0 }
@MP3 = { 12 3 3 0 }

@v4 = { 30 28 28 27 27 26 26 26 25 25 25 25 24 24 24 24 23 23 23 23 22 22 22 22 21 21 21 21 20 }
@v5 = { 30 29 28 26 26 25 25 24 23 22 20 18 16 14 12 10 8 6 4 2 0 }
@v6 = { 25 26 26 27 27 27 26 26 26 25 25 25 24 24 24 23 }
@v7 = { 26 24 20 18 14 14 13 13 12 12 11 10 }
@v9 = { 24 24 20 18 }
@v10 = { 31 31 31 31 28 28 26 26 24 }
@v11 = { 31 31 30 30 28 28 26 26 24 }
@v12 = { 16 14 12 10 8 6 4 2 1 0 }
@v13 = { 7 9 11 13 15 17 18 19 20 21 22 23 24 25 26 }



; RHYTHM ENVELOPES

; snare
@v0 = { 24 20 18 16 14 12 11 10 8 6 4 3 2 1 0 }
@EP0 = { 4 0 }
;==========================================
; kick
@v1 = { 31 30 24 22 14 12 10 8 6 4 2 0 }
@EP1 = { -120 }
;==========================================
; tom
@v8 = { 31 30 29 28 27 26 24 20 16 14 12 10 8 4 2 0 }
@EP8 = { -50 }
;==========================================
; hihat closed
@v2 = { 24 16 10 4 2 1 0 }
@EP2 = { 2 0 }
;==========================================
; hihat medium
@v3 = { 18 16 15 15 15 14 13 12 11 10 09 08 07 06 05 05 04 04 03 03 02 02 01 01 01 00 }
@EP3 = { 2 0 }
;==========================================
; crash cymbal
@v12 = { 28 28 27 27 26 26 25 25 24 24 23 23 22 21 20 19 19 19 18 18 18 17 17 16 16 15 15 14 14 13 13
12 11 11 11 10 10 10 9 9 9 8 8 7 7 7 6 6 6 5 5 5 4 4 3 3 3 2 2 2 2 1 1 1 1 1 1 1 1 0 }

;=================================
;DRUM MACROS
;=================================

;kick
;==========================================
$k N0 EP1 @v1 o4 W2 c
$l N0 EP1 @v1 o4 W2 c64 N1 o0 EP3 @v3 c64�32�16
$m N0 EP1 @v1 o5 W0 c64 N1 o0 EP3 @v3 c64�32�16�8
;toms
;==========================================
$a N0 EP8 @v8 o6 W0 e
$b N0 EP8 @v8 o5 W0 f+
$c N0 EP8 @v8 o4 W0 b
$d N0 EP8 @v8 o4 W0 f
;snares (s = 16th, t = 32nd, u = 16th triplet, v = 8th w/ open hat, w = 16th / open hat)
;==========================================
$s N0 EP1 @v1 o5 W2 c64 N1 o0 EP0 @v0 c32.
$t N0 EP1 @v1 o5 W2 c64 N1 o0 EP0 @v0 c64
$u N0 EP1 @v1 o5 W2 c48 N1 o0 EP0 @v0 c48
$v N0 EP1 @v1 o5 W2 c64 N1 o0 EP0 @v0 c64 o0 EP3 @v3 c16.
$w N0 EP1 @v1 o5 W2 c64 N1 o0 EP0 @v0 c64 o0 EP3 @v3 c32
$x N0 EP1 @v0 o5 W2 c64 N1 o0 EP0 @v0 c32.
;hats
;==========================================
$h N1 o0 EP2 @v2 c
$i N1 o0 EP2 @v2 c
$o N1 o0 EP3 @v3 c
;crash
;==========================================
$p N1 o1 EP3 @v12
$q N0 EP1 @v1 o5 W0 c64 N1 o0 EP3 @v3 c16.

ABCDEF t122

; Mute control - place a ! here to mute channels !!!!!!!
A
B
C
D
E
F

;=================================
;SONG BEGINS FINALLY
;=================================
;INTRO


A W6 PC15 o5 l8 @v4 MP1 q8
B W6 PL12 o5 l8 @v4 MP1 q8
C W6 PL15PR15 o3 l16 @v10 MP0 q7
D W7 PL15PR13 o3 l16 @v9 MP0 q8
E W7 PL13PR15 o5 l16 @v9 MP0 q8
F l8 q8

A d+2.d+8. d16�2. d8. f16�2.�8. c16�4 d4 d+4 f4
B g2. g8. f16�2. f8. a16�2.�8. <g16�4 g+4 a+4 a+4
C cccccccccccd+8<a+8>c8ccccccccccd+8<a+8>c8ccccccccccd+8<a+8g+8g+g+8g+8g+a+8a+ EP9 q8a+4.EPOF
D cc>c<cc>c<cc>c<ccd+8<a+8>c8c>c<cc>c<cc>c<ccd+8<a+8>c8c>c<cc>c<cc>c<ccd+8<a+8g+8g+g+rg+8g+a+8a+a+ra+8a+>c
E grgrg8rgg8rgrfrf8ggrg8grg8rgrfrf8ggrg8grg8rg8f8d+8<gg+>cd+cd+g{fg>cfg>c}4 {<a+>cfga+>c}4
F $l $o4 $o4 $o8. $v $l r16 $o4 $o4 $o8. $v $l r16 $o4 $o4 $o8. $v $l $k16 $l $v $k16 $k16
F {PL15PR4$a$a$a PL15PR12$b$b$b PL12 PR15$c$c$c}4. PL15PR15$s$l

;VERSE

A W12 PC15 o4 l16 @v4 MP1 q7
B W12 PL10PR12 o4 l16 @v4 MP1 q7
C W6 PL15PR15 o4 l16 @v10 MP0 q7
D W1 PL15PR13 o5 l16 @v9 MP0 q8
E W2 PL13PR15 o6 l16 @v9 MP0 q6
F l8 q8

B r16.
AB rr g8 >c8 d EP5 d+8.EPOF d8 c8 dd+8. <g+8 g+8 gg+4�16
AB r4�8 f8 a+8 >cd8. cd8 d+8 EP5 f8.EPOF<a+8 a+8 >c8 d8. d+8. r8
AB r8 <g+8 >d+8 fg8. f8 d+8 fg8. <g8 g8 fg16�4 > g8 f8 d+4 c4 f4 c4 g4. fd+d4 r4

C <cc>c<a+>c<fgc8c>cc<a+a+a+g+8g+g+g+g+g+g+g+g+g+g+g+g+g+g+a+8a+a+a+a+a+a+a+a+a+a+a+a+a+a+g8gggggggg8.>c8.<g8
C fffffffffffffff>f8fffffffffffffgfd+8d+<d+8d+>d+<d+>f8f<f8f>f<fg8.d8.f8<g4 r4

D [d+<g>cd<g>cf<g>]2 d+<g+>cd<g+>cg<g+> d+<g+>cd<g+>cgf8 <fa+>c<fa+>d<f> d<fa+>c<fa+>d<f> d<fa+>c<fa+>fd <a+8. >c8. g8
D {g+gd+c<g+g>g+gd+c<g+g>}2 {g+gd+c<a+>cg+d+g+>c<a+>d+}2 {d<bgbgd>d<bgbgd}2 {fgbgb>d<b>dfg+fd}2
D g4 d+4 g+4 f4 c8. f8. > c8 < b4 {g+fd<bg+g}4

E c<cgd+>c<cgd+>c<cgd+>c<cg>c8<cgd+>c<cgd+>c<cgd+>c<cd+f8dfda+dfda+dfda+dfa+8dfda+fdfd8.d+8.g8
E g+cd+cg+cd+cg+cd+cg+cg+g8<b>d<b>g<b>d<b>g<b>d<b>g<b>dfd+cdg>c<gd+cfcfg+>c<g+fcd8.g8.>c8<{bg+fg+fdfd<bg+fd}2

F r16 $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $s$k $k16$s$l
F $k16$sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $l r16 $l r16 $l
F $k $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $sr16 $k16$k16$sr16
F $k $sr16 $k16$k16$sr16 $k $sr16 $k16$k16$sr16 $l r16 $l r16 $l $l r8 {$a$a$a$b$b$d}4


; verse second half

A W5 PC15 o5 l16 @v4 MP1 q7
B W5 PL10PR12 o5 l16 @v4 MP1 q7
C W6 PL15PR15 o4 l16 @v10 MP0 q7
D W2 PL15PR13 o6 l8 @v9 MP0 q8
E W7 PL13PR15 o6 l16 @v9 MP0 q6
F l8 q8

AB rr EP5 g8 EPOF >c8 d d+8. d8 c8 dd+8. <g+8 g+8 gg+4�16
AB r4�8 f8 a+8 >cd8. cd8 d+8 EP5f8.EPOF<a+8 a+8 >c8 d8. d+8. r8
AB r8 <g+8 >d+8 fg8. f8 d+8 fg8. <g8 g8 fg16�4 > g8 f8 d+4 c4 f4 c4 g8. g8. g8 g4 < gfd+d

C cccccccccccc<a+a+a+g+8g+g+g+g+g+g+g+g+g+g+g+g+g+g+a+8a+a+a+a+a+a+a+a+a+a+a+a+a+a+g8gggggggg8.>c8.<g8
C fffffffffffffff>f8fffffffffffffgfd+8d+<d+8d+>d+<d+>f8f<f8f>f<fg8.d8.f8<g4 r4

D c2 d4 d+8. < g+16�2 a+4 > c8. < f16�2 a+4 > c8. < a+8. f8 g8 a+ > d8. d+8. g8
D g+2 <g+4 >g+8. g16�4 < g8 b >d f d+ d
D g4 d+4 g+4 f4 c8. f8. > c8 < b4 r4

E c<cgd+>c<cgd+>c<cgd+>c<cg>c8<cgd+>c<cgd+>c<cgd+>c<cd+f8dfda+dfda+dfda+dfa+8dfda+fdfd8.d+8.g8
E g+cd+cg+cd+cg+cd+cg+cg+g8<b>d<b>g<b>d<b>g<b>d<b>g<b>dfd+cdg>c<gd+cfcfg+>c<g+fcd8.g8.>c8<g4 r4

F $l $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $s$k $k16$s$l
F $k16$sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $l r16 $l r16 $l
F $k $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $sr16 $k16$k16$sr16
F $k $sr16 $k16$k16$sr16 $k $sr16 $k16$k16$sr16 $l r16 $l r16 $l $l r8 {$a$a$a$b$b$d}4


A W12 PC15 o5 l16 @v4 MP1 q7
B W12 PL10PR12 o5 l16 @v4 MP1 q7
C W6 PL15PR15 o3 l16 @v10 MP0 q7
D W1 PL15PR13 o6 l16 v26 MP0 q8
E W0 PL13PR15 o6 l4 @v4 MPOF q6
F l8 q8

AB d+8 dc4�8�8. gfd+d d+8 dc @v7 d < @v4 a+> @v7 c @v4 c16�4
AB q8 gfd+d q7
AB d+8dc8�4 r16 d8 d+8 f8 d8.<a+8.g4. >gfd+d
AB d+8 dc4�8�8. gfd+dd+8dc8<a+8g8�4 o6r fg8

C g+g+>g+<g+g+g+>d+g+8g+8<g+8g+g+a+>cc<cc>c<ca+>d+8d+c<g>ccdd
C d+d+<d+>d+8<d+b+>d+ff<f>f8<f>afgggg<gg>dfg<gg>g<gg>c<c
C f8.f8 <f>c>fg8.g8dd<gg+g+8g+8<g+>d+g+a+<a+a+>a+<a+>a+<a+>EP10 c8 EPOF

D d+c<g+>d+c<g+>d+c<g+>d+c<g+>d<a+>fdd+c<g>d+c<g>d+c<g>d+c<g>gd+>c<g
D a+gd+a+g<a+>gd+fc<a>faf>c<aa+fdfd<a+>dfa+f>d<a+>fd<a+f
D l2 @v13 MPOF g+ a+ > c d4. @v4 l16 d+ EP10 f8

E c2.dd+2.ga+4�16g16a16a+16a8.f8.c8dfa+>d
E l16 d+<a+g+gg+a+>d+cd<a+fdfa+>d<a+>c<gfcfg>c<gfg>cfg>cfg

F $l $s$k $k16$sr16 $k $sr16 $l $sr16 $l $s$k $k16$s$k $k16$sr16 $l $sr16
F $l $s$l $k16$sr16 $l $sr16 $l $sr16
F $l $sr16 $k16$k16$sr16 $k16 $s $o16 $k16 $u$u$u {$a$b$c}8
F $l $sr16 $k16$k16$sr16$k $s$k $k16$sr16
F $w $k16$k16 $w $k16$k16 $s $s {$k$u$u}16 {$k$k$k}8 $v $s $l


; chorus second half
AB l16

A W12 PR13PR15 o5 l16 @v0 MP1 q7
B W12 PL15PR13 o5 l16 @v12 MP1 q7
C W6 PC15 o4 l16 @v10 MP0 q7
D W1 PL13PR15 o6 l16 v26 MP0 q7
E W2 PL15PR13 o6 l16 @v4 MPOF q6
F l16 q8

B r16.

A @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
A @v9 f8 @v9 f8 f @v4 fd+8 d8 d8 c8 g8
A @v9 g8 @v9 g8 g @v4 g a+8 @v9 a+8 @v9 a+8 @v12 a+ @v4 a+ > EP10 c8
A @v9 c8 v16 c8 v13 c8 v9 EPOF c r2

B d d @v4 d f8 @v9 f8 v12 f @v4 f g8 c8
B @v9 c8 @v9 c8 c @v4 c < a+8 > c8 d+8 f8 g+8
B @v9 g+8 @v9 g+8 g+ @v4 g+ > f8 @v9 f8 @v9 f8 @v12 c @v4 f > EP10 g8
B @v9 g8 v16 g8 v13 g8 v9 EPOF g r2

C c < a+>c>c<c8c8<ca+>cd+c<a+c8c>c<a+>c<cc>c8ca+d+f<a+d+c8c>c<a+>c<fgc8>d+<d+>c<<a+>a+>c<cr
C >c<{fq4ga+}8>q8d+q6f<q2a+>q8c<q4fq2d+q7gq3cq2fd+<c
C q7c8

D EP10 f8 v20 f8 v17 f16 EPOF @v4 f EP10 g8 v22 g8 v18 g EPOF ga+ r d+8
D EP10 d+8 v20 d+8 v17 d+16 EPOF @v4 d+ c8<a+8>c8<a+>c d+8 cd+f8d+fg8fga+8gb+f8rrrrrrrrrrrrrrr

E r @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
E @v9 f8 @v9 f8 f @v4 fd+8 d8 d8 c8 g8
E @v9 g8 @v9 g8 g @v4 g a+8 @v9 a+8 @v9 a+8 @v12 a+ @v4 a+ > EP10 c8
E @v9 c8 v16 c8 v13 c8 v9 EPOF c r2

F r $s $o $k $s $o $s $l $h $l $s $h $o $l $l $k $v $v $o $s $o $s $o $k16 $s $l $s $k16 $k16 $s $k16 $k16 $v
F $k16 $l $v $s $l r16 r8 r8 r8 r8 r8
F $s $k $o $l

A W12 PR13PR15 o5 l16 @v0 MP0 q8
B W12 PL15PR13 o5 l16 @v12 MP0 q8
C W13 PC15 o3 l16 @v10 MP0 q8
D W1 PL13PR15 o6 l16 v26 MP0 q8
E W10 PR13PL12 o3 l16 @v4 MPOF q6
F l16 q8

E r16

A v18 MPOF g2�4.. g+1 f+1 a1
B v20 MPOF d+2�4..d+1 d1 f+1
D v20 MPOF c2�4.. c1 c1 c1

A g1 g+1 f+1 r
B c1 c1 a1 r
D d+1 d+1 d1 r r1

AB PC15 @v4 MP2
AB r2 r4
B PL13PR10 r16.
AB q7 cdd+f
AB q8 EP12 f4�16 EPOF c d+ g > c < g > d+ c g d+ c g
AB f+4�16 d < a f+ a d f+ < a > d e f+ g
AB g+4�16 a+ > c c+ EP13 c+8 EPOF c < a+ g+ g f g+
AB g < g > {d+cg}8 {d+gd+>c<g>d+}4 {cd+cgd+g}4 {>c<gd+}8 < g EP14 MPOF a+4�8
AB EPOF > cdd+fd+gd+g+d+>c<a8 EP15 g8 EPOF > f d+ c < a+ EP16 f8 EPOF d+ c < a+
AB EP17 f EPOF d+ v20 c32 < a+32 > @v4 c8
AB d+ c g d+ > c <g > d+ {cgd+}8 > c < g >
AB o7 EP18 d+ EPOF f g EP18 a+10 > EPOF {c<a+gfd+}5 {gd+c<a+g>d+}4 {v25<a+gf v16 d+c<a+ v12 g}4 v28 r4�64 r2 r4�8.
AB o5 c16�4 d4 d+4 f4

D @v10 W6 o5 l16 gcd+cgcd+gg+cd+cg+cd+gf+cdcf+cdf+acdcacda
D g+c+fc+g+c+fg+>c+<fg+c+fgg+a+gcd+dd+cgd+c<g>d+cd+g>cd+


; horrifying slap bass solo, oh my god this took forever
C D-3
E D3
CE < c8 >>q3 d+<<<q2 c>>q3 c q8 a+>q3 c <<< q5 c >> q3 a+ > {q4 c q3d+f}8 q5 <g > q4 c q3 d+ q8 < c8
CE <<q3 g >>q5 a+ > d+ r << q2 c > q5 a+ q3 g > r EP11 q8 f8 EPOF q3 c<a+ c<a+ << q8 c8
CE >>> q3 a+ c > q5 d+ r << c a+ q7g8 >>q4 a+<<q2 g>>>q5c r <<< q3 g q6 a+ > q4 c
CE < r c >> q4 d+ q2 f << c > q4 a+ q2 > c << q1 c q5 a+ q2 g q8 c > q4 a+ < q2 c > d+ < q3 d+ q8
C > c8
E >> c8
C > c < q3 a+ q2 c > q7 d+ q5 c < q4 a+ > q5 c q2 d+ << q7 d+8 >> q2 d+ < d+ > q4 c < q3 d+ q6 c
E g < q3 f q2 c > q7 g q5 c < q4 a+ > q5 c q2 d+ << q7 d+8 >> q2 d+ < d+ > q4 c < q3 d+ q6 c
CE r c < q4 g q3 c > d+ < c > a+ < c >> q5 d+ << q3 c >> q5 f q3 c < a+ q5 g f32 d+32 q6 c8
CE < c > a+ < c >d+ << q2 a+ > c q7 c8 > q4 g < q2 c c > q5 f q4 d+ q2 c q7 c8
CE > o3 q8 a+ r < q4 a+ >> q6 a+ > c < r EP11 f8 EPOF q4 d+ q7 c < q3 c q7 d+ < q4 c q3 a+ q7 c
CE r o3 q7 d+ < q4 c > q3 c q7 a+ q4 c < q3 c q7 c8 >> q5 d+ r << q3 c > q6 a+ > q3 c < q6 c a+
CE q3 c < q6 c > a+ > q3 c < q6 c > a+ > q3 c <<< q3 c >> q6 f q3 g < q3 a+ < a+ > q6 c < q3 c q6 a+ > c8
CE > q6 a+ > c << q5 c > q6 f q3 d+ < q2 c q7 a+8 q6 c > a+ > q3 c << q5 c >> d+ q3 f << q3 c
CE > q3 d+ q5 c < q3 d+ q7 a+ q3 c < q7 a+ q3 g q5 c >> q5 c < q3 a+ g q7 f q3 d+32 c32 < a+ q6 g < c o5 D0
C W6 D0 o3 g+4. > d+ a+ g+2 a16�4 f < a a16�4 a+8 > c < c
C r1 r1
C q7 c8 c8 c8 c>c8 < c a+8 a+ > c < c g+8 g+g+8 g+8 g+a+8 a+a+8 a+>cd+f

DE @v10 W6 MP0
D o5 q8 g+2 d+4 g+4 a2 f4 r4
E o5 q8 d+2 g+4 > c4 c2 < a4 r4



F $s $l $s $h $x $k $o $x $l $sr16 $o $h $l $k8 $s $k $o $k $o $s $l $s $h $o $x
F $k $h $o8 $s $h $o $k $o $x $l $sr16 $h $x $l $k8 $sr16 $o $k $l $k8 {$a$a$a}8 $c16 $l
F $s $l $s $h $x $k $o $x $l $sr16 $o $h $l $k8 $s $k $o $k $o $s $l $s $h $o $x
F $l $o8 $s $h $x $k $o $x $l $sr16 $h $x $k16 $sr16 $k $s $xr16 $l $s {$a$a$c$b$b$d}4 $s $x

F $k $h $o8 $s $h $o $k $o $x $l $sr16 $h $x $l $k8 $sr16 $o $k $l $k8 $l $c16 $l
F $s $l $s $h $x $k $o $x $l $sr16 $o $h $l $k8 $s $k $o $k $o $s $l $s $h $o $x
F $lr8 r4 $lr8 r4 $lr8 $lr8 $s$s$s$s$sr16 $k16$k16
F l8 [$h$h$h$h]5 $h8$h8$h8$h16 $sr16 $s$sr16 $v $s $v $s$s$k16 {$a$a$a$b$c$d}4


D W7 PL15PR13 o4 l16 @v9 MP0 q8
E W7 PL13PR15 o4 l16 @v9 MP0 q8

D l16cc>c<cc>c<cc>c<ccd+8<a+8>c8c>c<cc>c<cc>c<ccd+8<a+8>c8c>c<cc>c<cc>c<ccd+8<a+8> @v10 g+16�4a+4>c4d4
E l16grgrg8rgg8rgrfrf8ggrg8grg8rgrfrf8ggrg8grg8rg8f8 @v10 d+16�4f4g4a+4


;SECOND VERSE

A W12 PC15 o5 l16 @v4 MP1 q7
B W2 PL10PR12 o6 l16 @v4 MP1 q7
C W6 PL15PR15 o4 l16 @v10 MP0 q7
D W4 PL15PR11 o6 l16 @v4 MP0 q8
E W10 PL13PR15 o6 l16 @v9 MP0 q6
F NB l8 q8

A rr g8
B r16.r16
AB >c8 d EP5 d+8.EPOF d8 c8 dd+8. <g+8 g+8 gg+4�16
AB r4�8 f8 a+8 >cd8. cd8 d+8 EP5 f8.EPOF<a+8 a+8 >c8 d8. d+8. r8
AB r8 <g+8 >d+8 fg8. f8 d+8 fg8. <g8 g8 fg16�4 > g8 f8 d+4 c4 f4 c4 g4. fd+d4 r4

C cccccccccccc<a+a+a+g+8g+g+g+g+g+g+g+g+g+g+g+g+g+g+g+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+g8gggggggg8.>c8.<g8
C fffffffffffffff>f8fffffffffffffgfd+8d+<d+8d+>d+<d+>f8f<f8f>f<fg8.d8.f8<g4 r4

D rr c8 d+8 f g8. f8 d+8 fg8. c8 c8 <a+>c8 d+8 d8 c8 d8.
D <a+8> d8 d+f8. d+f8 g8 EP5 a+8.EPOF d8 d8 d+8 f8. g8. a+8
D g+4 >d+8 fg8. f8 d+8 c<b8. >d8 c8 d<b16�4 > d+8 d8 c4 <g4 >d4 <g+4 > c4. < d>c<b4 r4

E q7 [{gd+c}8]16 [{fd<a+>}8]12 d8. d+8. g8
E [{g+d+c<b+>cd+>c<g+d+cd+g+}2]2 [{gd<bgbgb>dgdgb}2]2
E >c < ggd+d+cd+g g+ffcc<g+>cfcdcdgdg>c<{bg+fg+fdfd<bg+fd}2

F $l $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $s$k $k16$s$l
F $k16$sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $l r16 $l r16 $l
F $k $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $sr16 $k16$k16$sr16
F $k $sr16 $k16$k16$sr16 $k $sr16 $k16$k16$sr16 $l r16 $l r16 $l $l r8 {$a$a$a$b$b$d}4


; second verse second half

A W5 PC15 o5 l16 @v4 MP1 q7
B W2 PL10PR12 o6 l16 @v4 MP1 q7
C W6 PL15PR15 o4 l16 @v10 MP0 q7
D W4 PL15PR11 o6 l8 @v4 MP0 q8
E W10 PL13PR15 o6 l16 @v9 MP0 q6
F NB l8 q8
AB rr EP5 g8 EPOF >c8 d d+8. d8 c8 dd+8. <g+8 g+8 gg+4�16
AB r4�8 f8 a+8 >cd8. cd8 d+8 EP5f8.EPOF<a+8 a+8 >c8 d8. d+8. r8
AB r8 <g+8 >d+8 fg8. f8 d+8 fg8. <g8 g8 fg16�4 > g8 f8 d+4 c4 f4 c4 g8. g8. g8 g4 <
A D1
B D-1
AB gfd+d

C cccccccccccc<a+a+a+g+8g+g+g+g+g+g+g+g+g+g+g+g+g+g+a+8a+a+a+a+a+a+a+a+a+a+a+a+a+a+g8gggggggg8.>c8.<g8
C fffffffffffffff>f8fffffffffffffgfd+8d+<d+8d+>d+<d+>f8f<f8f>f<fg8.d8.f8<g4 r4

D c2 d4 d+8. < g+16�2 a+4 > c8. < f16�2 a+4 > c8. < a+8. f8 g8 a+8 > d8. d+8. g8
D g+2 <g+4 >g+8. g16�4 < g8 b >d f d+ d
D g4 d+4 g+4 f4 c8. f8. > c8 < b4 r4

E c<cgd+>c<cgd+>c<cgd+>c<cg>c8<cgd+>c<cgd+>c<cgd+>c<cd+f8dfda+dfda+dfda+dfa+8dfda+fdfd8.d+8.g8
E g+cd+cg+cd+cg+cd+cg+cg+g8<b>d<b>g<b>d<b>g<b>d<b>g<b>dfd+cdg>c<gd+cfcfg+>c<g+fcd8.g8.>c8<g4 r4

F $l $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $s$k $k16$s$l
F $k16$sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $l r16 $l r16 $l
F $k $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $sr16 $k16$k16$sr16
F $k $sr16 $k16$k16$sr16 $k $sr16 $k16$k16$sr16 $l r16 $l r16 $l $l r8 {$a$a$a$b$b$d}4


;CHORUS 2

A W12 PC15 o5 l16 @v4 MP1 q7 D0
B W4 PL12PR13 o6 l16 @v10 MP0 q7
C W6 PL15PR15 o3 l16 @v10 MP0 q7
D W1 PL15PR13 o5 l4 v26 MP1 q8
E W1 PL13PR15 o5 l4 v24 MP1 q8
F l8 q8

B c<a+fgd+cfd+>c<a+fgd+cfd+>c<a+fgd+cfd+>c<a+fg>>gfd+d


A d+8 dc4�8�8. gfd+d d+8 dc @v7 d < @v4 a+> @v7 c @v4 c16�4
A q8 gfd+d q7
AB d+8dc8�4 r16 d8 d+8 f8 d8.<a+8.g4. >gfd+d
AB d+8 dc4�8�8. gfd+dd+8dc8<a+8g8�4 o6r fg8

C g+g+>g+<g+g+g+>d+g+8g+8<g+8g+g+a+>cc<cc>c<ca+>d+8d+c<g>ccdd
C d+d+<d+>d+8<d+b+>d+ff<f>f8<f>afgggg<gg>dfg<gg>g<gg>c<c
C f8.f8 <f>c>fg8.g8dd<gg+g+8g+8<g+>d+g+a+<a+a+>a+<a+>a+<a+>EP10 c8 EPOF

D g+2.a+>c2.g16f16g16a16a+4�16g16a16a+16a8.f8.c8dfa+>d
D l2 @v13 MPOF c4. v26 < a+16 > c16 < a+8. f8. g8 d+ f4. @v4 l16 < l16
D W1 PL13PR15 o6 l16 v26 MP0 q7
D d+ EP10 l8 f8 EPOF

E c2.dd+2.g >
E l32 gfd+<a+>gfd+<a+>gfd+<a+>gfd+<a+> agfcagfcagfcagfc a+gfda+gfda+gfda+gfd >c<a+fd>c<a+fd>c<a+fd>c<a+fd
E l32 gd+c<a+>gd+c<a+>gd+c<a+>gd+c<a+> fdc<a+>fdc<a+>fdc<a+>fdc<a+>
E a+gd+ca+gd+ca+gd+ca+gd+c l16 a+fg>c<a+>cfg

F $l $s$k $k16$sr16 $k $sr16 $l $sr16 $l $s$k $k16$s$k $k16$sr16 $l $sr16
F $l $s$l $k16$sr16 $l $sr16 $l $sr16
F $l $s$l $s$l $k16 $s $o16 $k16 $u$u$u {$a$b$c}8
F $l $sr16 $k16$k16$sr16$k $s$k $k16$sr16
F $w $k16$k16 $w $k16$k16 $s $s {$k$u$u}16 {$k$k$k}8 $v $s $l


; chorus second half

AB l16

A W12 PR13PR15 o5 l16 @v0 MP1 q7
B W12 PL15PR13 o5 l16 @v12 MP1 q7
C W6 PC15 o4 l16 @v10 MP0 q7
D W1 PL13PR15 o6 l16 v26 MP0 q7
E W2 PL15PR13 o6 l16 @v4 MPOF q6
F l16 q8

B r16. PL10 PR12
B r16.

A @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
A @v9 f8 @v9 f8 f @v4 f
B d d @v4 d f8 @v9 f8 v12 f @v4 f g8 c8
B @v9 c8 @v9 c8 c @v4 c <
C c < a+>c>c<c8c8<ca+>cd+c<a+c8c>c<a+>c<cc>
D EP10 f8 v20 f8 v17 f16 EPOF @v4 f EP10 g8 v22 g8 v18 g EPOF ga+ r d+8
D EP10 d+8 v20 d+8 v17 d+16 EPOF @v4 d+
E r @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
E @v9 f8 @v9 f8 f @v4 f
F r $s $o $k $s $o $s $l $h $l $s $h $o $l $l $k $v $w

;CHORUS REPRISE

A W12 PC15 o6 l16 @v4 MP2 q7 D-1
B W4 PL12PR13 o7 l16 @v10 MP2 q7 D0
C W6 PL15PR15 o3 l16 @v10 MP0 q7
D W14 PL15PR13 o5 l8 v25 MP1 q8
E W14 PL13PR15 o5 l8 v25 MP1 q8
F l8 q8
ABC

AB g8 f8 d+8 d8 d+8.
C r8 c8d8d+8 g+8
D d+dc<b+
E o6c<a+gf
F $v $l $v $s$s$l

A W12 PC15 o6 l16 @v4 MP2 q7
B W4 PL12PR13 o7 l16 @v10 MP2 q7
C W6 PL15PR15 o3 l16 @v10 MP0 q7
F l8 q8

AB dc4�8�8. gfd+d d+8 dc @v7 d < @v4 a+ > @v7 c @v4 c16�4
AB q8 gfd+d q7
AB d+8dc8�4 r16 d8 d+8 f8 d8.a+8.f4 > d+d @v7d+ @v4 <a+ @v7>d @v4 MP3 c16�1�2�4. f16g8

C g+>g+<g+g+g+>d+g+8g+8<g+8g+g+a+>cc<cc>c<ca+>d+8d+c<g>ccdd
C d+d+<d+>d+8<d+b+>d+ff<f>f8<f>afgggg<gg>dfg<gg>g<gg>c<c
C f8.f8 <f>c>fg8.g8dd<gg+g+8g+8<g+>d+g+a+<a+a+>a+<a+>a+<a+>EP10 c8 EPOF

D d+16�2.f4g2.a4 a+4.g8 a8. f8. c8 d4 f4 a+4 > c4
E c16�2.d4d+2.f4 g4. d+8f8. c8. <a8 a+4 >d4 f4 a+4

D o6 l16 W2 @v7 d+d+cc<g+g+gga+a+ffdd<a+a+> W6 {cdd+dd+f}4 {d+fgfga+}4 @v10{>cdd+dd+f}4 {d+fgfga+>c}4 r16
E o6 l16 W2 @v7 ggd+d+cc<g+g+ffdd<a+a+ff l32 W10 o5 q7 g+gd+cg+gd+cg+gd+cg+gd+ca+fdca+fdca+fdc q8 @v4 l16fg8

F $k16 $s$k $k16$sr16 $k $sr16 $l $sr16 $l $s$k $k16$s$k $k16$sr16 $l $sr16
F $l $s$l $k16$sr16 $l $sr16 $l $sr16
F $l $s$l $s$l $k16 $s $o16 $k16 $u$u$u {$a$b$c}8
F $l $sr16 $k16$k16$sr16$k $s$k $k16$sr16
F $w $k16$k16 $w $k16$k16 $s $s {$k$u$u}16 {$k$k$k}8 $v $s $l

; chorus second half
AB l16

A W12 PR13PR15 o5 l16 @v0 MP1 q7
B W12 PL15PR13 o5 l16 @v12 MP1 q7
C W6 PC15 o4 l16 @v10 MP0 q7
D W1 PL13PR15 o5 l16 v26 MP0 q7
E W2 PL15PR13 o6 l16 @v4 MPOF q6
F l16 q8



A @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
B @v9 d c @v9 d8 d @v4 d f8 @v9 f8 v12 f @v4 f g8 c8

A @v9 f8 @v9 f8 f @v4 fd+8 d8 d8 c8 g8
B @v9 c8 @v9 c8 c @v4 c < a+8 > c8 d+8 f8 c8

A @v9 g8 @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
B @v9 c8 @v9 c8 c @v4 c d+8 @v9 d+8 v12 d+ @v4 d+ f8 c8

A g8 a+8 > c8 d+8 d8 < a+8 g8 > g8
B < g8 a+8 > c8 d+8 d8 < a+8 g8 > g8

AB @v9 g8 @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
A @v9 f8 @v9 f8 f @v4 fd+8 d8 d+8 f8 g8
B @v9 f8 @v9 f8 f @v4 fd+8 d8 d+8 f8 c8



A @v9 g8 @v9 g8 g @v4 g a+8 @v9 a+8 @v9 a+8 @v12 a+ @v4 a+ > EP10 c8
B @v9 c8 @v9 c8 c @v4 c d8 @v9 d8 @v9 d8 @v12 d @v4 d > f8

A EPOF @v9 c8 v16 c8 v13 c8 v9 EPOF c r2
B EPOF @v9 f8 v16 f8 v13 f8 v9 EPOF f r2


C r16 r4 r4 r4 r2 r1 r1 r2 r16 <
C c8
C > c < a+>c>c<c8c8<ca+>cd+c<a+c8c>c<a+>c<cc>c8ca+d+f<a+d+g+16�4.
C g+a+16�4.a+c16�1

D @v9 > c <a+ @v9 >c8 c @v4 c d+8 @v9 d+8 v12 d+ @v4 d+ f8 < g8
D @v9 g8 @v9 g8 g @v4 g>c8 <a+8 a+8 g8 g8
D @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
D @v9 f8 @v9 f8 f @v4 fd+8 d8 d8 c8 >c8
D @v9 c f @v9 c8 c @v4 c d+8 @v9 d+8 v12 d+ @v4 d+ > f8 < c8
D @v9 c8 @v9 c8 c @v4 c<a+8 >c8 d+8 f8 d+8
D @v9 d+8 @v9 d+8 d+ @v4 d+ f8 @v9 f8 @v9 f8 @v12 f @v4 f > EP10 g8
D @v9 g8 v16 g8 v13 g8 v9 g EPOF r2

E @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
E @v9 f8 @v9 f8 f @v4 fd+8 d8 d8 c8 g8
E @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
E @v9 f8 @v9 f8 f @v4 fd+8 d8 d8 c8 >g8
E @v9 g f @v9 g8 g @v4 g a+8 @v9 a+8 v12 a+ @v4 a+ > c8 < f8
E @v9 f8 @v9 f8 f @v4 fd+8 d8 d8 c8 g8
E @v9 g8 @v9 g8 g @v4 g a+8 @v9 a+8 @v9 a+8 @v12 a+ @v4 a+ > EP10 c8
E @v9 c8 v16 c8 v13 c8 v9 c EPOF r2

F r8 l8 $sr16 r $sr r16$sr16 r $sr r16$sr16 r $sr16 r $sr $k16$s$l
F $k16$sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $l r16 $l r16 $l
F $k $sr16 $k $s$k $k16$sr16 $k $s$k $k16$sr16 $k $sr16 $k $sr16 $k16$k16$s$l
F l16 rrrrr$k $l rrrrr$k $l

; ugghhhhhh i'm going to go write some gmidi

Procedural audio

wind4.svg

Figure 5: Pure Data wind sound model (Farnell 2006)

Excerpt:

Procedural audio

sound_design_process2.svg

Figure 6: Sound desing process (cf., Farnell 2006)

’Text to SFX’

eleven_labs.png

Figure 7: elevenlabs.io

Procedural broadcasting

  • Brian Whitman – Eigenradio (2003)
  • rand()% (2003)
  • Benjamin H. S. Federer – klang:zeit:klang (2006)
  • Tweetscapes (Hermann et al. 2012)
  • Generative.fm (Bainter 2019)
  • Alternator (Clester and Freeman 2022)

Liquidsoap

Baelde, Beauxis, and Mimram (2011)

#!/usr/bin/liquidsoap

# Define playlists & one-off sounds
default = single("default.ogg")
day     = playlist("day.m3u")
night   = playlist("night.m3u")
jingles = playlist("jingles.m3u")
clock   = single("clock.ogg")

# Play
radio = fallback([
  request.queue(id="request"), # play user requests (if any exist)...
  switch([ # or else, current playlist...
    ({ 6h-22h }, day),
    ({ 22h-6h }, night)
  ]),
  default # ... or fallback file (if things go wrong)
])

# Add jingles with 20% probability
radio = random(weights=[1,4],[ jingles, radio ])

# Add clock jingle at full hour
radio = add([radio, switch([({0m0s},clock)])])

# Add ability to relay live shows
full =
  fallback(
    track_sensitive=false,
    [input.http("http://localhost:8000/live.ogg"), radio]
  )

# Stream the result
output.icecast(
  %mp3,
  host = "localhost", port = 8000,
  password = "hackme", mount = "myradio",
  full
)

liquidsoap.info

Streaaam

Hollerweger (2021, 2024)

innovation_in_music_blurry.png

Jacob Clark – Erratic Hourglass (2021)

Every time this program is run, a unique, chaotic bed of sound that grows by the minute is created. This morphing and unpredictable sound is contrasted by a linear monologue, unaware and unaffected by the chaos around.

3 renditions at different times of day:



Izaak Thompson – Pure Covidata (2021)

Thompson and Hollerweger (2023)

Puru Samal – The Shimmer (2021)

  • On Jacob Clark’s Line Out (2021):

  • On public-domain brass music:

  • On Matthew Watson’s Lost Lands (2021):

Sonic Diversity

sonic_diversity.png

  • Acoustic dimension of biodiversity
  • Sonic color line
  • Aural diversity

Acoustic dimension of biodiversity

Haskell (2022a, 2022c, 2022b)

biodiversity.png

Sonic color line

Stoever (2016)

9781479889341.jpg

The Sonic Color Line argues that American ideologies of white supremacy are just as dependent on what we hear – voices, musical taste, volume – as they are on skin color or hair texture. —NYU Press

Aural diversity

Drever (2017)

Sound studies has a creeping normalism to it that is, an epistemological and political bias towards an idealized, normal, nondisabled hearing subject. (Sterne 2015, 73)

[W]hose ear […] is being referred to when we talk of and compose under the principle of ’primacy of the ear […]’? (Drever 2019, 86)

’Aural Diversity’ describes the plurality of senses of hearing, encompassing the whole of human and animal nature and extending to machine listening. (Drever and Hugill 2022, 5)

Künstlerische Intelligenzen

künstlerische_intelligenzen.png

Hiller & Isaacson – Illiac Suite (1956)

illiac_suite.png

Figure 8: Illiac Suite score excerpt

Experiments in Music Intelligence

Cope (1987a, 1987b)

emi_score.png

Figure 9: Bach-style EMI invention (Cope 2001, 407)

Autocousmatic

Collins (2012)

Wekinator

Fiebrink, Trueman, and Cook (2009)

Generative raw audio: WaveNet

van den Oord et al. (2016)

[W]e simply let [the network] generate whatever it wanted to. When we trained it on a dataset of classical piano music […]:

Genetically Sonified Organisms

Doug van Nort (2018)

  • Site-specific sonic artwork
  • GSOs learn to mimick environmental sounds
  • Website

Magenta: Music Transformer

Huang et al. (2018)

  • Relative self-attention algorithm (Shaw, Uszkoreit, and Vaswani 2018) improves long-term coherence
  • Website & sound examples

Language models: AudioLM

Borsos et al. (2022)

Language models: MusicLM

Agostinelli et al. (2023)

  • Prompt:

    A fusion of reggaeton and electronic dance music, with a spacey, otherworldly sound. Induces the experience of being lost in space, and the music would be designed to evoke a sense of wonder and awe, while being danceable.

  • Audio output:

  • More audio examples

Traditional algorithms

algorithm_traditional.svg

Machine learning

algorithm_machine_learning.svg

Black-box AI models

sturm2018.png

Figure 10: folk-rnn (Sturm 2018)

Black-box AI models

artificial-intelligence-parameter-count.svg

Figure 11: Parameter count in notable AI systems (Our World in Data 2024)

Computational creativity

Musik ist die versteckte arithmetische Tätigkeit der Seele, die sich nicht dessen bewusst ist, dass sie rechnet. (Leibniz 1712)

Heute ist der Punkt erreicht, an dem die von Leibniz getroffene Unterscheidung zwischen schöpferisch-kreativen mentalen Funktionen und “einfachen Rechnungen” zunehmend verwischt wird. (Stalder [2016] 2021, 172)

Computational creativity

“The philosophy, science and engineering of computational systems which, by taking on particular responsibilities, exhibit behaviors that unbiased observers would deem to be creative.” (Colton and Wiggins 2012)

Creative partnership (Colton and Wiggins 2012):
Can computers help humans be creative?
Machine agency (Lewis 2018):
Can computers be creative themselves?

Can computers be creative?

Computers, as any programmer will tell you, are giant morons, not giant brains. (Samuel 1962, 13)

  • How well do computers perform creative tasks?
  • Could computers outperform human creativity?
  • Is computational creativity a utopia?

    (Gioti 2020)

Extended intelligence

(Ito 2016)

[F]or computational creativity to be worth pursuing, it does not have to compete with human creativity. (Gioti 2020, 30)

Towards a distributed human-computer co-creativity […], in which computational creativity extends – rather than replaces – human creativity (Gioti 2020, 25,31)

Nonclusions

Neume2.jpg

bwv1004_chaconne_mm89-120.png

phonautograph_trace.png

chaconne_audio.svg

sonic_pi_screenshot_2.png

ai_black_box.jpeg

Es ist von jeher eine der wichtigsten Aufgaben der Kunst gewesen, eine Nachfrage zu erzeugen, für deren volle Befriedigung die Stunde noch nicht gekommen ist. (Benjamin [1936] 2015, 36)

Background image: CSIRAC (1951)

Reconstruction (Doornbusch 2005):

Bibliography

qrcode_bibliography.svg

flo.mur.at/gfm/bib.html


florian.hollerweger@hfmt-koeln.de

Bonus tracks

Tobias Hartmann – Have a Great Day! (2024)

Evan Ratliff – Shell Game (2024)

Magenta: Onsets and Frames

Hawthorne et al. (2017)

  • Polyphonic piano music transcriptions
  • Audio input:

  • Transcription:

  • Website with more sound examples

Magenta: MusicVAE

Roberts et al. (2018)

  • Blends two different melodies
  • Website with more sound examples

MuseNet

Payne (2019)