Einleitung

Definition Computermusik

Definition Musik

Definition Pop(uläre) Musik

Hörbeispiele

Plan unserer Vorlesung (I)

Plan unserer Vorlesung (II)

ab hier Themen und Reihenfolge noch offen

Organisatorisches

Die LV insgesamt

Übungen

GNU/Linux-Audio

Übungs/Haus-Aufgaben

Das sind Beispiele für Tätigkeiten, die in dieser LV (und in allen anderen) immer wieder vorkommen: nicht nur Software bedienen und Knöpfchen drehen, sondern auch:

Analysieren, Rechnen, Recherchieren, historisch einordnen, Programmieren (Synthetisieren).

  1. (bereits in Ü) ausprobieren: Hydrogen (Drum-Sequencer) \(\to\) Rakarrack (Effekt-Prozessor)

    Audio-Routing mit qjackctl

  2. Finden Sie die von Hydrogen benutzte Audio-Datei für TR808 Emulation Kit, Kick Long

    anhören mit vlc,

    konvertieren Sie mit sox in wav-Format, (Hinweis: man sox),

    betrachten Sie Dateiinhalt (Amplituden-Verlauf) mit

    gnuplot -persist -e "plot 'kick.wav' binary format='%int16' using 0:1 with lines"

    Bestimmen Sie mittels dieses Bildes die Grundfrequenz der Schwingung. Welche weitere Information ist dazu nötig, woher bekommen Sie diese?

  3. betrachten Sie Dateiinhalt mit

    od -cx kick.wav | less

    Wo endet der Header (wo steht das erste Datenbyte)?

    Suchen Sie die offizielle WAV-Spezifikation, bestimmen Sie deren bibliografische Daten (Autor/Gremium, Ort, Jahr)

    Erzeugen Sie durch ein selbstgeschriebenes Programm (Sprache beliebig) eine wav-Datei, die einen (kurzen) Sinus-, Dreieck-, oder Rechteckton enthält,

    ansehen mit gnuplot, abspielen mit vlc,

    verwenden Sie das als Sample in Hydrogen.

  4. Wie sah diese Maschine (TR808) aus?

    Welche Band führt diese Maschine im Namen?
    (Hinweis: http://www.vintagesynth.com/)

    Kann Hydrogen alle dort angegebenen Eigenschaften des Originals simulieren?

    beschreiben Sie Struktur und (einige) Elemente von Ritchie Hawtin: Minus Orange 1, Aphex Twin: Flaphead o.ä., simulieren Sie mit Hydrogen und Rakarrack.

Geräusch und Klang

Begriffe

Modell einer periodischen Schwingung

Numerische Näherungslösung der Dgl.

Implementierung der numerischen Sim.

Exakte Lösung der Dgl.

Schwingung einer Saite

Anpassung und Anwendung

Beispiel: Mbira (Daumenklavier)

image

Beispiel: schwingende Metallstäbe

Weitere period. Schwingungen f. Instrumente

Beispiele

Geräusch-Instrumente

Chaotische Schwingungen

Hausaufgaben

  1. Wie wird Musikgeschichte zitiert (im Klang und) im Text von: DJ Hell: Electronic Germany (2009)

    Wer singt auf U Can Dance des gleichen Albums? War früher (viel früher) in welcher Band? Wer hat dort anfangs elektronische Instrumente gespielt? Danach welchen Musikstil erfunden?

    weitere Beispiele für Musikzitate suchen, genau beschreiben, was zitiert wird, wie groß der Abstand ist (zeitlich, inhaltlich) und diskutieren, warum.

  2. harmonischen bzw. gekoppelten Oszillator modifizieren: Schwingungen simulieren, Resultate ansehen,

    • periodische

    • gedämpfte (durch Zusatz-Term in harmonischem)

    • chaotische (durch Nichtlinearität in der Kopplung)

    anhören

    • einzeln

    • als Drumkit in Hydrogen

  3. die Simulation der Saite verändern:

    das Beispiel aus Helmholtz § 39 Fig. 7 realisieren (Zupfen der Saite nicht in der Mitte), Resultat mit Fig. 11 vergleichen

    § 42 realisieren (belastete Saite: ein Punkt hat andere Masse)

  4. kleine Bit-Musikstücke (Beispiel: t << (t>>10)) vollständig analysieren, dann modifizieren.

Klang-Analyse (Grundlagen)

Definition, Motivation

Periodische Funktionen

Beispiel: Rechteck-Schwingung

Nebenrechnungen:

Beispiel: Sägezahn-Schwingung

Spektren von Audiosignalen

Programme zur Spektral-Analyse

Zeit-Dehnung

Spektren von Klängen/Instrumenten

Aufgaben

  1. In Autobahn (Kraftwerk) fährt bei ca. 1:49 ein Auto am Hörer vorbei. Wie schnell?

    (Hinweis: Frequenzen mit sonic-visualier bestimmen, Doppler-Effekt verwenden)

  2. wie unterscheiden sich Spektren der Luftschwingungen in offenen von einseitig geschlossenen Röhren? nach: Alfred Kalähne: Grundzüge der mathematisch-physikalischen Akustik, Leipzig 1913,

  3. Fourier-Koeffizienten einer Rechteck-, Sägezahn-, Dreiecks-Schwingung bestimmen:

    • Skalarprodukte symbolisch oder numerisch bestimmen

    • Wellenform in WAVE-Datei schreiben und Spektrum analysieren (sonic-visualiser)

  4. Bestimmen Sie für das Signal Rechteck \(+\) 2 mal Sägezahn

    • die Wellenform

    • die Fourier-Koeffzienten (unter Verwendung der im Skript angegebenen Koeffz. der einzelnen Signale)

  5. Software zu diskreter (und schneller) Fourier-Transformation: https://git.imn.htwk-leipzig.de/waldmann/computer-mu/-/tree/master/dft?ref_type=heads

    Invertierbarkeit der Transformation ausprobieren.

    Vergleichen Sie Klangeindruck bei Rasterung (geringe Bitbreite) für originale Wellenform mit gleicher Rasterung für Fourier-Koeffizienten.

    Realisieren Sie ähnliches Experiment (schlechte MP3-Kodierung) durch Wahl einer (geringen) Bitbreite für ffmpeg.

  6. bei verschiedenen Musikalienhändlern kann man Audio-Dateien in verschiedenen Formaten kaufen, u.a. flac (verlustfreie Kompression) und ogg (verlustbehaftet). Ist flac immer besser als ogg? Das kommt darauf an, was der Künstler abgeliefert hat. Wenn man Pech hat, war das ein schlechtes mp3 und der Händler hat alles weitere daraus mit ffmpeg ausgerechnet. An Beispielen überprüfen— und hoffentlich widerlegen! Kurz-Ausschnitte von Test-Dateien im Repo. Schon das Kurz-Schneiden ist nicht trivial, es soll wirklich nur schneiden und nicht neu kodieren.

  7. (evtl.) hörbare Audio-Wasserzeichen? Matt Montag, https://www.mattmontag.com/music/universals-audible-watermark, 2013

Elektrische Oszillatoren und Filter

Plan

Elektrische Schaltungen

Schaltung – Beispiel Tiefpaß

Bemerkung zur Methodik

Weitere Filter: Hochpaß, Bandpaß

Weitere Filter: Allpaß

Klangveränderung durch Filter

Klangveränderung durch Filter

Filter in der Musik-Praxis (Fender Amp)

image

Filter in der Musik-Praxis (Wah)

Filter in der Musik-Praxis (Echo)

Chorus, Flanger

Phaser

image   image   image

Nichtlineare Filter (Verzerrer)

Übungsaufgaben

Spannungs-gesteuerte Osz. und Filter

Vorläufer: das Theremin (Lev Termen, 1922)

Spannungsgesteuerte Schaltungen

Spannungsgesteuerte Komponenten

Steuerspannungen aus Benutzeraktionen

Erste Synthesizer in populärer Musik

Baukastensysteme (alt und neu)

Simulation mit grafischer Programmierung

Übungen

Programme für Klänge

Motivation

elektrische Schaltungen zur Klangerzeugung …

Eine eDSL für (Audio-)Signale

Nützliche Eigenschaften der Gastsprache

Operatoren für Signale (Bsp: shift)

csound-expression

CE-Beispiel: Additive Synthese

weitere Csound/CE-Beispiele und -Quellen

Typen für Signale und Filter in Csound

Schnittstellen für Live-Spiel: MIDI

Ring-Modulation

Übungen

Harmonielehre

Motivation, Plan

Klassische Literatur

Die Naturtonreihe

Konsonanz

(Vermeiden von) Schwebungen

Konsonanz

Die Töne nach Pythagoras

Herleitung der Pentatonik

Herleitung der Diatonik

Herleitung der Chromatik

Eigenschaften, weitere Stimmungen

Die diatonische Skala

Akkorde (Dreiklänge)

Akkorde (Vierklänge)

Aufgaben

  1. bestimmen Sie die Frequenzverhältnisse für C-Dur, d-Moll und e-Moll in der C-Dur-Skala bei Stimmung

    • diatonisch

    • rein

    • gleich temperiert

    und vergleiche Sie akustisch (csound-expression)

  2. Konstruktion der chromatischen Töne nach Paul Hindemith (Unterweisung im Tonsatz, 1937):

    1. zu jedem Ton aus der Obertonreihe des Grundtons (c) werden mögliche Grundtöne bestimmt. Bsp: \(5\cdot c = 4\cdot ?\).

      Dabei Multiplikation mit \(1 \dots 6\), Division durch \(1,(2), 3, (4), 5\), mit Identifikation von Oktaven.

      Welche Töne entstehen aus c?

    2. Dieser Vorgang wird für jeden der entstandenen Töne wiederholt.

      Welche neuen Töne enstehen? Sind die Abstände gleichmäßig (oder fehlen noch Töne)? Vergleich mit pythagoreischer Skala.

  3. was hat H. Helmholtz auf S. 291f. gerechnet/gezeichnet? Rekonstruieren Sie die einfachste mathematische Formel, erzeugen Sie daraus die Diagramme, vergleichen Sie mit denen im Buch

  4. was hat L. Euler gerechnet? (Helmholtz S. 349, Fußnote) Überführen Sie die dort zitierte rekursive Definition der Stufenzahl in eine explizite Formel.

    Bestimmen Sie die Stufenzahl der Akkorde aus der 1. Aufgabe.

    Wo steht die Definition im Originaltext von Euler?

  5. Welches sind (nach 5, 7, 12) die nächsten interessanten Längen von pythagoreischen Tonfolgen?

    Betrachten Sie dazu die Verhältnisse benachbarter Töne (Pentatonik: 32/27 und 9/8, Diatonik: 9/8 und \(2^8/3^5\), Chromatik: \(2^8/3^5\) und \(3^7/2^{11}\)). Wann verschwindet (durch hinzukommende Zwischentöne) das größere der beiden chromatischen Verhältnisse? Welche anderen Verhältnisse gibt es dann? Wie geht das weiter?

    Gibt es solche Skalen in der (historischen) Musikpraxis? (Aktuell vgl. https://oddsound.com/usingmtsesp.php, Oddsound und Richard D. James (\(=\) Aphex Twin), 2021)

  6. mit alsa-modular-synthesizer (Module: CV: Random, Quantizer — werden auch in einigen Demos verwendet) oder csound-expression

    • Akkorde (Dreiklänge, Vierklänge) erzeugen.

    • Akkorde aus einer Skala zufällig aneinanderreihen,

    • dazu eine zufällige Melodie aus dieser Skala

    Spezifikation von Tonfolgen in CSE vgl.

    notes = fmap temp $ fmap (220 * ) [1, 5/4, 3/2, 2]
    q = mel [mel notes, har notes]
    dac $ mix $ sco oscInstr q
  7. randomh a b f: zufälliges Treppensignal (sample-and-hold) in \([a \dots b]\) mit Period \(f\)

    int', frac': ganzer/gebrochener Anteil eines Signals

    Naturtonreihe (aufsteigend): osc $ mul 100 $ int' $ mul 12 $ 1 - usaw 1

    Naturtonreihe (zufällig): fmap osc $ mul 100 $ fmap int' $ randomh 1 12 8

    oktavieren (halbieren) bis in die erste Oktave: oct = (2 **) . frac' . logBase 2

    Pentatonik (pythagoreisch) (zufällig): fmap (tri . (200 *) . oct . (3**) . int') $ randomh 0 5 8

    die Parameter abstrahieren: h o b k f = fmap (o . (b *) . oct . (3**) . int') $ randomh 0 k f

    mehrere solche Signale addieren: h tri 200 5 (1/13) + h osc 100 5 (1/11) + h osc 50 3 (1/17)

    und verarbeiten: dac $ mul 0.2 $ cave 0.5 $ fmap (tort 0.1 0.2) $ ...

  8. zur Stimmung der Gitarre:

    • man kann die unteren (tiefen) Saiten so stimmen: Saite mit Flagoelett bei 1/4 \(=\) nächst-höhere Saite mit Flageolett bei 1/3.

      Welches Intervall ist das? Wenn man bei tiefem E beginnt und alle Saitenpaaare so stimmt, welcher Ton ist dann auf der 6. (höchsten) Saite?

      Das Intervall zwischen 4. und 5. Saite wird bei üblicher Stimmung um einen halben Ton verringert.

    • Es werden gern auch abweichende Stimmungen verwendet, vgl.

      Warum?

      Bsp: Sonic Youth: Hyperstation, Album: Daydream Nation (1988) — Das Bild auf der Hülle ist

    • Stimmungen für Hawaii-Gitarre: John Ely (2008)

      Bei C6th und A6th: welche benachbarten Saiten ergeben Dur- und Moll-Dreiklänge?

      Rechnen Sie die Frequenzen für die angegebenen Verstimmungen nach (z.B. C6th: G plus 6 cent). Welche Frequenzverhältnisse werden dadurch für die Akkorde erreicht?

  9. Bestimmen Sie die Abweichung des Alphorn-Fa vom nächsten chromatischen Ton in Cent.

Algebraische Komposition

Einleitung

Literatur, Software

Partituren als Abstrakte Syntaxbäume

Konstruktion von Partituren

Von Partitur zu Interpretation

Partitur und Interpretation

Eigenschaften der Operationen

Historische Formen der Mehrstimmigkeit

Kanon

Fuge

Akkorde (Ton-Inhalt)

Die Kadenz

Diatonik in Euterpea

Funktions-Harmonik

Vermischte Dokumente zur Harmonielehre

Kadenzen in der Popmusik

Übungen

  1. zu Folie Partitur und Interpretation:

    1. Warum schwach monoton, nicht stark?

    2. Welche Rechnung muß im Zweig Par2 x y -> stattfinden? Wie werden die Teilresultate verknüpft?

    3. Welches ist der abstrakte Datentyp für [Event] (welche Operationen gehören zur API)? Welche effiziente Implementierungen dafür kennen Sie?

  2. Fragen von Folie Eigenschaften der Operationen

  3. zu Bach: Contrapunktus XV (canon per augmentationem in contrariu motu)

    1. Bestimmen Sie die globale zeitliche Struktur der Komposition.

      Der 1.Takt der 1. Stimme erscheint (gedehnt und gespiegelt) in Takt 5 und 6 der 2. Stimme. Wo noch?

      Was zeigt der Trennstrich nach Takt 52 an?

    2. Bestimmen Sie die Tonhöhen-Abbildung (Spiegelung) von erster zu zweiter Stimme.

      Lesehilfe: Der Violin-Schlüssel bezeichnet das G (der Kringel, zweite Notenlinie von unten), der Baß-Schlüssel bezeichnet das F (der Doppelpunkt, zweite Notenlinie von oben)

  4. Programmieren Sie das Thema von Jean-Michel Jarre: Oxygen Pt. 2 als eine Verschmelzung von zwei einfachen Melodien

  5. Programmieren Sie den CAFFEE-Kanon (3 Stimmen, jede mit eigenem Instrument).

    1. Ergänzen Sie https://gitlab.imn.htwk-leipzig.de/waldmann/cm-ws18/blob/master/kw47/Caffee.hs

      Beschreibung der Bibliotheks-Funktionen: https://github.com/spell-music/csound-expression/blob/master/tutorial/chapters/ScoresTutorial.md

      oder in Euterpea

    2. Benutzen Sie eine Darstellung (d.h., Unterprogramme), die die lokale Strukur ausnutzt, z.B.: zweite Häfte der 2. Zeile ist Transposition der ersten Hälfte.

      Wir verschieben nicht chromatisch (2 Halbtöne), sondern diatonisch (1 Ton in der F-Dur-Skala).

  6. Realisieren Sie auf ähnliche Weise eine Voll-Kadenz

    1. effizient programmieren unter Benutzung der Skalen-Numerierung

    2. eine dazu passende Melodie programmieren

      Hinweis: jede Melodie (aus Skalentönen) paßt

  7. verschiedene Software-Synthesizer ausprobieren zum Abspielen von mit Euterpea erzeugten MIDI-Strömen:

  8. Euterpea: von Partitur zu MIDI und zurück

    song = line ...
    writeMidi "foo.midi" song
    Right m <- importFile "foo.midi" 
    song' = fromMidi m

    Dann song und song' vergleichen

Performing with Patterns of Time

Überblick

Tidal - Beispiel

Grundlagen Tidal (Modell)

Transformation von Mustern

Parallele Komposition

Sequentielle Komposition? (Verschränkung)

Die Muster-DSL von Tidal

Audio-Effekte in Tidal

Live Coding

Live Coding mit Tidalcycles: Künstler

Übungen

  1. Tidal installieren und starten

    1. jack richtig configurieren, siehe https://git.imn.htwk-leipzig.de/waldmann/cm-ws18#hinweise-zur-richtigen-konfiguration-von-audio-hard-und-software

    2. SuperDirt installieren

    3. dann SC-Server starten mit sclang superdirt_startup.scd

    4. Tidal-Cycles installieren

      cabal install --lib tidal
    5. Tidal-Cycles starten

      ghci -ghci-script $(ghc-pkg field -f $HOME/.cabal/store/ghc-$(ghc --numeric-version)/package.db tidal data-dir|tail -c+10)/BootTidal.hs
      
      d1 $ s "bd sn"
      hush
    6. Ü: warum ist das Boot-File kein reguläres Haskell-Modul?

  2. Tidal verstehen:

    für den Typ Pattern a: Welche Eigenschaften gelten für die Konstruktoren (pure,silence) und Operatoren (fmap,stack,(<*>),(<*),(*>), cat)

    1. z.B.: Welche sind assoziativ, kommutativ, haben neutrale Elemente; welche Distributivgesetze gelten?

    2. Überprüfen Sie die Axiome von Functor und Applicative

    3. Eigenschaften von fast? (in Beziehung zu anderen) 1. wenn das erste Argument konstant ist, 2. wenn es ein Muster ist.

    vgl. Types in Tidal-Cycles: https://www.imn.htwk-leipzig.de/~waldmann/etc/untutorial/tc/

  3. Tidal hören:

    1. Kindohm (Mike Hodnick) https://github.com/kindohm/365tidalpatterns

    2. https://git.imn.htwk-leipzig.de/waldmann/computer-mu/-/tree/master/tidal/code

  4. Tidal benutzen

    1. für einige Audio-Files (https://gitlab.imn.htwk-leipzig.de/waldmann/cm-ws18/tree/master/kw49/data) den Tidal-Quelltext erraten. Hinweis: benutzt wurden s "casio:1", fast, speed, rev, every, room

    2. Steve Reich: Piano Phase nachbauen.

      Hinweis: chromatische Tonfolgen so möglich: s "sine" |+| speed (fmap (\i -> 2**(i/12)) "0 4 9"

    3. Antonio Carlos Jobim, Newton Mendonca: One Note Samba, Rec. Stan Getz, Charlie Byrd, 1962, LP Jazz Samba. Der Stil wurde als Bossa Nova bekannt.

      1. Welche Rolle spielt der festgehaltene Ton (\(f\)) im jeweiligen Akkord? (\(D^{-7} D^{\flat7} C^{-7} B^{7\flat 5}\))

      2. Programmieren Sie den Rhythmus (Stick ab 1:28 min)

Planung der Abschluß-Projekte

Plan (Wochennummern: WS 23)