Organisatorisches Computermusik Die LV insgesamt Vorlesung jede Woche eine Vorlesung, eine Ubung¨ ‚ WS 18 Prufungszulassung:¨ regelmaßiges¨ und erfolgreiches ‚ Bearbeiten von Ubungsaufgaben¨ (teilw. autotool) Johannes Waldmann Prufung:¨ ‚ 1. Februar 2019 – (gemeinsames) Abschluß-Konzert – (individuelle) Dokumentation (welche kreative Idee wurde wie realisiert)

– Typeset by FoilTEX – – Typeset by FoilTEX – 1

Ubungen¨ Aufgaben Das sind Beispiele fur¨ Tatigkeiten,¨ die in dieser LV (und in Sie benutzen die Rechner im Pool (Z430) mit dort ‚ allen anderen) immer wieder vorkommen: nicht nur installierter Software. — Kopfhorer¨ mitbringen! Software bedienen und Knopfchen¨ drehen, sondern auch: Es ist zu empfehlen, die gleiche Software auch auf Ihren Analysieren, Rechnen, Recherchieren, historisch privaten Rechnern zu installieren, damit Sie selbst einordnen, Programmieren (Synthetisieren). experimentieren und Hausaufgaben erledigen konnen.¨ Ist ausprobieren: Hydrogen (Drum-Sequencer) Rakarrack aber nicht zwingend notig—Rechner¨ im Pool konnen¨ ‚ Ñ (Effekt-Prozessor) außerhalb von LV frei benutzt werden. Audio-Routing mit qjackctl wir verwenden ausschließlich freie Software (Definition: ‚ Finden Sie die von Hydrogen benutzte Audio-Datei fur¨ siehe https://www.gnu.org/philosophy/ ‚ free-software-intro.html) (Debian-Pakete oder TR808 Emulation Kit, Kick Long selbst kompiliert). Alles andere ware¨ unwissenschaftlich anhoren¨ mit vlc, — weil man es eben nicht analysieren und andern¨ kann. konvertieren Sie mit sox in wav-Format, (Hinweis:

– Typeset by FoilTEX – 2 – Typeset by FoilTEX – 3

man sox), Jahr) betrachten Sie Dateiinhalt (Amplituden-Verlauf) mit Erzeugen Sie durch ein selbstgeschriebenes Programm (Sprache beliebig) eine wav-Datei, die einen (kurzen) gnuplot -persist -e "plot ’kick.wav’ binary format=’%int32’Sinus-, Dreieck-, oder using Rechteckton 0:1 with enthalt, lines"¨ Bestimmen Sie mittels dieses Bildes die Grundfrequenz ansehen mit gnuplot, abspielen mit vlc, der Schwingung. Welche weitere Information ist dazu verwenden Sie das als Sample in Hydrogen. notig,¨ woher bekommen Sie diese? Wie sah diese Maschine (TR808) aus? Welche Band ‚ betrachten Sie Dateiinhalt mit ‚ fuhrt¨ diese Maschine im Namen? (Hinweis: http://www.vintagesynth.com/) od -cx kick.wav | less Kann Hydrogen alle dort angegebenen Eigenschaften Wo endet der Header (wo steht das erste Datenbyte)? des Originals simulieren? Suchen Sie die offizielle WAV-Spezifikation, bestimmen simulieren Sie wesentliche Elemente aus Ritchie Hawtin: Sie deren bibliografische Daten (Autor/Gremium, Ort, Minus Orange 1

– Typeset by FoilTEX – 4 – Typeset by FoilTEX – 5

– Typeset by FoilTEX – 6 – Typeset by FoilTEX – 7 Einleitung Definition Musik die Kunst der zeitlichen Anordnung von Klangen.¨ Definition Computermusik ‚ (Edgar Varese 1883–1965: I call it organised sound) Computermusik fassen wir auf als: Kunst“ bedeutet: der Autor (Komponist, Interpret) will im ‚ ‚ ” Analyse und Synthese von Musik Horer¨ Empfindungen hervorrufen mithilfe der Informatik (Algorithmen, Software) das geht sowohl sehr direkt, Beispiele: ‚ (A: horen,¨ verstehen; S: komponieren, auffuhren)¨ – Tonreihe aufsteigend: Frohsinn, absteigend: Trubsal¨ – Dissonanz Spannung, Unruhe; beruht auf Modellen aus der Musiktheorie, z.B. fur¨ ñ ‚ Konsonanz Auflosung,¨ Ruhe – Erzeugung von Klangen¨ in physikalischen Systemen, ñ als auch indirekt, Beispiele: – das Tonmaterial: Tonhohe,¨ Konsonanz und Dissonanz, Akkorde, Skalen – Zitat (Parodie) von Elementen andere Musikwerke: Anerkennung (Daft Punk Giorgio Moroder), – die zeitliche Anordnung des Materials: ñ Aneignung (F.S.K.), Ablehnung (Punk Prog Rock). Rhythmen, Melodien, Kadenzen, Kontrapunkt ñ

– Typeset by FoilTEX – 8 – Typeset by FoilTEX – 9

Definition Pop(ulare)¨ Musik Horbeispiele¨ die mechanische (Aufnahme und) Vervielfaltigung¨ von Daft Punk (Guy-Manuel de Homem-Christo und Thomas ‚ ‚ Audiosignalen (seit ca. 1920, Grammophon) Bangalter): Giorgio by Moroder (LP Random Access trennt die Auffuhrung¨ vom ihrem Resultat (dem Klang) Memories, 2013) Donna Summer: I Feel Love (Single, 1977) Produzent: G. (Elijah Wald, An Alternative History of American Popular Music, ‚ Oxford Univ. Press, 2009) Moroder Kraftwerk (Ralf Hutter¨ und Florian Schneider): Autobahn dadurch entsteht Popmusik, das ist etwas Neuartiges ‚ ‚ (LP 1974), aufgenommen im Studio – statt Komposition (Klassik) oder Improvisation (Jazz): Neu! (Michael Rother und Klaus Dinger): Hallogallo ‚ Produktion des Klangs in einem Studio (1972), Produzent: Conny Plank – rezipiert wird nicht nur der Klang, sondern unzahlige¨ Stereolab (Tim Gaine, Laetitia Sadier u.a.): Jenny ‚ Nebenprodukte, insb. Bilder (z.B. Schallplattenhullen)¨ Ondioline (1993) die Bedeutung wird daraus vom Fan konstruiert Grandmaster Flash (Joseph Sadler) The Message(1982) ‚ (Diederich Diederichsen, Uber¨ Popmusik, Kiepenheuer, 2014) Big Black (Steve Albini u.a.): Kerosene (1986) ‚

– Typeset by FoilTEX – 10 – Typeset by FoilTEX – 11

KW 50: Mathematische Musiktheorie Plan unserer Vorlesung ‚ KW 42: Klang-Erzeugung (Physik der Musikinstrumente) KW 51: Musikgeschichte, Zwischenstand Projekte ‚ ‚ KW 43: Klang-Analyse (Spektren) und Klangveranderung¨ KW 54: Audio-Analyse ‚ ‚ KW 44: Analog- (und ihre Simulation) KW 55: Digital Audio Workstations (ardour, sooperlooper) ‚ ‚ KW 45: Algebraische Beschreibung von Klangen¨ KW 56: algorithmische Mechanik ‚ ‚ (csound-expression) KW 57: Zusammenfassung, Abschluß Projekte ‚ KW 46: Tone,¨ Skalen, Konsonanzen, Akkorde, Kadenzen ‚ KW 47: Algebra Of Music (haskore), Notensatz (lilypond) ‚ KW 48: A Pattern Language (tidal-cycles, supercollider) ‚ ab hier Reihenfolge noch unklar: KW 49: Rhythmus (breakbeat science) ‚ – Typeset by FoilTEX – 12 – Typeset by FoilTEX – 13

– Typeset by FoilTEX – 14 – Typeset by FoilTEX – 15 Gerausch¨ und Klang Begriffe Gerausch:¨ ‚ – erzeugt durch Schwingungen eines physikalischen Systems (z.B. Musikinstrument) – ubertragen¨ durch Druckschwankungen in einem Medium (z.B. Luft), durch Ohr wahrnehmbar Klang: . . . durch periodische Schwingungen . . . ‚ virtuelle (elektronische) Instrumente ‚ – simulieren den physikalischen Vorgang – oder speichern nur dessen Amplitudenverlauf Unterschied zu automatischem Spiel reeller Instrumente ‚

– Typeset by FoilTEX – 16 – Typeset by FoilTEX – 17

Modell einer periodischen Schwingung Numerische Naherungsl¨ osung¨ der Dgl.

Modell: gegeben k, m, bestimme Funktion y mit k m y y2 ‚ ‚ ´p { q “ numerische Naherungsl¨ osung¨ durch Simulation: – ein Korper¨ mit Masse m und Ruhelage 0 ‚ bewegt sich auf einer Geraden g, ersetze Differentialgl. durch Differenzengl. d.h., hat zum Zeitpunkt t die Koordinate y t p q wahle¨ y0 (initiale Auslenkung), ∆ 0 (Zeitschritt), – die Ruckstellkraft¨ (bei Pendel: durch Schwerkraft, bei ą bestimme Folgen y0, y1, . . . , v0 0, v1, . . . , a0, a1,... schwingender Saite: durch Elastizitat)¨ ist F k y. “ “ ´ ¨ Notation: das ist eine Gl. zw. Funktionen (der Zeit)! mit ai k m yi, vi 1 vi ∆ai, yi 1 yi ∆vi “ ´p { q ` “ ` ` “ ` ausrechnen in Haskell, anzeigen mit https: mathematische Beschreibung ‚ ‚ //hackage.haskell.org/package/gnuplot-0.5. – Geschwindigkeit v y1, Beschleunigung a v1 y2 “ “ “ 5.3/docs/Graphics-Gnuplot-Simple.html – nach Ansatz ist a F m k m y “ { “ ´p { q ¨ genaueres in VL Numerik, – y ist Lsg. der Differentialgleichung k m y y2 ´p { q “ ‚ z.B.: Stabilitat¨ besser, wenn yi 1 yi ∆vi 1 ` “ ` ` – Typeset by FoilTEX – 18 – Typeset by FoilTEX – 19

Exakte Losung¨ der Dgl. Anpassung und Anwendung

gegeben k, m, bestimme Funktion y mit k m y y2 diese Modell ist Energie-erhaltend ‚ ´p { q “ ‚ genaueres siehe VL Analysis, z.B. Ansatz von y als tatsachlich¨ wird aber Energie abgegeben (1.uber¨ das ‚ Medium an den Sensor, 2. durch Reibung im – Potenzreihe mit unbestimmten Koeffizienten schwingenden Korper¨ als Warme¨ an die Umgebung) – Linearkombination von Basisfkt. mit unbest. Koeff. Modellierung der Dampfung¨ z.B. durch Reibungskraft wenn man Gluck¨ hat, oder die numerische Losung¨ ‚ ‚ proportional zu Geschwindigkeit FR r v r y1 gesehen hat: “ ¨ “ ¨ Aufstellen und Simulation der Dgl. in Ubung.¨ Ansatz y t cos f t p q “ p ¨ q mit diesem Modell konnen¨ wir beschreiben: wir erhalten die reine harmonische Schwingung ‚ ‚ – Klang einer Saite (Gitarre, Klavier, Cembalo) (nicht Geige) – Klang eines Trommelfells (Fußtrommel, nicht Snare)

– Typeset by FoilTEX – 20 – Typeset by FoilTEX – 21

Weitere period. Schwingungen f. Instrumente Gerausch-Instrumente¨ Wirkung der Dampfung¨ kann durch regelmaßige¨ nichtperiodisches Verhalten kann erzeugt werden durch ‚ ‚ Energiezufuhr ausgeschaltet werden ( angeregte ñ – nichtperiodische Schwingung eines phys. Systems Schwingung) z.B. das Anstoßen einer Schaukel z.B. Doppel-Pendel, Mehr-Korper-System¨ Geige: ‚ keine direkte Anwendung als Instrument bekannt, Bewegung des Bogens fuhrt¨ der Saite Energie zu Simulation evtl. fur¨ virtuelle Instrumente nutzlich¨ – Uberlagerung¨ (fast gleichzeitiger Ablauf) sehr vieler regelmaßige¨ Unterbrechung durch Kontaktverlust unterschiedlicher periodischer Schwingungen Bogen–Saite bei zu starker Auslenkung fur¨ zahlreiche (Rhythmus)-Instrumente benutzt, z.B. Blasinstrumente: Maracas (Rumba-Kugel): enthalten viele kleine harte ‚ ˚ Anblasen fuhrt¨ der schwingenden Luftmenge Energie zu Klangkorper,¨ die aneinanderstoßen Snare (kleine Trommel): mehrere Federn, die gegen regelmaßige¨ Unterbrechung durch Blatt (Oboe, Saxofon), ˚ Lippen (Trompete) oder Luftsaule¨ selbst (Orgel, Flote)¨ Fell der Unterseite schlagen (schnarren)

– Typeset by FoilTEX – 22 – Typeset by FoilTEX – 23 Chaotische Schwingungen Ubungen¨ f ¨urKW 43 wenn man das wirklich nur simulieren mochte,¨ nicht Wie wird Musikgeschichte zitiert (im Klang und) im Text ‚ ‚ mechanisch realisieren, von: DJ Hell: Electronic Germany (2009) dann kann man auch Systeme ohne mechanisches Wer singt auf U Can Dance des gleichen ? War ‚ Aquivalent¨ betrachten fruher¨ (viel fruher)¨ in welcher Band? Wer hat dort anfangs elektronische Instrumente gespielt? Danach welchen Bsp: die Iteration der Funktion ‚ Musikstil erfunden? f : 0, 1 0, 1 : x 4 x 1 2 2 r s Ñ r s ÞÑ ¨ p ´ { q weitere Beispiele fur¨ Musikzitate suchen, genau ‚ zeigt aperiodisches (chaotisches) Verhalten beschreiben, was zitiert wird, wie groß der Abstand ist U:¨ Wertefolge ausrechnen, ansehen, anhoren¨ (zeitlich, inhaltlich) und diskutieren, warum. ‚ Schwingungen (periodische, gedampfte,¨ chaotische) ‚ Einzelheiten und Quelltexte: https://gitlab.imn.htwk-leipzig.de/

– Typeset by FoilTEX – 24 – Typeset by FoilTEX – 25

waldmann/cm-ws18/tree/master/kw42 Klang-Analyse – simulieren, Resultate ansehen, anhoren.¨ – als benutzerdefiniertes Drumkit in Hydrogen benutzen. Definition, Motivation – Schwingungen von (Aufnahmen von) reellen oder jede periodische Schwingung kann als gewichtete ‚ virtuellen Musikinstrumenten ansehen Summe harmonischer Schwingungen dargestellt werden – mit den selbst ausgerechneten vergleichen (Jean Fourier, 180?, http://www-history.mcs. st-and.ac.uk/Biographies/Fourier.html) die Folge dieser Gewichte der Obertone¨ ist das ‚ Spektrum, das charaktetisiert die Klangfarbe Anderung¨ des Amplitudenverlaufs ‚ linear (z.B. Filter), nichtlinear (z.B. Verzerrer) kann beschrieben werden als Anderung¨ des Spektrums ‚

– Typeset by FoilTEX – 26 – Typeset by FoilTEX – 27

Periodische Funktionen Beispiel: Rechteck-Schwingung fur¨ Ω π, π betrachte P f f :Ω . Ω R : t if t 0 then 1 else if t 0 then 0 else 1 ‚ “ r´ s “ t | Ñ Ru ‚ Ñ ÞÑ ă ´ “ P ist Vektorraum (Addition, Skalierung) und Hilbert-Raum ‚ das ist die Signum- (Vorzeichen)-Funktion sign Skalarprodukt f, h : f x g x dx, Norm f f, f ‚ x y “ p q ¨ p q | | “ x y sin kx żΩ sign x 4 π p q b1 1, b2 sin x , b3 cos x , b4 sin 2x , b5 cos 2xa,... ‚ p q “ p { q k ‚ “ “ p q “ p q “ p q “ p q k ungeradeÿ bilden eine orthogonale Basis fur¨ P (nur ungerade Oberwellen) nach geeigneter Skalierung sogar orthonormal jedes f P eindeutig darstellbar als Linearkombination Nebenrechnungen: ‚ P 2 von Basisvektoren f f, bi bi bi “ x y{| | ¨ cos kx ist gerade Funktion, sign x ungerade, i ‚ p q p q weitere Voraussetzungenÿ sind notig¨ (damit Integrale und deswegen sign x , cos kx 0 ‚ x p q p qy “ Summen existieren), siehe VL Analysis π sign x , sin kx 2 0,π sin kx dx 1 k cos kx 0 numerisch: approximiere Integral durch Summe ‚x p q p qy “ ¨ r s p q “ r´ { ¨ p qs “ ‚ if 2 k then 0 else 4 k ş | {

– Typeset by FoilTEX – 28 – Typeset by FoilTEX – 29

Beispiel: Sagezahn-Schwingung¨ Spektren von Audiosignalen f :Ω : x x Spektrum eines Signals f kann so bestimmt werden: ‚ Ñ R ÞÑ ‚ numerische Bestimmung der Fourier-Koeffizienten teile Signal in Zeit-Intervalle (z.B. ∆ 1 10 s), ‚ ‚ “ { fi : ∆, ∆ R : t f i∆ t let k = 4 ; d = 0.01 r´ s Ñ ÞÑ p ` q wahle¨ Frequenz-Werte k1, k2,... in sum $ map (\x -> d * x * sin (k*x)) ‚ bestimme Koeffizienten der Freq kj zur Zeit i∆ als fi, kj [ negate pi, negate pi + d .. pi ] ‚ x y ==> -1.570723326585521 Anzeige z.B. in vlc: Audio Visualisations Spectrum ‚ Ñ Ñ 2 1 k es gibt schnellere Algorithmen Vermutung f p´ q sin kx ( alle Oberwellen ) ‚ ‚ “ ´ p q π k 1 k (diskrete Fourier-Transformation) ÿě das Ohr bestimmt die Fourier-Koeffizienten durch ‚ Resonanz in der Schnecke (Cochlea), Frequenz-Auflosung¨ ist ca. 3 Hz bei 1 kHz

– Typeset by FoilTEX – 30 – Typeset by FoilTEX – 31 Programme zur Spektral-Analyse Spektren von Klangen/Instrumenten¨ Chris Cannam, Christian Landone, and Mark Sandler: harmonische Schwingung: keine Oberwellen ‚ ‚ Sonic Visualiser: An Open Source Application for kommt in der Natur selten vor und ist fur¨ Viewing, Analysing, and Annotating Music Audio Files, in ‚ Musikinstrumente auch gar nicht erwunscht:¨ Proceedings of the ACM Multimedia 2010 International Conference. Oberwellen ergeben interessantere Klange,¨ https://sonicvisualiser.org/ die auch variiert werden konnen¨ Anwendungsbeispiel: Bsp: Gitarre: Anschlagen nahe dem Steg: viele ‚ ‚ 1 Oberwellen, zur Saitenmitte: weniger. Aphex Twin, ∆Mi´ αΣDi η F ji η 1 F exti η´1 , “ ´ r s r ´ s ` r s Bsp. Schlagzeug (Trommel, Tom): Anschlag Mitte/Rand : Windowlicker, 1999. ‚ Bsp: Orgel: offene und gedackte Pfeifen hergestellt mit Metasynth (Eric Wenger, Edward Spiegel, ‚ 1999) http://www.uisoftware.com/MetaSynth/, U:¨ dazu in Kalahne:¨ Akustik (1913) nachschlagen

– Typeset by FoilTEX – 32 – Typeset by FoilTEX – 33

Klangveranderung¨ durch Filter Klangveranderung¨ durch Filter ein Filter ist ein Operator von Ω nach Ω Operator F ist linear (L), wenn ‚ p Ñ Rq p Ñ Rq ‚ a, b , g, h Ω : F a g b h a F g b F h (eine Funktion der Zeit auf eine Funktion der Zeit, @ P R P p Ñ Rq p ¨ ` ¨ q “ ¨ p q ` ¨ p q F ist zeit-invariant (TI), wenn t : shiftt F F shiftt d.h., Filter ist Funktion zweiter Ordnung) ‚ @ P R ˝ “ ˝ Bsp: der Operator scales : g x s g x Satz: jeder LTI-Filter kann als (Limes einer unendl.) ‚ ÞÑ p ÞÑ ¨ p qq ‚ Bsp: der Operator shiftt : g x g x t Summe von shift und scale dargestellt werden ‚ ÞÑ p ÞÑ p ´ qq akustisch ist das ein Echo. Mehrere Echos ergeben Hall. Satz: jeder lineare Filter operiert auch linear auf den ‚ Realisierungen: Fourier-Koeffizienten. Folgerung: Obertone¨ werden geschwacht¨ oder verstarkt,¨ – Speicherung auf Tonband-Schleife ‚ aber niemals aus dem Nichts“ erzeugt. – Federhallstrecke (Drehschwingung einer Feder) ” typisch fur:¨ Gitarrenklang in Surf-Musik (Bsp: Dick Dale), Das begrundet¨ den Wunsch nach nichtlinearen Filtern Gesamtklang im (Dub) Reggae (Bsp: Lee Perry) (Verzerrern).

– Typeset by FoilTEX – 34 – Typeset by FoilTEX – 35

Ubungsaufgaben¨ zu VL KW43 Amplitudenverlauf und Spektrum der Schwingung f scale 1 shiftd f abhangig¨ von Parameter d 0, π . mit Hydrogen und Rakarrack Aspekte des Schlagzeugs ` ´ p p qq P r s ‚ Echo, Hall, Phaser selbst implementieren (Rhythmus, Sound) nachbauen: ‚ Verzogern¨ und ggf. ruckkoppeln¨ Vivien Goldman (und New Age Steppers): Private Armies Dub (1981) (WAVE-Datei lesen, bearbeiten, schreiben) (Produzent: Adrian Sherwood, vgl. Bugaloo (2003, video) Ansatz: https://gitlab.imn.htwk-leipzig.de/ waldmann/cm-ws18/tree/master/kw43 Fourier-Koeffizienten einer Rechteck-, Sagezahn-,¨ ‚ Dreiecks-Schwingung bestimmen: – Skalarprodukte symbolisch oder numerisch bestimmen – Amplitudenverlauf in WAVE-Datei schreiben und Spektrum analysieren (sonic-visualiser) Phaser: fur¨ eine Sagezahnschwingung¨ f: bestimmen Sie ‚

– Typeset by FoilTEX – 36 – Typeset by FoilTEX – 37

– Typeset by FoilTEX – 38 – Typeset by FoilTEX – 39 Elektrische Schwingungen Plan bisher: mechanische Schwingungen ‚ – Bsp: Massepunkt/Feder, – Anwendung: akustische Musikinstrumente Bsp: Saiten, Membrane, Luftsaulen¨ jetzt: elektrische Schwingungen (und Filter) ‚ – Bsp: Oszillator (LC), Tiefpaß (RC) – Anwendungen: Analog-Synthesizer (Robert Moog 64, Don Buchla 63) ˚ Simulation von A.-S. (csound, Barry Vercoe, 1985) ˚ – Ziele: 1. moglichst¨ exakte Nachbildung (des Akustischen, des Analogen), 2. vollig¨ neuartige Klange¨

– Typeset by FoilTEX – 40 – Typeset by FoilTEX – 41

Elektrische Schaltungen Schaltung – Beispiel Schaltung: gerichteter Graph, R ‚ I UE UA – Kanten sind Bauelemente C ohne Zustand: Widerstande,¨ Verstarker¨ (Transistor) ˚ Schaltung: mit Zustand: ‚ ˚ Widerstand: UE UA R I Kondensator: Ladung, Spule: magnetisches Feld ‚ ´ “ ¨ – durch jede Kante fließt Strom, (siehe auch Kraftwerk: Ohm Sweet Ohm, 1975) jeder Knoten hat Potential dUA Kondensator: I C C UA1 – besondere Knoten: Masse (0), Eingabe, Ausgabe ‚ “ ¨ dt “ ¨ Bsp: UE t 1V, UA 0 0 (Kondensator leer) Zustandsanderung¨ ist Funktion der Strome¨ und ‚ p q “ p q “ ‚ C U 1 I 1 UA R, Simulation, exakte Losung¨ Spannungen ¨ A “ “ p ´ q{ Schaltung realisiert einen Operator von (Zeit Eingabe) Bsp: UE t sin 2πft , UA t ? ‚ Ñ ‚ p q “ p q p q “ nach (Zeit Ausgabe) wirkt als Tiefpaß-Filter: Schwachung¨ hoher Frequenzen Ñ ‚

– Typeset by FoilTEX – 42 – Typeset by FoilTEX – 43

Weitere Filter Spannungsgesteuerte Schaltungen R wesentlich fur¨ musikalische Anwendungen: I ‚ UE UA L Steuerung von System-Eigenschaften (z.B. dI , Spule: UA L L I1 Resonanzfrequenz, Filter-Steilheit) durch ‚ “ ¨ dt “ ¨ wirkt als Hochpaß (tiefe Frequenzen werden geschwacht)¨ – Ausgabe-Spannung anderer Teilsysteme – Bedienerschnittstelle (Regler, Klaviatur — ebenfalls als I R UE UA Spannungsquellen realisiert) L C modularer Aufbau eines , Verbindung der , wirkt als Bandpaß ‚ñ ‚ Komponenten ( Programmierung) durch Kabel/Stecker (hohe und tiefe f geschwacht,¨ in der Nahe¨ der “ Robert Moog: Voltage Controlled Electronic Music Resonanzfrequenz weniger) ‚ Bandpaß mit Ruckf¨ uhrung¨ und Verstarkung:¨ Modules, J. Audio Engineering Soc. Volume 13 Issue 3 ‚ pp. 200-206; July 1965, http: wirkt als Oszillator (schwingt auf Resonanzfrequenz) //www.aes.org/e-lib/browse.cfm?elib=1204

– Typeset by FoilTEX – 44 – Typeset by FoilTEX – 45

Spannungsgesteuerte Komponenten Steuerspannungen aus Benutzeraktionen Verstarker¨ (VCA, voltage controlled amplifier) einfachste Moglichkeit:¨ Taste drucken/loslassen¨ ‚ ‚ eigentlich Multiplizierer: UA t UC t UE t Impulslange¨ je nach Eingabe, Impulshohe¨ konstant p q “ p q ¨ p q Oszillator (VCO) mehr Ausdruck: Starke¨ des Tastendrucks bestimmt ‚ ‚ Impulshohe¨ (konstant uber¨ gesamte Lange)¨ Steuerspannung Frequenz: UA t sin UC t t „ p q “ p p q ¨ q (Luxus: gewichtete Tastatur, simuliert Tragheit¨ der Filter (VCF): Steuerspannung Resonanzfrequenz ‚ ‚ „ Klavier-Mechanik) periodische UC mit kleiner Frequenz erzeugt durch ‚ (Hull)kurvenparameter¨ fur¨ nicht-konstante Impulse: LFO (low frequency oscillator) ‚ – Attack (Anstiegszeit auf maximale Hohe)¨ – Decay (Abfallzeit bei noch gedruckter¨ Taste) – Sustain (Impulshohe¨ nach Decay) – Release (Abfallzeit nach Loslassen der Taste)

– Typeset by FoilTEX – 46 – Typeset by FoilTEX – 47 Erste Synthesizer in popularer¨ Musik Simulation mit grafischer Programmierung spannungsgesteuerte modulare Synthesizer produziert ALSA modular synthesizer ‚ ‚ ab 1963 (Robert Moog, Don Buchla) Komponenten (LFO, VCO, VCF, . . . ) auf Arbeitsflache,¨ (Bsp: Buchla: In The Beginning Etude II, 1983?) ‚ Verbindung durch Kabel (Ausgangsgrad beliebig, erste Anwendungen (auf publizierten Aufnahmen) ‚ ‚ – fur¨ exotische Klange¨ als Verzierung in Eingangsgrad 1) Standard-Popmusik (Byrds: Space Odyssey, 1967) Verbindungen zur Außenwelt (Bsp.) ‚ – als Solo-Instrument – In: MCV (MIDI control voltage) Steuerspannung ist als Ersatz klassischer Instrumente, fur¨ klassische ˚ Tonhohe¨ der Taste eines virtuellen Keyboards (z.B. Musik (Wendy Carlos: Switched on Bach, 1968) vkeybd) oder externen Keyboards (z.B. USB-MIDI) fur¨ neuartige, eigens komponierte Musik (Morton ˚ qjackctl (Alsa): virtual keybd output — ams input Subotnick: Silver Apples of the Moon, 1967) – Out: PCM, (fruhere¨ elektronische Instrumente: siehe 120 Years of ‚ qjackctl (Audio): ams output port — system input port Electronic Music http://120years.net/)

– Typeset by FoilTEX – 48 – Typeset by FoilTEX – 49

Ubungen¨ zu VL KW 44 allgemeinen nicht ADSR – sondern nur fur¨ welche Hausaufgabe: Parameter? – Nachbilden bestimmter Klange¨ wie lautet die exakte (stationare)¨ Losung¨ fur¨ den base drum, ‚ ˚ RC-Tiefpaß mit Eingabe UE t sin 2πft ? snare drum, p q “ p q ˚ U t a sin 2πft φ a, φ der Grashupfer¨ in Biene Maja“ (deutsche Tonspur der Ansatz: A mit unbekannten . ˚ ” p q “ ¨ p ` q japanischen Verfilmung von 1975) in der Ubung:¨ Becken (hihat, crash, ride) ˚ evtl. Experimente mit https://gitlab.imn. Metallophon, ‚ ˚ htwk-leipzig.de/waldmann/circuit, evtl. als Flexaphon (Horbeispiel:¨ ca. bei 0:55 in Can: Sing ˚ autotool-Aufgabe Swan Song, 1972) Xylophon, Experimente mit ALSA modular synthesizer: ˚ ‚ Orgelpfeife, (Pan)Flote¨ ˚ – Ausprobieren LFO, VCO, VCF, MCV, ADSR (Env) einzelner Wassertropfen, Regen, Wasserfall, Meer – die zeitliche Umkehrung einer ADSR-Kurve ist im ˚

– Typeset by FoilTEX – 50 – Typeset by FoilTEX – 51

Programme f ¨urKlange¨ csound-expression Klangbeschreibung durch algebraischen Ausdruck Motivation ‚ elektrische Schaltungen zur Klangerzeugung . . . hall 0.5 ( usqr 6 * (sqr (400 * usaw 2.1)))

real bauen (Analog-Synthesizer, Moog, Buchla, . . . ) verwendet: ‚ ‚ oder simulieren. Bedienung/Beschreibung ‚ – Operatoren aus Csound-API (VCO, VCF, . . . ) – grafisch (alsa modular synthesizer) – (Spannungs-)Steuerung durch passende Argumente – textuell (durch eine DSL) – Haskell (Typen, Funktionen, *, map,...) separate DSL, Bsp: Csound ˚ wird in Csound-Ausdruck kompiliert, (ansehen mit https://csound.com/, Barry Vercoe 1985 ‚ ( renderCsd $ hall ...) >>= putStrLn eingebettete DSL (in Haskell): csound-expression ) ˚ https://hackage.haskell.org/package/ dieser wird an Csound-Server gesendet, dieser fuhrt¨ ‚ csound-expression, Anton Kholomiov Simulation durch (berechnet Amplitudenverlauf) hall 0.5 ( usqr 6 * (sqr (400 * usaw 2.1)))

– Typeset by FoilTEX – 52 – Typeset by FoilTEX – 53

CE-Beispiel: Additive Synthese weitere Csound/CE-Beispiele Fourier-Darstellung der Rechteck-Schwingung Wind https://hackage.haskell.org/package/ ‚ ‚ csound-catalog-0.7.2/docs/ let f = 300 Csound-Catalog-Wave.html#v:mildWind in sum $ map (\k -> (osc $ k * f) / k ) Schlagzeuge (Hans Mikelson) https://hackage. $ map fromIntegral [1, 3 .. 9] ‚ haskell.org/package/csound-catalog-0.7.2/ das funktioniert, weil. . . docs/Csound-Catalog-Drum-Hm.html ‚ – k und f den Typ Sig haben (nicht Zahl!) Glocke (noiseBell) u.a. https://hackage.haskell. ‚ – fur¨ Sig die Addition definiert ist (instance Num Sig) org/package/csound-catalog-0.7.2/docs/ Klang vergleichen mit sqr f, obere Grenze (9) variieren Csound-Catalog-Wave.html#v:noiseBell ‚ Ubung:¨ desgl. fur¨ Sagezahn-Schwingung,¨ ‚ fur¨ Summe vieler harmonischer S. mit zufalliger¨ Frequenz

– Typeset by FoilTEX – 54 – Typeset by FoilTEX – 55 Theremin Schnittstellen f ¨urLive-Spiel: MIDI Lev (Leon) Termen, 1922, Rußland MIDI-Signalquelle ‚ ‚ wird beruhrungslos¨ (!) gespielt, Prinzipien: ‚ – reelles Keyboard: https://github.com/ – durch Handbewegung wird Kapazitat¨ eines spell-music/csound-expression/issues/51 Kondensators in einem HF-Schwingkreis (170 kHz) (!) – virtuelles Keyboard: geandert,¨ dadurch die Frequenz der Schwingung vdac $ midi $ \ m -> return $ osc $ sig $ cpsmidi m ¨ ¨ Signaturen: – Tonhohe: vom HF-Summensignal hort man nur die ‚ (niederfrequente) Differenzfrequenz zu einem zweiten midi :: Sigs a => (Msg -> SE a) -> SE a (nicht verstimmten) Schwingkreis, cpsmidi :: Msg -> D vgl. dac $ osc 30000 + osc 30300 sig :: D -> Sig – Lautstarke:¨ HF-Bandpaß und Gleichrichtung erzeugt osc :: Sig -> Sig Steuerspannung fur¨ VCA vdac :: RenderCsd a => a -> IO () return :: Monad m => a -> m a Horbeispiel:¨ Captain Beefheart: Electricity, 1967 ‚

– Typeset by FoilTEX – 56 – Typeset by FoilTEX – 57

Schnittstelle f ¨urLive-Spiel: GUI Ubungen¨ Verwendung von GUI-Elementen aus Csound: ‚ csound-expression: ‚ dac $ do (g,f) <- slider "f" (expSpan 20 2e4) 440 – Types in Csound-Expression: panel g ; return $ osc f https://www.imn.htwk-leipzig.de/ ˜waldmann/etc/untutorial/ce/ Signaturen: ‚ – Tonerzeugung slider :: String -> ValSpan -> Double -> Source Sig https://gitlab.imn.htwk-leipzig.de/ expSpan :: Double -> Double -> ValSpan waldmann/cm-ws18/tree/master/kw46/data type Source a = SE (Gui, Input a); type Input a = a Benutzt wurden nur: osc, usaw, usqr, white, mul, at, (+), panel :: Gui -> SE () ; osc :: Sig -> Sig (-), (*), hall, fvdelay dac :: RenderCsd a => a -> IO () – zum Vergleich — Horbeispiel:¨ Autechre: Perlence mehrere Element kombinieren durch (Album: Quaristice, 2008) ‚ hor,ver :: [Gui] -> Gui – Tonerzeugung: Aufgaben von voriger Woche

– Typeset by FoilTEX – 58 – Typeset by FoilTEX – 59

– GUI benutzen https://github.com/spell-music/ csound-expression/blob/master/tutorial/ chapters/FxFamily.md#ui-stompboxes

– Typeset by FoilTEX – 60 – Typeset by FoilTEX – 61

Harmonielehre Motivation, Plan bisher: Gerausche,¨ ‚ Tone¨ (Grundfrequenz, Obertone,¨ Spektren) heute: welche Tone¨ klingen gut ‚ – zusammen (in Akkorden), – nacheinander (in Melodien)? spater:¨ ‚ – Folgen von Akkorden (Kadenzen), – Fuhrung¨ mehrerer Stimmen (Kontrapunkt) und Notation dafur¨ (algebraisch, grafisch – Partituren)

– Typeset by FoilTEX – 62 – Typeset by FoilTEX – 63 Klassische Literatur Die Naturtonreihe Hermann von Helmholtz: Die Lehre von den bei schwingender Saite, schwingender Luftsaule¨ ‚ ‚ Tonempfindungen als physiologische Grundlage fur¨ die kommen neben Grundton f ganzzahlige Obertone¨ vor, Theorie der Musik, Vieweg 1863. bilden die Naturtonreihe f, 2f, 3f, 4f, 5f, . . . https://reader.digitale-sammlungen.de/de/fs1/ einzelne Obertone¨ lassen sich durch passende object/display/bsb10598685_00366.html ‚ (von H.H. zitiert) Leonhard Euler: Tentamen novae Spielweise betonen (isolieren) (z.B. Flageolett) ‚ theoriae Musicae, Petropoli, 1739. Bsp: Canned Heat: On the Road Again, 196?. http://eulerarchive.maa.org/pages/E033.html, (Flageolett-Tone¨ im Intro) vgl. Patrice Bailhache: Music translated into Mathematics, die Naturtonreihe bis 15f reduziert (durch Halbieren) ‚ https://web.archive.org/web/20050313140417/http: 1, 9/8, 5/4, 11/8, 3/2, 13/8, 7/4, 15/8, 2 //sonic-arts.org/monzo/euler/euler-en.htm c d e f g a b , b c’ Hugo Riemann: Katechismus der Harmonielehre, 1890 « « 5 « 5 « ‚ 11/8: das Alphorn-Fa https: wie stimmt man Instrumente mit mehreren Saiten? //archive.org/details/katechismusderh00riemgoog/ ‚

– Typeset by FoilTEX – 64 – Typeset by FoilTEX – 65

Konsonanz (Vermeiden von) Schwebungen wie stimmt man Instrumente mit mehreren Saiten f, g, . . . f, g konsonant : keine Schwebung geringer Frequenz ‚ ‚ “def g nicht als Oberton von f, zwischen Obertonen¨ von f und Obertonen¨ von g. S f, g : min a f b g : a, b , af bg sondern wir wollen neue Tone.¨ Welche? ‚ p q “ t| ¨ ´ ¨ | P N ‰ u Bsp: S 300, 315 ,S 270, 375 ,S 270, 360 ... Tone¨ wie z.B. 300 Hz, 315 Hz p q p q p q ‚ Satz: S f, g ist der . . . von f und g. – klingen nicht gut zusammen (sondern rauh, dissonant) ‚ p q – das Ohr nimmt die Schwebung (mit 15 Hz) wahr (Begriff und Berechnung bekannt aus 1. Semester) Schwebungen zw. 10 Hz und 40 Hz sind unangenehm ‚ (nach Helmholtz: 33 Hz ist am schlimmsten) konsonante Tone¨ haben keine solchen Schwebungen

– Typeset by FoilTEX – 66 – Typeset by FoilTEX – 67

Konsonanz Die Tone¨ nach Pythagoras f, g konsonant, wenn gcd f, g groß . . . nach Pythagoras (ca. 500 v.Chr.) konstruiere Tonmenge ‚ p q ‚ – absolut: gcd f, g 40Hz – beginne mit 1 (Grundfrequenz) p q ą – relativ: gcd f, g max f, g groß – multipliziere mit 3/2, p q{ p q Ñ – multipliziere mit 1/2, falls 2 Hor-Eindruck:¨ 80, 120 gegenuber¨ 480, 520 ą ‚ p q p q 1, 3, 9 9, 27, 81 81, 243, 729 729,... 2 4 Ñ 8 16 32 Ñ 64 128 256 Ñ 512 spricht fur¨ die relative Definition. c g d a e b f c 7 7 Def: R f, g : gcd f, g max f, g pentatonische Skala: die ersten 5 Tone¨ dieser Reihe, ‚ p q “ p q{ p q ‚ nach Frequenzen geordnet c, d, e, g, a hier gcd f, g auch fur¨ f, g Q definiert als mina,b af bg p q P t ´ u Bsp: The Monochrome Set: Iceman, Album: Spaces Aufg: Bestimme 1 f0 f1 ... fk 2 ‚ “ ă ă “ Everywhere, 2015. (Intro, Skala von d: d, e, f , a, b ) t 7 u mit W f min R fi, fj 0 i j k maximal diatonische Skala: die ersten 7 Tone¨ dieser Reihe p q “ t p q | ď ă ď u ‚ Bsp: k 3.Fur¨ 1, 4 3, 5 3, 2 ist W f ... , geht besser? geordnet g, a, b, c, d, e, f “ { { p q “ 7

– Typeset by FoilTEX – 68 – Typeset by FoilTEX – 69

Die Tone¨ nach Pythagoras Eigenschaften der Stimmungen (bisher) aufsteigend die pythagoreische Reihe enthalt¨ 12 exakte 3:2 ‚ ‚ c, g, d, a, e, b, f , c , g , d , a , e , b , f ,... g d a e b f c g d a e b f 7 7 7 7 7 7 7 77 5 Ñ 5 Ñ 5 Ñ 5 Ñ 5 Ñ Ñ Ñ Ñ Ñ Ñ Ñ Ñ 7 absteigend: beginne mit 2, mult. mit 2 3, ggf. mit 2 schließt nicht: 1 3 2 12 2 1 7 (pythagoreisches Komma) ‚ { ‚ ‰ p { q {p { q 2, 4, 8 16,... 3 9 Ñ 9 Konsonanzen aus der Naturtonreihe fehlen, z.B. 4:5:6. c1, f, b , e , a , d , g , c , f , b ,... ‚ 5 5 5 5 5 5 5 55 angenahert¨ durch c : e : g 1 : 81 : 3 vereinige die jeweils ersten 7 Tone,¨ ordne. “ 64 2 ‚ 81 5 der Fehler 64 4 ist das diatonische Komma c, d , d, e , e, f, g , f , g, a , a, b , b, c1 { 5 5 5 7 5 5 reine Stimmung: 4:5:6 fur¨ spezielle Akkorde: Abstande¨ sind ‚ ‚ Tonika c,e,g, Subdominante f,a,c, Dominante g,b,d. 8 5 7 11 2 3 1.053 (zw. b und c1), 3 2 1.068 (zw. b und b), { « { « 5 gleichtemperierte St.: das pythagoreische Komma wird 12 19 sowie einmal 3 2 1.013 ‚ 7 12 geschlossen, d.h., g:c 2 { 1.4983 { « “ «

– Typeset by FoilTEX – 70 – Typeset by FoilTEX – 71 Die diatonische Skala Akkorde (Dreiklange)¨ mit f 2 3, g 3 2 c, d 9 8 c, . . . Grundformen (konsonant): ‚ “ { “ { ¨ “ { ¨ ‚ T T S T T T S – Dur (große Terz, kleine Terz) C c, e, g c d e f g a b c1 “ t u ´ ´ ´ ´ ´ ´ ´ in C-Dur-Skala enthalten: C,F,G die Abstande¨ sind: T: Ganzton, S: Halbton – Moll (kleine Terz, große Terz) C´ c, e , g “ t 5 u hiervon sind die Intervallbezeichnungen abgeleitet: D ,E ,A ‚ in C-Dur-Skala enthalten: ´ ´ ´ Sekunde, Terz, Quarte, Quinte, Sexte, Septime, Oktave. Modifikationen (dissonant): ‚ große Terz (2T ) c e, . . . , kleine Terz (T S): e g, . . . C0 c, e , g ‚ ´ ` ´ – vermindert: (kleine, kleine) 0 “ t 5 5u der Modus beschreibt eine zyklische Verschiebung: in C-Dur-Skala enthalten: B ‚ – vergroßert:¨ (große, große) C` c, e, g “ t 7u – ionisch (Dur): c, d, . . . , nicht in C-Dur-Skala enthalten. – aolisch¨ (Moll): a, b, . . . .

– Typeset by FoilTEX – 72 – Typeset by FoilTEX – 73

Akkorde (Vierklange)¨ Aufgaben Dreiklang plus Septime (kleine oder große) 1. bestimmen Sie die Frequenzverhaltnisse¨ fur¨ C-Dur, ‚ Bsp: C7 c, e, g, b ,Cmaj7 c, e, g, b d-Moll und e-Moll in der C-Dur-Skala bei Stimmung ‚ “ t 5u “ t u skalen-eigene Vierklange:¨ diatonisch ‚ ‚ maj7 7 C c, e, g, b ,D´ d, f, a, c , rein “ t u “ t u ‚ 7 maj7 7 7 7 5 gleich temperiert E´ ,F ,G´ ,A´ ,B´ p5 q ‚ simple Realisierung in electribe 2: und vergleiche Sie akustisch (csound-expression) ‚ – Dur-Skala, 4 Noten pro Akkord (Grundton, 2, 4, 6), ` ` ` 2. Konstruktion der chromatischen Tone¨ nach Paul da kann uberhaupt¨ nichts schief gehen, . . . Hindemith (Unterweisung im Tonsatz, 1937): – auch bei frei improvisierter“ Melodie nicht ” (a) zu jedem Ton aus der Obertonreihe des Grundtons (c) (XY-Pad: X ist Tonhohe¨ (aus Skala), Y ist Arpeggio) werden mogliche¨ Grundtone¨ bestimmt. Bsp: 5 c 4 ?. – das klingt aber doch beliebig, ¨ “ ¨ Dabei Multiplikation mit 1 ... 6, Division durch woher kommt die musikalische Spannung? 1, 2 , 3, 4 , 5, mit Identifikation von Oktaven. p q p q – Typeset by FoilTEX – 74 – Typeset by FoilTEX – 75

Welche Tone¨ entstehen aus c? Bestimmen Sie die Stufenzahl der Akkorde aus der 1. (b) Dieser Vorgang wird fur¨ jeden der entstandenen Tone¨ Aufgabe. wiederholt. Wo steht die Definition im Originaltext von Euler? Welche neuen Tone¨ enstehen? Sind die Abstande¨ gleichmaßig¨ (oder fehlen noch Tone)?¨ Vergleich mit 5. mit csound-expression oder alsa-modular-synthesizer pythagoreischer Skala. (Module: CV: Random, Quantizer) Akkorde (Dreiklange,¨ Vierklange)¨ erzeugen. ‚ 3. was hat H. Helmholtz auf S. 291f. gerechnet/gezeichnet? Akkorde aus einer Skala zufallig¨ aneinanderreihen, Rekonstruieren Sie die einfachste mathematische ‚ ” dazu eine zufallige¨ Melodie aus dieser Skala Formel“, erzeugen Sie daraus die Diagramme, ‚ 6. zur Stimmung der Gitarre: vergleichen Sie mit denen im Buch man kann die unteren (tiefen) Saiten so stimmen: Saite ‚ 4. was hat L. Euler gerechnet? (Helmholtz S. 349, Fußnote) mit Flagoelett bei 1/4 nachst-h¨ ohere¨ Saite mit “ Uberf¨ uhren¨ Sie die dort zitierte rekursive Definition der Flageolett bei 1/3. Stufenzahl in eine explizite Formel. Welches Intervall ist das? Wenn man bei tiefem E

– Typeset by FoilTEX – 76 – Typeset by FoilTEX – 77

beginnt und alle Saitenpaaare so stimmt, welcher Ton Der 4. Ton bleibt liegen, wird bei Beginn des Themas ist dann auf der 6. (hochsten)¨ Saite? verschoben. Wohin, warum? Das Intervall zwischen 4. und 5. Saite wird bei ublicher¨ in csound-expression nachbauen! Spezifikation von Stimmung um einen halben Ton verringert. Tonfolgen vgl. Es werden gern auch abweichende Stimmungen notes = fmap temp $ fmap (220 ) [1, 5/4, 3/2, 2] ‚ * verwendet, vgl. http://www.sonicyouth.com/ q = mel [mel notes, har notes] mustang/tab/tuning.html Warum? dac $ mix $ sco oscInstr q Bsp: Sonic Youth: Hyperstation, Album: Daydream https://github.com/spell-music/ Nation (1988) csound-expression/blob/master/tutorial/ Das Bild auf der Hulle¨ ist https://www. chapters/ScoresTutorial.md# gerhard-richter.com/en/art/paintings/ functions-for-sequential-and-parallel-composition photo-paintings/candles-6/candle-5195/ Wie ist die Gitarre im Intro von On the Road Again ‚ gestimmt?

– Typeset by FoilTEX – 78 – Typeset by FoilTEX – 79 Algebraische Komposition Literatur, Software Paul Hudak , Tom Makucevich , Syam Gadde , Bo ‚ Einleitung Whong: Haskore Music Notation - An Algebra of Music, klassisch: Musikstuck¨ reprasentiert¨ durch Partitur, JFP 1995, http://citeseerx.ist.psu.edu/ ‚ viewdoc/summary?doi=10.1.1.36.8687 – Ton reprasentiert¨ d. Note, bezeichnet Tonhohe,¨ -dauer – Tempo, Klangfarbe, Lautstarke¨ Partitur kompiliert zu MIDI-Strom, der von Hard- oder durch weiter Annotationen spezifiziert Software-Synthesizer interpretiert wird ˚ oder nicht, d.h., dem Interpreten uberlassen¨ Anton Kholomiov: Csound-Expression Tutorial – Scores, ˚ ‚ – Komposition: https://github.com/spell-music/ Noten nebeneinander bedeutet Tone¨ nacheinander ˚ csound-expression/blob/master/tutorial/ Noten (Zeilen) ubereinander:¨ Tone¨ (Stimmen) ˚ chapters/ScoresTutorial.md gleichzeitig Partitur wird durch Csound-Instrumente interpretiert, jetzt: Musikstuck¨ reprasent.¨ d. (abstrakten Syntax-)Baum ‚ P. kann Csound-spezifische Elemente enthalten

– Typeset by FoilTEX – 80 – Typeset by FoilTEX – 81

Partituren Partitur-Beispiel data Score minor :: Pitch -> Duration -> Score ‚ ‚ = Note Pitch Duration minor x d = Par [ Note x d , Note (x+3) d, Note (x+7) d ] | Rest Duration bass = | Seq [ Score ] Seq [ Note e (3*q) , Note b q, Note (b-12) q ] | Par [ Score ] chords = Seq [ Rest o, minor e o | Use Instrument Score , Rest q, minor e q , Rest q, minor b q ] score = Par c = 0 :: Pitch; cis = 1 :: Pitch, d = 2 :: Pitch, ... ‚ [ Seq $ replicate 4 [ bass, chords ] q = 1/4 :: Duration; o = 1/8 :: Duration; ... , Seq [ Rest (3*q), Note (b-12) o s :: Score , Note d o, Note e o, Note g o, Note bes o, ... ] ] s = Use benutzerdefinierte Namen (bass), Funktionen (minor), ‚ $ Seq [ Note c q, Rest o Standard-Funktionen (replicate), Typisierung , Par [ Note e o, Note g o ] ]

– Typeset by FoilTEX – 82 – Typeset by FoilTEX – 83

Partitur und Interpretation Operationen auf Partituren data Event = sequentielle, parallele Komposition: ‚ ‚ Event Time Instrument Pitch Duration’ Seq, Par :: [Score] -> Score type Performance = [ Event ] Transposition (Tonhohen-Verschiebung):¨ Startzeitpunkt und Dauer in Sekunden, Liste schwach ‚ Transpose :: Pitch -> Score -> Score monoton steigend bzg. Startzeitpunkten Tempo-Skalierung perform :: (Time, Instrument, Tempo) ‚ ‚ -> Score -> (Performance, Time) Scale :: Rational -> Score -> Score perform (start, inst, temp) s = case s of dabei immer zwei Moglichkeiten:¨ Operation ist . . . Rest d -> ( [], start + temp * d ) ‚ Note p d -> ( [ Event start inst (temp * d) ], start– +reifiziert temp * (d )verdinglicht), d.h., Konstruktor im AST) Seq2 x y -> – interpretiert“ , d.h., beliebige Funktion von AST nach AST let (xs, mid) = perform (start, ...) x scale :: Rational -> Score -> Score (ys, end) = perform (mid , ...) y scale r s = case s of in (xs <> ys, end) Note p d -> Note p (r * d) ; ...

– Typeset by FoilTEX – 84 – Typeset by FoilTEX – 85

Eigenschaften der Operationen Historische Formen der Mehrstimmigkeit fur¨ zweistellige Versionen der Kompositionen Cantus Firmus (feststehende Melodie, die anderen ‚ ‚ Stimmen sind Verzierung) seq2, par2 :: Score -> Score -> Score Kontrapunkt (Note gegen Note): Vorschriften zur seq2 x y = Seq [x,y]; par2 x y = Par [x,y] ‚ Konstruktion der Begleit-Stimmen, u.a. seq2 ist semantisch assoziativ: fur¨ alle p, x, y, z ‚ – Konsonanzen zu bestimmten (schweren) Zeitpunkten perform p (seq2 (seq2 x y) z) – keine Parallelen (gleichmaßiges¨ Auf- oder Absteigen) = perform p (seq2 x (seq2 y z)) Fuge (Flucht, die Stimmen fliehen voreinander) alle ‚ neutrales Element? kommutativ? Desgl. fur¨ par2 Stimmen sind aus einem Thema konstruiert durch gelten Distributiv-Gesetze? (Nein). – zeitlichen Versatz (Kanon), zeitliche Spiegelung ‚ – Versatz der Tonhohe,¨ Skalierung des Tempos, . . . U:¨ wann sind par2 (seq2 a b) (seq2 c d) und ‚ seq2 (par2 a c) (par2 b d) semantisch gleich? Kadenzen (Akkordfolgen) mit untergeordneten Stimmen ‚

– Typeset by FoilTEX – 86 – Typeset by FoilTEX – 87 Kanon Fuge eine Stimme wird mehrfach zeitlich versetzt eine anspruchsvolle Form des Kontrapunktes. alle ‚ ‚ Beispiel: Karl Gottlieb Hering (1766-1853): CAFFEE Stimmen sind aus einem Thema konstruiert durch ‚ – zeitlichen Versatz (wie im Kanon) 1. 3 – Versatz der Tonhohe¨ 4 C A F F E E trink nicht so viel Caf fe – zeitliche Spiegelung 2. – Tonhohen-Spiegelung¨ – Skalierung des Tempos nicht für Kin der ist der Tür ken trank 3. Johann Sebastian Bach (1685–1750): Die Kunst der ‚ Fuge, Contrapunctus XV - Canon per Augmentationem in sei doch kein Mu sel man der das nicht las sen kann Contrario Motu, (Solist: Pierre-Laurent Aimard, 2008) http://www.mutopiaproject.org/ftp/BachJS/BWV1080/ Ubung:¨ 1. Harmonien bestimmen, 2. programmieren ‚ contrapunctusXV/ U:¨ Operatoren in Partitur erkennen, implementieren ‚ – Typeset by FoilTEX – 88 – Typeset by FoilTEX – 89

Akkorde (Ton-Inhalt) Die Kadenz Grundformen: Dur und Moll lateinisch cadere fallen ‚ ‚ “ major x d = die Voll-Kadenz (Quinten abwarts)¨ in C-Dur: ‚ 0 Par [ Note x d , Note (x+4) d, Note (x+7) d ] 3kl. CFB E´ A´ D´ GC minor x d = maj7 maj7 7 5 7 7 7 7 7 4kl. C F B´ p5 q E´ A´ D´ G C Par [ Note x d , Note (x+3) d, Note (x+7) d ] Ton I IV VII III VI II V I mit Septime (kleiner, großer) T S Dp Tp Sp D T ‚ verkurze,¨ ersetze B0 b, d, f , a durch G g, b, d , f , major7 x d = Par ‚ “ t p qu “ t p qu [ Note x d, Note (x+4) d, Note (x+7) d, Note (x+10) dergibt ] die Kadenz: C, F, G, C T, S, D, T major7maj x d = Par “ [ Note x d, Note (x+4) d, Note (x+7) d, Note (x+11) dTonika ] (1,3,5), Dominante (5,7,9),Subdominante (4,6,8), ‚ Dur: T c, e, g , S f, a, c , D g, b, d , weitere Varianten durch Umstellen (anderer Grundton); ‚ “ p q “ p q “ p q ‚ Hinzufugen,¨ Andern,¨ Weglassen von Tonen¨ Moll: t c, e , g , s f, a , c , d g, b , d ‚ “ p 5 q “ p 5 q “ p 5 q

– Typeset by FoilTEX – 90 – Typeset by FoilTEX – 91

Funktions-Harmonik Vermischte Dokumente zur Harmonielehre Betrachtung der Akkorde nach ihrer (vermuteten, Uber¨ Hugo Riemann, von dessen Sohn Robert: ‚ ‚ haufigen)¨ Funktion in musikalischer Phrase. http://www.hugo-riemann.de/ nach Hugo Riemann (1849–1919): Kritik an Riemann durch Heinrich Schenker (1868–1935) ‚ T These, S Antithese, D Synthese. https: in einer Kadenz konnen¨ Akkorde durch Parallelen //web.archive.org/web/20120403032916/http: ‚ vertreten werden //www.schenkerdocumentsonline.org: 80/profiles/person/entity-000712.html die Parallelen (mit gleicher großer Terz) ‚ Kritik an einer Kritik an Schenkers Theorie der Urlinie T p 1, 1, 3 a, c, e , tP 3, 5, 7 e , g, b , ‚ “ p´ q “ p q “ p q “ p 5 5q https: entsprechend Dp, dP, Sp, sP //web.archive.org/web/20160731145955/http: The Beatles: Penny Lane: T, Tp, Sp, D (C, Am, Dm, G) ‚ //schenkerdocumentsonline.org/documents/ harmonische Analyse einer Stelle aus Bach: BWV 268 other/OJ-21-24_1.html ‚

– Typeset by FoilTEX – 92 – Typeset by FoilTEX – 93

Kadenzen in der Popmusik Ubungen¨ Kadenz T S (T) D T 1. zu Folie Partitur und Interpretation“: ‚ ” Beispiele: tausende, u.a. Beach Boys: Little Honda, 1964 (a) Warum schwach monoton“, nicht stark? ‚ ” (Version von Yo La Tengo, 1997) (b) Welche Rechnung muß im Zweig Par2 x y -> Strophe: DDDD GGDD AADA stattfinden? Wie werden die Teilresultate verknupft?¨ | | (c) Welches ist der abstrakte Datentyp fur¨ [Event] The Jesus and Mary Chain: Upside Down, 1984 (auf ‚ (welche Operationen gehoren¨ zur API)? Welche Creation Records). Strophe: 4 GGGC 4 C 4 G ¨ p q ¨ ¨ effiziente Implementierungen dafur¨ kennen Sie? Beatles: Tomorrow Never Knows, 1966. ‚ 2. Fragen von Folie Eigenschaften der Operationen“ Lou Reed: One chord is fine. Two chords is pushing it. ” ‚ ” Three chords and you’re into jazz.“ 3. zu Bach: Contrapunktus XV (canon per augmentationem in contrariu motu) Thelonius Monk: Round Midnight, 1944 ‚ (a) Bestimmen Sie die globale zeitliche Struktur der

– Typeset by FoilTEX – 94 – Typeset by FoilTEX – 95 Komposition. cm-ws18/blob/master/kw47/Caffee.hs Der 1.Takt der 1. Stimme erscheint (gedehnt und Beschreibung der Bibliotheks-Funktionen: gespiegelt) in Takt 5 und 6 der 2. Stimme. Wo noch? https://github.com/spell-music/ Was zeigt der Trennstrich nach Takt 52 an? csound-expression/blob/master/tutorial/ (b) Bestimmen Sie die Tonhohen-Abbildung¨ (Spiegelung) chapters/ScoresTutorial.md von erster zu zweiter Stimme. (b) Benutzen Sie eine Darstellung (d.h., Unterprogramme), Lesehilfe: Der Violin-Schlussel¨ bezeichnet das G (der die die lokale Strukur ausnutzt, z.B.: zweite Hafte¨ der 2. Kringel, zweite Notenlinie von unten), der Zeile ist Transposition der ersten Halfte.¨ Baß-Schlussel¨ bezeichnet das F (der Doppelpunkt, Wir verschieben nicht chromatisch (2 Halbtone),¨ zweite Notenlinie von oben) sondern diatonisch (1 Ton in der F-Dur-Skala). 4. Programmieren Sie den CAFFEE-Kanon (3 Stimmen, 5. Realisieren Sie auf ahnliche¨ Weise eine Voll-Kadenz jede mit eigenem Instrument). (a) effizient programmieren unter Benutzung der (a) Erganzen¨ Sie https: Skalen-Numerierung //gitlab.imn.htwk-leipzig.de/waldmann/ (b) eine dazu passende Melodie programmieren

– Typeset by FoilTEX – 96 – Typeset by FoilTEX – 97

Hinweis: jede Melodie (aus Skalentonen)¨ paßt Algorithmische Komposition Motivation klassische Partitur beschreibt das Musikstuck¨ extensional ‚ (durch Angabe der zu spielenden Tone)¨ jetzt: intensional (durch Angabe einer Vorschrift ‚ (Algorithmus) zur Bestimmung der zu spielenden Tone¨ ) z.B. algebraische Ausdrucke¨ (par, seq) ‚ jetzt auch: randomisierte Algorithmen zur Komposition ‚ Auffuhrung¨ durch Maschinen oder Menschen ‚

– Typeset by FoilTEX – 98 – Typeset by FoilTEX – 99

Geschichte der Alg. Komposition (Beispiele) Geschichte der Alg. Komposition mit Wurfeln¨ und Tabellen: hier geht es um wirklich neue Musik: ‚ ‚ – Johann Philipp Kirnberger: Der allzeit fertige Iannis Xenakis: http://iannis-xenakis.org/ ‚ Menuetten- und Polonaisen-Komponist, 1757 Metastasis, 1955; Buch Formalized Music — Thought – Carl Philipp Emanuel Bach: Einfall einen doppelten and Mathematics in Music, 1963, Contrapunct in der Oktave von sechs Tacten zu machen Gottfried Michael Koenig ohne die Regeln davon zu wissen, 1758 ‚ http://www.koenigproject.nl/, Projekt 1 1964, mit Rechenmaschinen ‚ Projekt 2 1966, Sound Synthesis Program 1971 – Lejaren Hiller, Loenard Isaacson: Illiac Suite, 1955 RU-Prinzip: inspiriert von der Unwiederholbarkeit von das Ziel ist hier immer die Nachahmung bekannter Reihenelementen ( unregelmaßig“)¨ einerseits und den ‚ ” Musikstile gruppenbildenden Multiplikations-reihen ( regelmaßig“)¨ ” andererseits.

– Typeset by FoilTEX – 100 – Typeset by FoilTEX – 101

Komposition und Constraints Modelle f ¨urmusikalische Eigenschaften die Kompositions-Aufgabe: bestimme eine (bestmogliche)¨ Constraint: Haufigkeiten¨ aufeinanderfolgender Tone¨ ‚ ‚ Partitur, die diese Bedingungen (Constraints) erfullt:¨ Modell: stochastischer endlicher Automat Randbedingungen – (Markov-Prozeß) (Anzahl Stimmen, Tonart, Metrum, Anzahl Takte) Constraint: Haufigkeiten¨ globaler Strukturelemente – musikalische Regeln (keine Dissonanzen, Parallelen) ‚ – ggf. Ahnlichkeit¨ zu Vorlagen Modell: stochastische generative Grammatik (Bsp: eine Fuge im Stil von Bach) Constraint: spannendes Verhaltnis¨ zwischen mehreren – ggf. Vermeidung der Ahnlichkeit¨ zu Vorlagen ‚ Stimmen (Bsp: eine Fuge, aber anders als die vorige) maschinelle Losung¨ dieser Aufgabe durch Modell: Zweipersonenspiel ‚ – exakte Verfahren (vgl. VL Constraint-Programmierung) Constraint: Regelmaßigkeit¨ ohne Wiederholungen ‚ – statistische Naherungsverfahren¨ (sog. maschinelles Modell: zellularer¨ Automat, Lindenmayer-System Lernen)

– Typeset by FoilTEX – 102 – Typeset by FoilTEX – 103 Algorithmische Komposition und Kreativitat?¨ Stochastische Sprachen wenn die Kompositionsarbeit scheinbar durch einen (klassische) Sprache uber¨ Alphabet Σ ist Abbildung ‚ ‚ Computer ubernommen¨ wird — welche Rolle haben: der L :Σ˚ 0, 1 (die Zweiermenge) Ñ t u Komponist? der Interpret? der Horer?¨ stochastische Sprache uber¨ Σ ist Abbildung ‚ der kreative Vorgang ist: Komponist schreibt das L :Σ˚ 0, 1 (das Intervall reeller Zahlen) ‚ Ñ r s Programm (wenigstens: wahlt¨ Programme aus und stellt L w die Wahrscheinlichkeit, mit der w L die Parameter ein) p q « P Plan: stochastische Sprache bei live coding (dazu spater¨ mehr) ist das ein zentraler ‚ ‚ fur¨ Σ Elementar-Ereignisse (z.B. Noten) Aspekt (Publikum sieht den Bildschirm des Komponisten) “ vgl. aber Joseph Schillinger: The Mathematical Basis of – so definieren, daß interessante w Σ˚ hohe ‚ P the Arts, 1943. (S. 17: funf¨ Erscheinungsformen der Wahrscheinlichkeit haben Kunste)¨ https://archive.org/details/ – durch endliches Objekt (Automat, Grammatik) TheMathematicalBasisOfTheArtsJosephSchillinger1943/reprasentieren¨

– Typeset by FoilTEX – 104 – Typeset by FoilTEX – 105

Stochastische Automaten, Markov-Prozesse Stochastische Grammatiken ein endlicher stochastischer Automat A besteht aus: Kontextfreie Grammatik beschreibt Satzbau von ‚ ‚ – Zustandsmenge Q naturlichen¨ (und kunstlichen)¨ Sprachen und Musik – Initialvektor I Q 0, 1 , P p Ñ r sq Jeder Satz hat Subjekt und Pradikat¨ – Transitionsmatrix T Q Q 0, 1 . « P p ˆ Ñ r sq jede Kadenz beginnt und schließt mit Tonika. wobei I stochastischer Vektor ( I q 1) q Q p q “ stochastische CFG: wie klassisch, zusatzlich¨ zu jeder P ‚ und T stoch. Matrix (jede Zeileř ist stoch. Vektor) Variablen l ein Wsk-Vektor ~v uber¨ alle Regeln, n stochastischer Prozeß erzeugt Wort w q0q1 . . . qn Q : v1, l r1 ,..., vn, l rn ‚ “ P rp Ñ q p Ñ qs wahle¨ q0 Q nach Verteilung I, Bsp: mittlere Wortlange¨ fur¨ 1 2,S b , 1 2,S aSS P ‚ rp { Ñ q p { Ñ qs wahle¨ qk 1 Q nach Verteilung T qk . ` P p q U:¨ Beziehung stoch-CFG/Markov-Prozesse Anwendungen in der Musik: Q Noten, Q Akkorde. ‚ ‚ “ “ (MP endlicher Automat Typ-3-Grammatik dabei wird aber die globale Struktur (nach Riemann: die « “ Ď ‚ Funktion der Akkorde) ignoriert! Typ-2-Grammatik)

– Typeset by FoilTEX – 106 – Typeset by FoilTEX – 107

Kombination stochastischer Methoden Lindenmayer-Systeme Donya Quick and Paul Hudak: Grammar-Based D0L-System besteht aus ‚ ‚ Automated Music Composition in Haskell, Axiom S Σ, Funktion φ :Σ Σ˚ mit S @ φ S http://functional-art.org/2013/quick.pdf, P Ñ p q F 0, 0 01, 1 0 ,G a, a abc, b ac, c b Workshop on Functional Art, Music, Modeling and Design “ p t ÞÑ ÞÑ uq “ p t ÞÑ ÞÑ ÞÑ uq Aristide Lindenmayer (1925–1989), (FARM) ‚ http://algorithmicbotany.org/papers/#abop definiert Folge S, φ S , φ2 S ,... mit i j φi S φj S ‚ p q p q ă ñ p q @ p q d.h. Folge hat Limes φω S Σω p q P wF 0100101 ... , wG abcacbabcbacabc . . . ‚ “ “ Satz: wG ist quadratfrei, d.h., enthalt¨ kein Teilwort uu. ‚ Anwendung: Tonfolge konstruiert aus wG enthalt¨ keine ‚ benachbarten Wiederholungen

– Typeset by FoilTEX – 108 – Typeset by FoilTEX – 109

Ubung¨ ghci partitur.hs playX x2 1. Algorithmische Komposition verwenden Sie die Musik-Operatoren einzeln, andern¨ ‚ Beispiel: http://www.donyaquick.com/ Sie die Komposition interesting-music-in-four-lines-of-code/. Installation: im Pool schon erfolgt, sonst https: ‚ //github.com/sternenseemann/Euterpea2 benutzt Bibliothek Euterpea zur MIDI-Signalerzeugung (https: 2. Implementieren Sie Steve Reich: Piano Phase (1967). //hackage.haskell.org/package/Euterpea , Auffuhrung¨ (Peter Aidu, 2006, solo!) http://www.euterpea.com/ ) https://archive.org/details/top.09, MIDI-Instrument vorbereiten: z.B. qsynth starten, dann ‚ Beschreibung: https://en.wikipedia.org/wiki/ in qjackctl: Connect Alsa: Midi Through mit Ñ Piano_Phase#First_section Fluidsynth verbinden. (Euterpea schickt Noten auf Midi Through.) 3. Stochastische Musik: Quelltext laden und abspielen: https://gitlab.imn.htwk-leipzig.de/ ‚ – Typeset by FoilTEX – 110 – Typeset by FoilTEX – 111 waldmann/cm-ws18/blob/master/kw48/stoch.hs Performing with Patterns of Time zufallige¨ Permutation: Implementierung vervollstandigen¨ Uberblick¨ 4. deterministische nichtperiodische Musik Quelle: Thor Magnusson und Alex McLean: P.w.P.o.T, benutzen Sie ‚ Kap. 14 in: Oxford Handbook of Algorithmic Music, OUP https://gitlab.imn.htwk-leipzig.de/ 2018, https://slab.org/publications/ waldmann/cm-ws18/blob/master/kw48/dnp.hs Software: https://tidalcycles.org/ algebraische Beschreibung von periodischen Verlaufen¨ ‚ (Parameter fur¨ Klange),¨ eingebettete (in Haskell) DSL Back-end: https://supercollider.github.io/ ‚ James McCartney, 1996– Tidal benutzt SC zum Abspielen von Samples ‚ Tidal ist System fur¨ live-coding (durch ghci-Kommandos) ‚

– Typeset by FoilTEX – 112 – Typeset by FoilTEX – 113

Tidal - Beispiel Grundlagen Tidal (Modell) Sound-Server (supercollider) starten ein Muster m :: Pattern a beschreibt eine ‚ ‚ periodische Abbildung von Zeit nach a sclang dirt_startup.scd elementares Muster: pure x mit Periode 1 ‚ Ghci starten ‚ c :: ControlMap Parameter zum Sample-Abspielen ‚ ghci s: Verzeichnis, n: Datei-Nummer, gain, delaytime, . . . :script BootTidal.hs Funktionen zum Abspielen: ‚ Klange¨ ausgeben d1, d2, ... :: Pattern ControlMap -> IO () ‚ let p = pure $ M.fromList [("s", VS "bd")] d1 $ s "bd [sn sn]" ‚ d1 p d2 $ s "[jvbass*2]*2" |*| n "0 1 2 3 4" queryArc p (0,3) hush [(0>1)|s: "bd",(1>2)|s: "bd",(2>3)|s: "bd"]

– Typeset by FoilTEX – 114 – Typeset by FoilTEX – 115

Operatoren auf Mustern: Transformation Operatoren auf Mustern: Komposition Bsp. verwenden p = run 3, mit queryArc p (0,1) Muster nacheinander: ‚ ‚ cat :: [Pattern a] -> Pattern a ==> [(0>1/3)|0, (1/3>2/3)|1, (2/3>1)|2] cat [p, p] ==> Transformation der Werte fmap (\ x -> x+1) p [(0>1/3)|0, (1/3>2/3)|1, (2/3>1)|2, (1>4/3)|0, (4/5>5/3)|1, (5/3>2)|2] ‚ ==> [(0>1/3)|1, (1/3>2/3)|2, (2/3>1)|3] fastcat wie cat, aber Resultat auf Lange¨ 1 gestaucht ‚ zeitliche Verschiebung (1/3) <˜ run 3 fastcat [p, p] ==> ‚ [(0>1/6)|0, (1/6>1/3)|1, (1/3>1/2)|2, (1/2>2/3)|0, (2/3>5/6)|1, (5/6>1)|2] ==> [(0>1/3)|1, (1/3>2/3)|2, (2/3>1)|0] Muster gleichzeitig: zeitliche Streckung slow 2 p ‚ ‚ stack :: [Pattern a] -> Pattern a [(0>2/3)|0, (2/3>1)-4/3|1, 2/3-(1>4/3)|1, (4/3>2)|2] fast 3 $ stack [ slow 2 (s "sn"), slow 3 (s "bd") ]

– Typeset by FoilTEX – 116 – Typeset by FoilTEX – 117

Die Muster-DSL von Tidal Ungerade Rhythmen zusatzlich¨ zur bisher beschriebenen eDSL: man kann in Tidal sehr leicht sehr schwierige Rhythmen ‚ ‚ eine konkrete Syntax fur¨ fastcat und stack hinschreiben (z.B., "[[bd*2, sn*3], hc*5]") ‚ s $ fromString "bd sn" ist aquivalent¨ zu das kann wahrscheinlich kein Mensch spielen und will ‚ auch keiner horen¨ (jedoch: Piano Phase) s $ fastcat [ pure "bd", pure "sn" ] welche Rhythmen kommen in der (europ.) Praxis vor? mit :set -XOverloadedStrings : s "bd sn" ‚ 4/4 (Polka, Rock’n’Roll), 3/4 (Walzer), Zwiefacher! in den Strings gilt: Horbeispiele¨ ‚ ‚ – Hintereinanderschreiben: fastcat – Norma Tanega: You’re Dead, 1966 – x*3 bedeutet: fastcat $ replicate 3 x – Lalo Shifrin: Mission Impossible (Theme) 1966 – in Klammern [] mit Komma: stack – Billy Goldenberg: Kojak (Theme) 1973 – x? bedeutet: degrade x – Erich Ferstl: Alpha Alpha (Thema) 1972 Bsp: "[[bd sn?]*2, [hc?*2 ho]*4]" – Paul Desmond (rec. Dave Brubeck): Take Five, 1959

– Typeset by FoilTEX – 118 – Typeset by FoilTEX – 119 Operatoren auf Mustern: Kombination Audio-Effekte in Tidal das ist die eigentliche Erfindung von Tidal Ausdrucksmittel sind hier (z.B. ggu.¨ csound-expression) ‚ ‚ absichtlich beschrankt,¨ Schwerpunkt von Tidal ist die Kombination von zwei gleichzeitigen Mustern: ‚ Kombination von (zeitlichen) Mustern, nicht von Effekten allgemeinster Fall: Verknupfung¨ durch beliebige Funktion ein globaler Effekt-Weg, Parameter in ControlMap ‚ (,) <$> run 2 <*> run 3 [(0>1/3)|(0,0),(1/3>1/2)|(0,1),(1/2>2/3)|(1,1),(2/3>1)|(1,2)]d1 $ sound "sn" # delay 0.7 # delaytime (2/3) # delayfeedback 0.7 haufige¨ Anwendung: Zusammensetzen von ControlMaps # room 0.7 # size 0.9 ‚ # cutoff 400 # resonance 0.7 s "bd arpy" |+| n (run 3) (0>1/3)|n: 0.0f, s: "bd" Parameter sind auch Muster, z.B., size "0.5 0.9" ‚ (1/3>1/2)|n: 1.0f, s: "bd" durch orbit unabhangige¨ Effektstrecken (1/2>2/3)|n: 1.0f, s: "arpy" ‚ (2/3>1)|n: 2.0f, s: "arpy" stack [ .. # orbit "0", .. # orbit "1" ]

– Typeset by FoilTEX – 120 – Typeset by FoilTEX – 121

Beispiel: Tidal von Kindohm (Mike Hodnick) Ubungen¨ Kindohm at International Conference on Live Coding, ‚ 1. Markov-Prozesse (falls Fragen zu autotool-Aufgabe) October 15th 2016, at The Spice Factory, Hamilton, Ontario, Canada. https: 2. Rhythmen: //www.youtube.com/watch?v=smQOiFt8e4Q (a) weitere Beispiele fur¨ ungerade Takte in der vgl. http://iclc.livecodenetwork.org/2015/ Pop/Rockmusik mitbringen ‚ papers.html, http://iclc.livecodenetwork. z.B.: Go-Betweens: Cattle and Cane, 1983. org/2016/papers.html (b) Das Bjorklund-Verfahren, siehe https: //tidalcycles.org/patterns.html#bjorklund aktuelles Album: Mesabi Range https://nadarecs. ‚ und dort zitiertes Paper von Toussaint. bandcamp.com/album/kindohm-mesabi-range Geben Sie eine formale Spezifikation an fur¨ moglichst¨ ” gleichmaßige¨ Verteilung von k Ereignissen auf n Zeitpunkte“, begrunden¨ Sie, daß die angegebene Konstruktion diese Spezifikation erfullt.¨ Sind diese

– Typeset by FoilTEX – 122 – Typeset by FoilTEX – 123

Losungen¨ eindeutig? Beispiel E 5, 8 . sclang superdirt_startup.scd p q (c) bestatigen¨ Sie die angegebenen Vorkommen von (d) Tidal-Cycles ist installiert, dann E k, n in der Natur, z.B. bei lateinamerikanischen ghci p q Rhythmen. :script BootTidal.hs Horbeispiele¨ Bossa Nova: Stan Getz/Joao Gilberto d1 $ s "bd sn" 1964, Quincy Jones: Big Band Bossa Nova 1962; hush Senor Coconut (Uwe Schmidt, Atom TM): El Baile 4. Tidal benutzen Aleman, 2000. (a) Types in Tidal-Cycles: 3. Tidal installieren und starten https://www.imn.htwk-leipzig.de/ (a) jack richtig configurieren, siehe https://gitlab. ˜waldmann/etc/untutorial/tc/ beachte imn.htwk-leipzig.de/waldmann/cm-ws18# insbesondere Semantik von cat hinweise-zur-richtigen-konfiguration-von-audio-hard-und-software(b)f ur¨ einige Audio-Files (b) SuperDirt installieren (https://gitlab.imn.htwk-leipzig.de/ (c) dann SC-Server starten mit waldmann/cm-ws18/tree/master/kw49/data)

– Typeset by FoilTEX – 124 – Typeset by FoilTEX – 125

den Tidal-Quelltext erraten. Hinweis: benutzt wurden Planung der Abschluß-Projekte s "casio:1", fast, speed, rev, every, room Ziel: Methoden aus der Vorlesung benutzen, um eine (c) Steve Reich: Piano Phase nachbauen. ‚ Hinweis: chromatische Tonfolgen so moglich:¨ musikalische Wirkung zu gestalten. s "sine" |+| speed (fmap (\i -> 2**(i/12)) "0Ideen 4 9" fur¨ Projekte: (d) Mike Hodnick: Deconstructing D-Code, ‚ https://blog.mikehodnick.com/ 1. (Standard: jedes Vorlesungsthema, siehe auch ¨ deconstructing-d-code/ Ubungsaufgaben) (e) Antonio Carlos Jobim, Newton Mendonca: One Note 2. Verknupfung¨ von zwei verschiedenen Themen 3. Hacks“, d.h., Verwendung einer Methode/eines Samba, Rec. Stan Getz, Charlie Byrd, 1962, LP Jazz ” Samba. Der Stil wurde als Bossa Nova bekannt. Werkzeugs zu einem nicht bestimmungsgemaßen¨ i. Welche Rolle spielt der festgehaltene Ton (f) im Zweck 7 7 7 7 5 4. Verknupfung¨ mit Themen aus anderer Vorlesung, z.B. jeweiligen Akkord? (D´ D5 C´ B 5 ) ii. Programmieren Sie den Rhythmus (Stick ab 1:28 min) Robotik 5. Bezug zu Leipzig, z.B.

– Typeset by FoilTEX – 126 – Typeset by FoilTEX – 127 – J. S. Bach, H. Riemann, zu markieren, pro Person ca. 5 Seiten. – Lipsi https: Bewertet werden //de.wikipedia.org/wiki/Lipsi_(Tanz), ‚ – Musikautomaten https://mfm.uni-leipzig.de/ 1. Plan: was soll stattfinden, wie soll es wirken? dt/dasmuseum/Publik_6onlinepub.php 2. Inhalt: Bezug zu Themen, Methoden, Werkzeugen aus 6.n utzliche¨ Software, z.B. autotool-Aufgaben zur der Vorlesung, ggf. durch eigene Recherchen erganzt¨ Musiktheorie 3. Form: wissenschaftliches Schreiben, vgl. Simon Peyton Projekt besteht aus Bericht und Vorfuhrung.¨ Je 2 bis 3 Jones: https://www.microsoft.com/en-us/ ‚ Personen sollen zusammenarbeiten. Bis KW 50 research/academic-program/ Gruppen/Themen nennen, bis KW 51 Abstract und write-great-research-paper/ Gliederung vorlegen. Zu Vorlesungsende abzugeben 4. Technik/Vorfuhrung:¨ stimmt mit Beschreibung uberein,¨ sind Bericht (PDF) sowie Arbeitsversionen der Quelltexte wurde geubt,¨ ohne Verzogerungen¨ prasentiert,¨ und Audiodateien. Konnen¨ bis Vorfuhrung¨ noch Prasentation¨ ist nachvollziehbar (Quelltexte, Befehle, uberarbeitet¨ werden. Im Bericht sind individuelle Beitrage¨ Eingaben/Ausgaben sind live sichtbar)

– Typeset by FoilTEX – 128 – Typeset by FoilTEX – 129

Vorfuhrung¨ zu geeigneter Zeit an geeignetem Ort ‚ Mathematische Musiktheorie (Beschallungs- und Video-Technik, Getranke,¨ Gaste).¨ Vorschlage?¨ Inhalt und Methoden (aus Journal of Mathematics and Music: Aims and Scope) The use of mathematical modelling and computation in ‚ music theory, mathematical approaches to musical structures and ‚ processes, including mathematical investigations into music-theoretic or compositional issues as well as mathematically motivated analyses of musical works or performances. In consideration of the deep unsolved ontological and ‚ epistemological questions concerning knowledge about music, . . .

– Typeset by FoilTEX – 130 – Typeset by FoilTEX – 131

Uberblick:¨ Wer macht was? Fortgesetze Teilung der Oktave (meine Notizen zu Gastvortrag von Herrn Dr. Noll) Fachverbande,¨ Konferenzen, Zeitschriften ‚ – 2 x0y0 mit x0 3 2 (Quinte), y0 2 x0 4 3 (Quarte) – Society for Mathematics and Computation in Music ‚ “ x0 y0“ { “ { “ { Tone:¨ c g c1 http://www.smcm-net.info/ ´Ñ ´Ñ – x0 y0x1, mit x1 x0 y0 3 2 3 4 9 8 (Sekunde) – Journal of Mathematics and Music ÞÑ y0 x1 “ y0{ “ { ¨ { “ { Tone:¨ c f g c1 https://www.tandfonline.com/JMM/ ´Ñ ´Ñ ´Ñ 5 3 – y0 x1y1, mit y1 y0 x1 2 3 (kleine Terz) – Intl. Congress on Music and Mathematics ÞÑ x1 y1 “ x1{ “x1 { y1 Tone:¨ c d f g a c1 (Pentatonik) Forscher ´Ñ ´Ñ ´Ñ ´Ñ8 ´Ñ5 ‚ – y1 x1y2, mit y2 y1 x1 2 3 (Halbton) xÞÑ1 x1 y2 “ x1 { x“1 {x1 y2 – David Clampitt, Ohio State Univ., c d e f g a b c1 (Diatonik) ´Ñ ´Ñ ´Ñ ´Ñ ´Ñ 7´Ñ11 ´Ñ https://music.osu.edu/people/clampitt.4 – x1 y2x2, mit y2 x1 y2 3 2 (Halbton) yÞÑ x y “ x { “y { – Guerino Mazzola, Univ. of Minnesota, http: c 2 c 2 d 1 d 2 e 2 f . . . (Chromatik) ´Ñ 7 ´Ñ ´Ñ 7 ´Ñ ´Ñ //www.encyclospace.org/CV/mazzola.html Anwendung: das Intervall c, f sieht immer genauso aus ‚ r s – Thomas Noll, Esc. Sup. de Musica, Barcelona wie g, c1 , d.h., Melodien konnen¨ verschoben werden r s – Typeset by FoilTEX – 132 – Typeset by FoilTEX – 133

Die Stern-Brocot-Darstellung Stern-Brocot-Baum, als Zahlensystem vgl. Kapitel 4.5 in Graham, Knuth, Patashnik: Concrete Baumstruktur: fur¨ jeden Knoten y p q, ‚ ‚ “ { Mathematics, Addison Wesley 1994 seien x z die Knoten, aus denen y entstanden ist: ă Moritz Stern, Achille Brocot: beginne mit 0 1 1 0 , Med x, z y. ‚ { ă { p“ `8q p q “ zw. benachbarte p q p1 q1 , Dann Left y : Med x, y , Right y : Med y, z . p { q ă p { q p q “ p q p q “ p q fuge¨ Med p q, p1, q1 : p p1 q q1 ein. Bsp: y 3 5. Dann x 1 2, z 2 3 (eindeutig!) p { q “ p ` q{p ` q ‚ “ { “ { “ { 1. Schicht: 0 1, 1 1, 1 0, 2. Schicht: 0 1, 1 2, 1 1, 2 1, 1 0, Left y 4 7, Right y 5 8 ‚ { { { { { { { { p q “ { p q “ { 3. Schicht: 0 1, 1 3, 1 2, 2 3, 1 1, 3 2, 2 1, 3 1, 1 0. Satz: jedes q Q 0 kommt genau einmal vor. { { { { { { { { { ‚ P ą Satz (U):¨ es gilt immer gcd p p1, q q1 1 Adresse von q als Wort uber¨ L, R ˚, von 1 1 aus. ‚ p ` ` q “ ‚ t u { Satz (U):¨ wenn p q p1 q1 benachbart, dann p1q pq1 1. Bsp: 3 5 LRL, 4 7 LRLL, 5 8 LRLR. ‚ { ă { ´ “ { “ { “ { “ U:¨ wo steht 7/5 (welche Schicht, welcher Pfad)? Adressen irrationaler Zahlen in L, R ω ‚ ‚ t u

– Typeset by FoilTEX – 134 – Typeset by FoilTEX – 135 Stern-Brocot und Euklid Stern-Brocot-Darstellung der Quinte 1 1 1 0 x log 3 2 0.585 (Logarithmus der Quinte) Bedeutung eines L, R-Pfades: L ,R ‚ “ 2p { q « ‚ “ ˜0 1¸ “ ˜1 1¸ Pfad in die Nahe¨ von x ist LRLL . . . 2 5 ‚ Bsp: 4 7 LRLL . – f x, 1 Lf x, 1 x L 0.585, 0.415 ‚ { “ “ ˜1 3¸ p q “ p ´ q « p q – f x, 1 x Rf 2x 1, 1 x X 0.170, 0.415 Zeilensummen (gespiegelt) sind 4, 7, p ´ q “ p ´ ´ q « p q – f 2x 1, 1 x Lf 2x 1, 2 3x L 0.170, 0.245 p ´ ´ q “ p ´ ´ q « p q Spalten sind 1 2, 3 5 (die Vorganger¨ von 4 7) – f 2x 1, 2 3x Lf 2x 1, 3 5x L 0.170, 0.075 { { { p ´ ´ q “ p ´ ´ q « p q zu teilerfremden p q 0 den L, R -Pfad bestimmen: log ‚ { ą t u Die Reste sind jeweils 2 von: 0.415 Quarte, 0.170 Sekunde, 0.245 Terz, 0.075 Halbton f p, q : if p q then  p q “ “ else if p q then L f p, q p else R f p q, q ă ¨ p ´ q ¨ p ´ q f 4, 7 Lf 4, 3 LRf 1, 3 LRLf 1, 2 LRLLf 1, 1 p q “ p q “ p q “ p q “ p q

– Typeset by FoilTEX – 136 – Typeset by FoilTEX – 137

Zur ¨uck zur Darstellung der Modi Ubung¨ Matrizen L, R waren Abb. von 2 2, ‚ N Ñ N 1. drei Aufgaben von Folie Die Stern-Brocot-Darstellung 2 2 jetzt auffassen als Abb. von Σ˚ Σ˚ fur¨ Σ x, y . 2. wie lautet der Stern-Brocot-Code von e (Basis der Ñ “ t u 1 1 naturlichen¨ Logarithmen)? L als x, y x, xy , ‚ “ ˜0 1¸ p q ÞÑ p q Bestimmen Sie die ersten Stellen (wieviele Stellen 1 0 konnen¨ Sie durch Rechnung mit double sicher R als x, y xy, y . “ ˜1 1¸ p q ÞÑ p q bestimmen?), vermuten Sie eine Regel. ω Dann w x, w y L wL x, wL y 3. welche (irrationale) Zahl hat den Code LR ? p| | | | q ¨ “ p| | | | q p q Bsp: w yxy, wL xyxxy. 2, 1 L 2, 3 . Bestimmen Sie die ersten Naherungsbr¨ uche.¨ “ “ p q “ p q TODO: vergleiche mit “Fortgesetzte Teilung der Oktave”, Geben Sie den numerischen Wert in Inverse Symbolic ‚ es sollten genau diese x, y -Folgen entstehen. Calculator (Integer Relations Algorithms) ein. t u Beweisen Sie die dort ausgegebene Behauptung.

– Typeset by FoilTEX – 138 – Typeset by FoilTEX – 139

4. Die Aufgabe zur Jahreszeit (mit Schneeballen):¨ Samples, Breaks auf der Zahlengeraden wird in jeder rationalen Zahl ¨ x p q ein Kreis mit Radius 1 2q2 tangential aufgesetzt. Uberblick “ { {p q Def: Sample Amplitudenverlauf eines Audio-Signals Beweisen Sie: diese Kreise uberschneiden¨ sich nie. ‚ “ Anwendung 1: Optimierung der Synthese Welche Kreise beruhren¨ sich? (Beziehung zum ‚ – Klange¨ im Voraus synthetisieren, abspeichern, Stern-Brocot-Baum formulieren und beweisen.) – wenn Software-Simulation des physikalischen Systems Zeichnung: siehe nicht in Echtzeit moglich¨ ist https://gitlab.imn.htwk-leipzig.de/ – Bsp: Synclavier (1977, 32 MB Speicher) http: waldmann/cm-ws18/blob/master/kw50/F.hs //www.vintagesynth.com/misc/synclav.php Anwendung 2: musikalische Aussage ‚ Audio-Signal wird aus erkennbarer Quelle zitiert: – einzelner Klang (eines bestimmten Instrumentes) – zusammenhangende¨ Klange¨ (Teil eines Musikstuckes)¨

– Typeset by FoilTEX – 140 – Typeset by FoilTEX – 141

Samples in Tidal-Cycles Amen Brother Sample als Audio-Datei (wav), wird bei Start von The Winstons: Amen Brother, 1969. ‚ ‚ Supercollider geladen, siehe auch https: (Schlagzeug: Gregory Sylvester Coleman) //tidalcycles.org/index.php/Custom_Samples 4 d1 $ s "breaks152" spielt das Sample ab 4 ‚ – in Original-Lange¨ l und -Tempo – beginnend zu jeder (!) Tidal-Periode p d.h. auch selbst-uberlappend,¨ falls l p ą . . . most sampled track in the history of music (Quelle?) stack [ fast 4 $ s "hc" ‚ ‚ , s "breaks152" # begin 0 # end 0.3 # speed 0.9 ] 198* Hip Hop (Horbeispiele)¨ begin und end sind relativ zu l, speed ist relativ zu p 199* Breakbeat (Drum and Bass) (U¨ Breakbeat Science)

– Typeset by FoilTEX – 142 – Typeset by FoilTEX – 143 Ubung¨ Entwickeln Sie eine Theorie fur¨ den zweidimensionalen Fall, vgl. https://gitlab.imn.htwk-leipzig.de/ 1. Arbeiten mit (eigenen) Samples in Tidal, vgl. autotool/all0/issues/562 https://we.lurk.org/hyperkitty/list/tidal@ we.lurk.org/thread/ W27AKWANOWAROPE5FX5M2IPYMRXFHQFZ/ experimentieren Sie mit breaks165, bev (wie angegeben), led (schwierig) 2. Nick Collins: Algorithmic Composition Methods for Breakbeat Science, 2001 https://composerprogrammer. com/research/acmethodsforbbsci.pdf 3. autotool-Aufgaben zu Euklidischen Rhythmen (gleichmaßige¨ Verteilung von Ereignissen/Zahlen in einem Raster).

– Typeset by FoilTEX – 144 – Typeset by FoilTEX – 145

(Die Schule des) Rock School of Rock (2003) Film, Regie: Richard Linklater, Darsteller: Jack Black, Einleitung ‚ 15:09–18 are you gonna teach us anything (abendlandische)¨ Musik im Laufe der Jahrhunderte: ‚ ‚ 31:20–33 first thing you do when you start a band Monophonie Homophonie Polyphonie Ñ Ñ Ñ 47:04 das Tafelbild, siehe auch https: Kontrapunkt Kadenzen ... ‚ Ñ Ñ //movies.stackexchange.com/questions/9353/ Unterschiede . . . ‚ who-wrote-the-school-of-rock-blackboard sachlich begrundet¨ (Skalentheorie, Musikinstrumente), dort als Vorlage zitiert: Reebee Garofalo: marketing ‚ gesellschaftlich (kirchliche/hofische/b¨ urgerliche¨ Kultur) trends and stylistic patterns in pop/rock music https: //www.historyshots.com/products/rockmusic welche Entwicklungen gibt es in der Popularmusik?¨ ‚ Welche Grunde¨ haben diese? aus Edward Tufte: Visual Explanations: Images and Quantities, Evidence and Narrative, 1997

– Typeset by FoilTEX – 146 – Typeset by FoilTEX – 147

Bemerkungen zur Schullandkarte des Rock Reggae beachte: Zappa, Can, Beefheart: Fragezeichen Ska (195*), Rocksteady, Reggae (196*) ‚ ‚ die Musikstilbezeichnungen sind Erfindungen von in der Karibik, insb. Jamaica (bis 1962 britische Kolonie) ‚ Marketing-Abteilungen von Plattenfirmen Melodien und Texte des Blues, Walking Bass, trotzdem gibt es dort sowohl große Kunstler¨ ‚ Offbeat-betont (4/4-Takt, aber auf 1 ist Ruhe) (Bsp: im Soul: Isaac Hayes, Temptations) Beispiele Bands: Upsetters, Congos. . . . als auch lustige Retortenbands (Glam-Rock : Sweet) Trennung Vokalisten/Band (Instrumentalisten), modular ‚ es fehlen: elektronische Musik (Kraftwerk) ‚ Produktion von Stucken¨ ohne Gesang (Dub-Version), mglw. außerhalb des vorgegebenen Themas Rock angereichert durch Sound-Effekte es fehlen jedoch wirklich, und das ist schade ‚ Beispiele Produzenten: King Tubby, Lee Perry Ska, Reggae (vorwiegend Jamaica) England: 2-Tone Ska (Bsp: Specials, Madness) als Einfluß auf Punk, New Wave (England) ‚ñ Punk (Clash, Ruts, Stranglers), New Wave (Police)

– Typeset by FoilTEX – 148 – Typeset by FoilTEX – 149

Okonomie¨ der Rockmusik Von der Rockmusik abhangige¨ Markte¨ das klassische Modell: Plattenfirma investiert in Kunstler¨ Hersteller und Handler¨ (Instrumente, Verstarker)¨ ‚ ‚ (Vorschusse,¨ Marketing) und lebt vom Verkauf von Dienstleister (Musiklehrer, Club-Betreiber) ‚ Tontragern.¨ Die Kunster¨ verdienen dabei wenig. (alternative Finanzierungsquelle) staatliche ‚ das ist spatestens¨ seit 2000 vorbei, weil kaum noch Kulturforderung¨ (Musikhochschulen, Konzerthauser,¨ ‚ Tontrager¨ verkauft werden. Bands leben von Konzerten. Beauftragung von Werken/Installationen) Steve Albini: https://thebaffler.com/salvos/ Musikzeitschriften, Bsp: nach 38 Jahren und 384 ‚ ‚ the-problem-with-music, 1993. Ausgaben wird die Druck-Ausgabe von SPEX eingestellt. Courtney Love: About piracy and music , 2000. gegrundet¨ in Koln,¨ benannt nach der Band X-Ray Spex ‚ https://www.salon.com/2000/06/14/love_7/ – F. Spilker: da wurde jede Kleinigkeit erst genommen. Amy X. Wang – . . . die Zuge,¨ auf die sie gesprungen sind, immer als ‚ https://www.rollingstone.com/music/music-features/ Rebellion verkauft how-musicians-make-money-or-dont-at-all-in-2018-706745/– Thomas Meinecke: Ich wollte da vorkommen!

– Typeset by FoilTEX – 150 – Typeset by FoilTEX – 151 Ubung¨ Automatische Musik-Analyse 1. einen Reggae programmieren (eine Blues-Kadenz, aber Motivation, Uberblick¨ off-beat betonen) – Synthese: Modell Klang, Musikstuck¨ ‚ ñ 2. einen Rocksong programmieren (gleiche Kadenz, aber – Analyse: Modell Klang, Musikstuck¨ ð den Sound von ubersteuerten¨ Gitarren) Aspekte: ‚ 3. zum zitierten Artikel Steve Albini (1993) – Spektrum eines Klangs vergleiche mit https: – Tempo, Akkordfolge, Struktur eines Musikstucks¨ Anwendungen: //www.theguardian.com/music/2014/nov/17/ ‚ steve-albinis-keynote-address-at-face-the-music-in-full– Wiedererkennen eines Musikstucks¨ (2014) – Zuordnung zu Epoche, Stil, Komponist – Vorschlagen (bekannter) ahnlicher¨ Stucke¨ Beachten Sie dort auch den letzten Absatz. – Synthese (neuer) ahnlicher¨ Klange,¨ Stucke¨ – Audio-Kompression

– Typeset by FoilTEX – 152 – Typeset by FoilTEX – 153

Werkzeuge zur Audio-Analyse (Bsp.) ..:qm-tempotracker:tempo The Vamp audio analysis plugin system Matthias Mauch: Chordino und NNLS Chroma ‚ ‚ https://www.vamp-plugins.org/ http://www.isophonics.net/nnls-chroma vamp:nnls-chroma:chordino:simplechord sonic-annotator -d vamp:vamp-example-plugins:fixedtempo:tempo foo.wav -w csv --csv-stdout

(auch fur¨ sonic-visualiser, audacity) Centre for Digital Music, Queen Mary Univ. London: QM ‚ Vamp Plugins https://vamp-plugins.org/ plugin-doc/qm-vamp-plugins.html vamp:qm-vamp-plugins:qm-barbeattracker, ..:qm-segmenter:segmentation,

– Typeset by FoilTEX – 154 – Typeset by FoilTEX – 155

Spektral-Analyse (DFT) Anwendung zur Audio-Analyse grundsatzlich¨ (Wdhlg): Darstellung einer periodischen Signal in Blocke¨ zerlegen ‚ ‚ Funktion f : 0, 1 C als k N ck t exp 2πikt r s Ñ P p ÞÑ p qq (z.B. Samplerate 44.1 kHz, jeder Block 512 Samples, Anpassung fur¨ zeitdiskreteř Signale (d.h., Vektoren) Blocklange¨ ist dann 12 ms, Blockfrequenz 86 Hz) ‚ x : 0, 1 . . . n 1 C DFT fur¨ jeden Block einzeln, ergibt Funktion r ´ s Ñ ‚ Darstellung (Dekodierung) Block-Index Frequenz-Index Koeffizient (in ) n 1 ˆ Ñ C xt 1 ?n k´0 ck exp 2πikt n “ p { q “ p { q (Spektrogramme in sonic-visualiser) x M c mitř Matrix Mt,k 1 ?n exp 2πikt n “ ¨ “ p { q p { q Implementierung: M c (Matrix mal Vektor) schneller 1 Koeffizientenvektor bestimmen aus M ´ x c ‚ ¨ ‚ “ ausrechnen unter Ausnutzung der Struktur von M 1 Satz: M ´ 1 ?n exp 2πikt n t,k “ p { q p´ { q (fast Fourier transf., Cooley und Tukey 1965, Gauß 1805) 1 Bew: M ´ M p,r 1 n exp 2πipq n exp 2πiqr n p ¨ q “ p { q q p´ { q p { q https://gitlab.imn.htwk-leipzig.de/ n 1 Kodierung: ck 1 n l ´0řxl exp 2πikl n waldmann/cm-ws18/tree/master/dft ‚ “ p { q “ p´ { q ř – Typeset by FoilTEX – 156 – Typeset by FoilTEX – 157

Audio Fingerprinting Verlustbehaftete Audio-Kompression Avery Wang: An Industrial Strength Audio Seach Original ist Funktion , i.A. keine endliche ‚ ‚ R Ñ R Algorithm, ISMIR 2003, http://www.ee.columbia. Reprasentation¨ moglich,¨ wird nur erreicht durch: edu/ dpwe/papers/Wang03-shazam.pdf ˜ – Zeit-Raster durch Abtastung (Sampling) (z.B. 44.1 kHz) Musikstuck¨ Spektrogramm Fingerabdruck (FP) ‚ Ñ Ñ – Wert-Raster durch Zahlendarstellung (z.B. 16 Bit) Vergleich des FP eines unbekannten Musikstucks¨ ‚ Platzgewinn durch geringere Samplefreq., ger. Bitbreite. mit (vielen) bekannten FP aus Datenbank ‚ bei vorgegebenem Platz: hohere¨ Qualitat¨ ist moglich¨ gewunschte¨ FP-Eigenschaften: temporally localized, ‚ ‚ translation invariant, robust, sufficiently entropic durch Ausnutzung physiologischer Eigenschaften Implementierung: Spektrogramm-Spitzen, Ankerpunkte, MP3, AAC, Opus, . . . : Fourier-Transf. Darstellung der ‚ ‚ Ñ FP ist Menge der Differenz-Vektoren zu nahen Punkten. Koeffz. mit zeit- und frequenz-abhangiger¨ Bitbreite schnelle Erkennung von Diagonalen im Diagramm Europ. Broadcasting Union: AC-3, https://www.etsi. ‚ (Scatterplot) der Diff.-V. in Anfrage/in Datenbankeintrag org/deliver/etsi_ts/102300_102399/102366/

– Typeset by FoilTEX – 158 – Typeset by FoilTEX – 159 Parameterbestimmung f ¨urMarkov-Modelle Parameterbest. durch Gradientenabstieg n Wdhlg: Markov-Prozeß A mit Zustanden¨ Q 1, . . . , n geg.: (differenzierbare) Zielfunktion f : R R 0 ‚ “ t u ‚ Ñ ě ges.: ein x Rn mit f x minimal – gegeben durch Initialvektor IA : Q 0, 1 P p q Ñ r s 2 Anwendung: IA,TA g wi fA wi – und stochastische Transitionsmatrix TA : Q Q 0, 1 . i ˆ Ñ r s ‚ p q ÞÑ p p q ´ p qq falls min. Wert 0, dann lřost¨ A die Aufgabe (vorige Folie) definiert Funktion f : Q˚ 0, 1 Ñ r s Verfahren: bestimme Gradient f f xi i suchen Verfahren zur Losung¨ der Aufgabe: ‚ ∇ “ pB {B q ‚ (durch automatische Differentiation, – gegeben: Wertepaare g w1, y1 ,... https://www.imn.htwk-leipzig.de/˜waldmann/edu/ “ tp q u – gesucht: A IA,TA mit g w fA w . ss18/ki/folien/#(202) ) “ p q p q « p q verandere¨ Kandidaten x um c f. Variante: gegeben: Mengen P,N Q˚, ´ ¨ ∇ ‚ P das wird derzeit gern tiefes Lernen oder gar KI genannt. ‚ gesucht: A mit w P : fA w 0, w N : fA w 0. @ P p q " @ P p q « fur¨ diese Anw.: IA und Zeilen von TA stochastisch: ‚ 2 2 Bsp: P : Takte aus Melodien von Bach, N: . . . Beatles. Ansatz J beliebig, Ip J J ,... “ p {p q q q ř – Typeset by FoilTEX – 160 – Typeset by FoilTEX – 161

Versteckte Markov-Modelle Bestimmung harmonischer Strukturen stochastischer Automat A I,T mit Zustanden¨ Q Jose´ Pedro Magalhaes,˜ W. Bas de Haas: Functional ‚ “ p q ‚ mit stoch. Ausgabe-Matrix O : Q Σ 0, 1 Modelling of Musical Harmony, ICFP 2011 ˆ Ñ r s https://github.com/haas/harmtrace definiert Funktion (Wsk.) h :Σ˚ 0, 1 ‚ Ñ r s Given a sequence of chord labels, the harmonic function ” h w q ...q Q w fA q1 . . . qk O q1, w1 ...O qk, wk p q “ 1 kP | | p q ¨ p q p q of a chord in its tonal context is automatically derived.“ – Q : Lauteř einer naturlichen¨ Sprache Spektral-Analyse chord labels, diese jedoch ‚ ‚ Ñ – A : Haufigkeit¨ von Laut-Folgen in Menge von Wortern¨ fehlerbehaftet. Wie reparieren? – Σ: Merkmals-Vektoren von Spektrogramm-Abschnitten benutze Baumstruktur, beschrieben durch Grammatik h: Realisierung von Lauten ‚ – und fehlerkorrigierenden Parser (Swierstra 2009) Aufgaben (allgemein): https://hackage.haskell.org/package/ ‚ uu-parsinglib – geg: A, O, w Σ˚, ges.: der großte¨ Summand in q1...qk P harmtrace parse -g pop -c "C:maj C:maj F:maj G:maj C:maj" – geg: Wertepaare aus h, ges.:A, O ř ‚

– Typeset by FoilTEX – 162 – Typeset by FoilTEX – 163

Ubung¨ unterschiedlich eingestellt werden kann. Extremfall: Koeffz. ab einer gewissen Grenzfrequenz Diskutieren Sie das Geschaftsmodell¨ (wer bezahlt womit ‚ (d.h., ab einem gewissen Index, z.B. halbe Fensterbreite) wofur?)¨ von kommerziellen Musikerkennungsdiensten. durch 0 ersetzen. Siehe Abschnitt 1 des zitierten Artikels von Wang (2003). Ton- und Akkord-Analyse: Was steht im 1. Absatz von Abschnitt 3.3? ‚ ausprobieren, Ausgabe von chordino als Eingabe fur¨ Diskrete Fourier-Transformation: ‚ Sequencer verwenden https://gitlab.imn.htwk-leipzig.de/ siehe https://gitlab.imn.htwk-leipzig.de/ waldmann/cm-ws18/tree/master/dft waldmann/cm-ws18/blob/master/README.md# Uberpr¨ ufen¨ Sie experimentell und beweisen Sie: vamp-plugins-sonic-visualiser-sonic-annotator 1 M M ´ Einheitsmatrix Beispielprogramm zur Bestimmung eines Markov-Modells ¨ “ ‚ Andern¨ Sie cm-ws18/dft/Main, so daß das Rastermaß fur¨ https://gitlab.imn.htwk-leipzig.de/ Koeffizienten geringer und hoher Frequenzen waldmann/cm-ws18/tree/master/learn-markov

– Typeset by FoilTEX – 164 – Typeset by FoilTEX – 165

– Typeset by FoilTEX – 166 – Typeset by FoilTEX – 167 Audio-Routing und -Bearbeitung JACK (Audio Connection Kit) Autoren: Paul Davis et al., Motivation, Uberblick¨ ‚ http://jackaudio.org/ allgemein: Betriebssystem ist Schnittstelle zwischen ‚ Software (Anwendungsprogrammen) und Hardware zur Verbindung von Echtzeit-Audio- und MIDI-Anwendungen untereinander und mit Hardware speziell hier: zwischen ‚ Prinzip: jede Anwendung registriert einen Callback (eine – Audio-Software (Synthese, Filter, Recorder) ‚ Prozedur) beim Jack-Serverprozess, – Audio-Hardware (Soundkarte) diese Prozedur realisiert die Verarbeitung eines Beispiel: Linux JACK (Audio Connection Kit): ‚ Sample-Fensters (z.B. 1024 Samples bei 48 KHz) – Prinzipien (routing, “real time” audio plugins) der Server ruft Callbacks rechtzeitig auf, mit passenden – systemnahe Anwendungen, Beispiele: SooperLooper Sample-Arrays (fur¨ die deklarierten Ein- und ˚ Ardour DAW (digital audio workstation) Ausgabe-Ports) ˚

– Typeset by FoilTEX – 168 – Typeset by FoilTEX – 169

Beispiel-Anwendungen mit JACK Audio-Plugins https://gitlab.imn.htwk-leipzig.de/ Beispiel: der LV2-Standard http://lv2plug.in/ ‚ waldmann/cm-ws18/tree/master/jack ‚ Plugin besteht aus main = do ‚ withPort client "input" $ \input -> – Code zur Audio-Verarbeitung (vgl. Jack-Client) withPort client "output" $ \output -> – Metadaten fur¨ withProcess client (process client input output) ... Schnittstellenbeschreibung (Mono, Stereo,. . . ) process client input output nframes = do ˚ Steuerungsmoglichkeiten¨ (Parameter, Bereiche, inArr <- JA.getBufferArray input nframes ˚ Defaults) automatische Konstruktion einer GUI outArr <- JA.getBufferArray output nframes ; ... Ñ einfaches Beispiel: http://lv2plug.in/git/cgit. benutzt ‚ ‚ cgi/lv2.git/tree/plugins/eg-amp.lv2 https://hackage.haskell.org/package/jack vgl. https://github.com/calf-studio-gear/ vgl. https: ‚ ‚ //github.com/jackaudio/example-clients calf/blob/master/src/modules_delay.cpp

– Typeset by FoilTEX – 170 – Typeset by FoilTEX – 171

Digital Audio Workstations Ardour http://ardour.org/ Aufgaben: – Recording (beliebig viele Kanale),¨ ‚ ‚ – Aufnahme (mehrere Spuren, sowohl gleichzeitig als – Editing (non-destructive, non-linear editing with auch nacheinander) unlimited undo/redo, even across editing sessions) – Bearbeitung je Spur (Effekte; aber auch Zerschneiden – Mixing (Routing, Monitoring), Plugins (LV2), Exporting und Umordnen) Autoren: Paul Davis (Interview: ‚ – Mischung (von vielen auf 2 Spuren), Export https://www.admiralbumblebee.com/music/2018/02/20/ eine einfache DAW (nur Aufnahme und Abspielen, live) Interview-with-Paul-Davis-of-Ardour-about-Ardour-6-and-more. ‚ http://essej.net/sooperlooper/ html ), Robin Gareus (https://gareus.org/), et al. Lehrmaterialien von Paul Davis 2008 (Folie daw9, S. 14ff) Horbeispiel¨ (Video) von Konrad Kuchenmeister¨ (2007) ‚ ‚ http://tu.linuxaudiosystems.com/dawd U:¨ Vergleiche GUI-Konzepte der gezeigten Soft- und Hardware. — eine typische Loop-Station: https: https://www.ak.tu-berlin.de/menue/edgard_ //za.boss.info/support/by_product/rc-505/ varese_guest_professorship/

– Typeset by FoilTEX – 172 – Typeset by FoilTEX – 173

Magnetband-Musik Ubungen¨ vor dem Zeitalter der DAW: Magnettonbander¨ ‚ 1. Bedienung (GUI-Design) von Loop-Stations (vgl. zerschneiden, verkleben, umkopieren! SooperLooper, Boss RC 505, Boss RC 300) Karlheinz Stockhausen: Hymnen 1966 https: ‚ 2. jack-example-client: implementiere Echo, Hall, Phaser, //web.archive.org/web/20080516211332/http: Kompressor, . . . //www.stockhausen.org/hymnen_intro.html (1938–2017) studierte bei Stockhausen, ‚ dann Bassist bei Can (1968–1979), dann Solo-Werke, u.a. Der Osten ist rot 1984. Beatles: I am the Walrus (1967) (enthalt¨ Audio-Zitate ‚ einer Rundfunksendung) (U:¨ Akkordfolge? mit Chordino analysieren) Revolution #9 (1968), White Album, Tonbandcollage

– Typeset by FoilTEX – 174 – Typeset by FoilTEX – 175 Algorithmische Mechanik Notensatz Quellen, Verweise Ubersicht¨ Gastvortrag Olli Holland https://l-l-l-l.com/ schriftliche Fixierung von Musik zum Zweck der ‚ ‚ physisch-digitale Ruckkopplung:¨ Archivierung und spateren¨ Auffuhrung¨ – eine Spur des Sequencers steuert einen mechanischen zweidimensionale Notation: ‚ Aktor (Trommelstock) – fur¨ jede einzelne Stimme (Notensystem) – von Mikrofon aufgenommene Signale steuern den Ordinate (nach oben) (Notenlinie): Tonhohe¨ ˚ Sequencer Abszisse (nach rechts): Zeit ˚ Moritz Simon Geist: die mechanische TR-808 Zeit auch durch Form der Noten (Kopfe,¨ Halse)¨ ‚ http://sonicrobots.com/Project/ – fur¨ mehrere Stimmen: mr-808-interactive/ Notensysteme ubereinander¨ bedeutet Gleichzeitigkeit ˚ Festival of Algorithmic and Mechanic Movement Notensatz mit Computer: ‚ ‚ (Sheffield) http://algomech.com/2019/ grafisch (WYSIWIG) oder programmatisch (algebraisch)

– Typeset by FoilTEX – 176 – Typeset by FoilTEX – 177

Notensatz mit Lilypond Sematik von Lilypond (lokal) kompiliert algebraische Musik-Beschreibung \version "2.18.2" \header { } \score { ‚ ‚ (Programmtext) zu grafischer Darstellung (PDF) \relative c’ { c4 d e f | g a b c } sowie zu MIDI-Datenstrom \layout { } \midi { } Warum? http://lilypond.org/essay.html } ‚ Wie? http://lilypond.org/doc/v2.19/ lokale Struktur (Folge von Noten einer Stimme) ‚ ‚ Documentation/contributor-big-page.html# – Einzelnote (Bsp: c’’4): Name, Oktave, Zeit overview-of-lilypond-architecture – fall Zeit nicht angegeben, dann vorigen Wert benutzen – Implementierung in C++ bei Taktstrich: Zeit muß Vielfaches des Taktes sein – Anwender-definierte Erweiterungen in LISP (Scheme) – relative Notation: immer die nachstliegende¨ Oktave – Backend benutzt Metafont https://web.archive. damit muß man fur¨ Melodien wesentlich weniger org/web/20110927042453/http://www.tex.ac. schreiben als bei Haskore (u.a.)¨ uk/ctan/systems/knuth/dist/mf/mf.web globale Struktur . . . nachste¨ Folie ‚

– Typeset by FoilTEX – 178 – Typeset by FoilTEX – 179

Semantik von Lilypond (global) Semantik von Lilypond: Unterprogramme Zusammensetzung von Teil-Partituren: Namen zur Bezeichnung von Teilpartituren ‚ ‚ – sequentiell: hintereinander foo = \relative c’ { c4 d e f | g a b c } – parallel: Operator << ... >> \score { << \new Staff { \foo } \relative c’ {c4 d e <> | <> a b c} \new Staff { \transpose c e \foo } Notensysteme (fur¨ mehrstimmigen Satz) >> } ‚ << \new Staff{\relative c’ { c4 d e f | g a b c }} vergleichbar zu Unterprogrammen, aber ‚ \new Staff {\relative c’’{ g a g f | e d d c }} – Unterprogramme haben keine Argumente >> – Unterprogramme sind global (außerhalb \score{..}) Wiederholungen: – es gibt keine Bedingungen und Verzweigungen ‚ – notiert (Wiederholungszeichen in Partitur): Das ist ein riesengroßer Ruckschritt¨ im Vergleich zu repeat volta 2 {c1} Haskore u.a.¨ – expandiert: repeat unfold 2 {c1} Work-around: man kann LISP-Code schreiben ‚ – Typeset by FoilTEX – 180 – Typeset by FoilTEX – 181

Semantik von Lilypond (Kontexte) Anwendung von Kontexten \new Staff, \new Voice, . . . legt Kontexte an, Text (Silben) unter Melodie (Noten) ‚ ‚ zu jedem Kontext gehoren¨ mehrere engraver, << \new Staff { \new Voice = "foo" {} } ‚ ‚ diese verarbeiten musical expression zu grafischen \new Lyrics = "here" Elementen: Clef_engraver, Key_engraver, \context Voice = "foo" Note_heads_engraver,... \relative c’ { g a b c } \context Lyrics = "here" { benannter Kontext kann von außen“ benutzt werden ‚ ” \lyricsto "foo" { fas- ci- na- ting } << \new Staff { \new Voice = "foo" {} } } >> \new Staff { \new Voice \relative c’ {c4 d e f} } spezifiziert wird: \context Voice = "foo" \relative c’{ g a b c } ‚ >> – wo der Text erscheint: \new Lyrics – nach welcher Stimme er ausgerichtet wird: \lyricsto Anwendung: Text (Silben) unter Melodie (Noten) ‚

– Typeset by FoilTEX – 182 – Typeset by FoilTEX – 183 Ubung¨ Sprachsynthese, Vocoder, etc. 1. Lilypond-Beispiele Formant-Synthese https://gitlab.imn.htwk-leipzig.de/ Klang der menschlichen Stimme bestimmt durch waldmann/cm-ws18/tree/master/lilypond ‚ 2. einfache Beispiele ausprobieren – Klangerzeugung (Stimmbander)¨ (Quelle) – Klangbeeinflussung (Mundraum) (Filter) lilypond basic.ly Sprach-Kompression durch subtraktive Synthese: evince basic.pdf ‚ timidity basic.midi nur Filterinformation (Formanten) ubertragen,¨ dann Filter auf Rausch-Quelle anwenden 3. Chase the Devil analysieren, modifizieren, erganzen,¨ oder auf andere Quellen, Bsp: Vokalfilter 4. Schlagzeug hinzufugen¨ ‚ \new DrumStaff { \drummode { bd4 bd } } d1 $ s "jvbass" |+| vowel "a [e i] o u"

– Typeset by FoilTEX – 184 – Typeset by FoilTEX – 185

Vocoder Eingange:¨ Modulation f (Sprache), Trager¨ t (Instrument) ‚ f und t durch Bandpasse¨ verschiedener Frequenzen ‚ aufspalten in Signale f1, f2,... bzw. t1, t2,...

Ausgang fi ti ‚ “ i | | ¨ der akustischeř Vocoder: die talk box ‚ Tragersignal¨ durch Schlauch in den Mund, Mikrofon davor Horbeispiele:¨ Daft Punk: Prime Time Of Your Life (2005), ‚ E.L.O.: Sweet Talking Woman (1978), Peter Frampton: Show Me the Way (1975), Kraftwerk: Autobahn (1974), Pete Drake: Satisfied Mind, Invitation to the Blues (1962)

– Typeset by FoilTEX – 186