Synthese

Prozedurale Spektren

Keine Resynthese!

Zufällig gefundener Klang. ;-)

Die Spektralgeneratoren erzeugen die (Amplituden-) Werte für die Teiltöne prozedural, also mit einer Funktion. Die Kosinus-Funktion wird in x-Richtung skaliert und auf die Teiltöne abgebildet. Dieser Parameter "Squeeze" kann manuell oder durch Hüllkurve gesteuert werden.

Perkussive Sounds

Spektralgeneratoren

Vier Spektralgeneratoren erzeugen das Klangspektrum für den additiven Oszillator

Zwei der vier Spektralgeneratoren (SG) erzeugen die Amplitudenwerte für die 12 Teiltöne des Oszillators. Die anderen beiden SG steuern Attack und Decay von Hüllkurven der Amplituden, die den Oszillator steuern.

Spektralgeneratoren / additive Oszillatoren

Die zentralen Komponenten des 10tet-Synthesizers sind einsatzbereit.

axoloti

Zum Erzeugen der Klänge, die für eine 10tet-Skala geeignet sind, kommt die additive Synthese zum Einsatz. Vorteil: Die notwendigen Frequenzen der Teiltöne (die nicht in der harmonischen Reihe sind, also ganzzahlige Vielfache) können direkt im Oszillator vorgegeben werden. Der Nachteil der Additiven Synthese ist die Große Anzahl von Parametern, die mit noch keinem Konzept zufriedenstellend, einfach und schnell editiert werden können.

Der Spektralgenerator

Dieses Modul erzeugt ein Spektrum, also grundsätzlich Amplitude, Frequenz und Phase für jeden Teilton. In der konkreten Umsetzung werden wegen knapper Ressourcen nur die Amplituden für die ersten 12 Teiltöne erzeugt.

Der additive Oszillator

Der Oszillator besteht aus 12 einzelnen in der Frequenz festgelegten Sinusoszillatoren.

Amplitudensteuerung

Für lebendigere Klangverläufe wird jeder Teilton über eine ADSR-Hüllkurve gesteuert.

Aus Gründen der Performance werden diese drei Module direkt in C-Code umgesetzt. Es zeigt sich, dass Integer-Arithmetik erhebliche Geschwindigkeitsvorteile gegenüber Berechnungen mit Fließkommazahlen bringt. Bei Multiplikationen sind die Faktoren möglichst so zu skalieren, dass der Genauigkeitsbereich optimal ausgenutzt wird. Zu grobe Quantisierung von Parametern erzeugt hörbare Artefakte.

Zur Zeit liegt bei fünf-stimmiger Polyphonie die Auslastung bei 87% des Axoloti. Es werden noch Module zum Abtasten einer Tastatur, LFOs und MIDI Funktionen dazu kommen. Das Ziel ist, mindestens vierstimmig polyphon zu bleiben.

Spektren für 10tet

Hüllkurvensteuerung der Amplituden von Teiltönen.

Für lebendige Klänge eines Oszillators ist eine Modulation von Parametern notwendig. Die im Axoloti verfügbaren Ressourcen erfordern es möglicherweise, nicht auf der Ebene des grafischen Editors, sondern im C-Code direkt nur die allerwichtigsten Funktionen zu implementieren.

Zusätzlich müssen ansprechende, universelle Parametereinstellungen gefunden oder erzeugt werden.

Additiver Oszillator

Oszillator zum erzeugen von für 10tet geeigneten Spektren.

additiv

Ein Oszillator, der gut in 10tet gespielt werden kann, ist wegen der nicht-harmonischen Frequenzverhältnisse der Teiltöne naheliegend als additiver Oszillator umzusetzen. Hier sethares.engr.wisc.edu/paperspdf/cmj98.pdf (S.69) werden für die ersten 12 Teiltöne Frequenzen vorgeschlagen. Der Klang ist zuerst einmal statisch, eine grundsätzilche Herausforderung für eine expressiv-kreative Bedienung eines Instruments ist, die vielen Parameter zu bändigen, und auf wenige Meta-Parameter/Regler zu reduzieren.

Oszillatormodell FM

Einfacher Oszillator mit Frequenzmodulation.

Um Klänge mit hohem polyphonen Verschmelzungsgrad, also Konsonanz, in 10tet zu erzeugen sind Klänge mit harmonischer Teiltonreihe nicht gut geeignet. Mit Oszillatoren nach dem FM (Frequenzmodulation) Modell ist es möglicherweise leichter Klänge für konsonant klingende Akkorde zu bilden, da sich die Verteilung der Teiltöne über die Freuquenzverhältnisse der Operatoren leichter steuern lässt.

fm

FM Synthese mit drei Operatoren.

10 tönig temperierte Stimmung

Alternative fremdartige Stimmungen mit angepasstem Klang.

Inspiriert durch Tuning, Timbre, Spectrum, Scale von William A. Sethares verwandelt der Patch den Axoloti in einen Synthesizer, der in 10tet spielen kann.

Die 10-tönig gleichschwebend temperierte Stimmung (10 tone equal tuning, 10tet) teilt die Oktave in 10 gleich große Tonschritte auf. Vergleichbar mit der 12-tönig gleichschwebend temperierten Stimmung, die in der westlichen Musik verwendet wird.

Konventionelle Musikinstrumente, insbesondere elektronische oder Software-instrumente lassen sich u.U. relative einfach in dieser Stimmung spielen. Der Klang konventioneller Instrumente erzeugt im mehrstimingen 10tet Spiel aber keine überzeugenden Konsonanten. Die Teiltöne gewöhnlicher Klänge (Chordophone, Aerophone, etc.) sind in der harmonischen Reihe (ganzzahlige Vielfache der Grundfrequenz) enthalten. Für Konsonanzen in 10tet sind aber andere Frequenzverhältnisse notwendig. Diese werden im Axoloti-Patch mit einem additiven Oszillator umgesetzt.

patch

Die Grundlage der 10tet Stimmung des Patch ist /Library/factory/demos/midi_fx/alternate_tuning im Axoloti. Als Oszillator werden additive Sinusoszillatoren mit angepassten Frequenzverhältnissen zusammengemischt. Für mehrstimmiges Spiel ist der Oszillator in einem Subpatch angelegt.

FM

Die Manganin Sound Engine mit Cloud-Oszillator, FM und Bandpässen.

spektrum

Loudness – Präsenz

Filterpatch zur Simulation und Parameteroptimierung für Analogschaltungen

lpr01

Präsenz- und Loudness-filter sollen die Verständlichkeit und ein ausgewogenes Klangbild erreichen. Sie werden auf der Wiedergabeseite eingesetzt.

Loudness

Bei geringen Abhörlautstärken werden vom menschlichen Gehör Frequenzen im Bereich von 1kHz bis 6kHz gut wahrgenommen, höhere und tiefere Klanganteile liegen u.U. unter der Hörschwelle. Der Loudness-filter hebt für ein ausgewogenes Klangbild hohe und tiefe Frequenzen an.

Präsenz

Ausgehend von den Blauertschen Bändern, der Beschreibung des psychoakustischen Effekts des Richtungshörens erreicht der Präsenzfilter eine verbesserte Sprachverständlichkeit.

Waveshaper

Manganin-Sound-Engine mit Waveshaper

Um das Klangverhalten weniger vorhersagbar zu machen, ist nach den Filtern ein Waveshaper geschaltet.

spektrum

Die Modulationen sind bisher manuell gesteuert. Anpassung der Wertebereiche folgt.

Oszillatorschwebung – Bandpassfilter

Die Sound Engine des Manganin-Projektes

Die Sound-Engine für die Manganin-Drone-Box befindet sich noch im pre-Alpha-Stadium.

Bisher existieren acht Oszillatoren, die verschieden stark gegeneinander verstimmt werden können. Danach eine Kombination aus drei parallelen Bandpassfiltern, gefolgt von einem Tiefpassfilter. Jeweils in der Resonanz steuerbar.

Sechs Sinusse

Einfache Schichtung mehrerer Sinusoszillatoren mit manueller Frequenz- und Amplitudensteuerung.

axoloti

Nach einer kleinen Loetrunde testen wir zwei Axolotis mit den erweiterten Echtzeit-Eingabe-Reglern. (Potentiometer).

Oktav-Terz-Klang

Einfache Frequenzschichtung mit drei Oszillatoren.

NMG2

Patchblock FM

Frequenzmodulation und Bandpassfilter
Download: 150531e-a.mp3

Zwei Patches erzeugen einen Drone-artigen Klang. Ein Patch mit einer Frequenzmodulation mit drei Operatoren, ein Patch mit durch LFOs frequenzmodulierten Bandpässen.

patchblock

Ein Trägeroszillator mit zwei frequenzmodulierend hintereinander geschalteten Oszillatoren. Den Träger unterstützen noch drei leicht verstimmte Suboszillatoren. Die Modulationsstärke läßt sich mit dem linken Taster in zwei Stufen schalten, der rechte Taster aktiviert eine Rückkopplung des Trägersignals.

Die Drehregler steuern die Frequenz der Modulationsoszillatoren.

patch

Das Audiosignal am Digitaleingang wird durch parallel geschaltete zwei Bandpässe, Hochpass und Tiefpass geleitet. Die Frequenz der Filter wird durch vier leicht verstimmte LFOs gesteuert, die LFO-Frequenz kann durch einen Drehregler verändert werden.

Der zweite Drehregler steuert gleichzeitig die Resonanzeinstellung der Filter, und das Mischungsverhältnis "dry - wet".

patch

Das Spektrogramm zeigt deutlich die für Frequenzmodulation charakteristischen Seitenbänder. Die Frequenz des Trägeroszillators bleibt unverändert.

patch

Der Code für das FM Patch:

 AAMAAAWHeJxtlE9rE1EUxe+bTHLfSyqFtpS0TdrSTdtNnEkmTUJAKOqqSWubgq3JJn8mJZA2sSaiK1EofgUFQXQlRAuudedaVyruBfFb1PtmJokzk5mBBOa8d3/3nPsGABVEGF1XV/IZ/gVe7Ld7rW77Mah6LaUDCHGK0yD0fFrT8nQzgMgE2Ry+4/uAel53RPMAask8a4CaTmkGsGPxmT+HoHyd9K9nFW7gd7k+aa9nZYDQYefkpG2CWk1lMwC72MQKTFsU1m0VUxgUSF4BCGw3qFqumc0SIlHfAKH9R73sViwJgadSoSXSkokUMYncOqOCuUY6DbBAkuswpSUspvyWYamW3Cp2EV7AXxAxjBEYiVZCfoti/C++ly0aTj1kLqIof4lP3MxBN/NAPMXXNrNjE2wQTeH2rQegmindBCjgPO9A0NpgQkxx/MQXAA0rJskwx/yiWeziHwiTvdqIZMbjTZC/wA/ertGX2Q4GMCkzS1pd25klZWY0b8UJgMgvqfZ4jliZuQtP4Ve8lKFoGaeybGORVh6YdbP1kIRmbasK7B7WaM6DQ7Zdxb3PhniGP3yxKX6iEB/gHY8bUQZY6rZbvVUD1K1shsbgSBzwuxAZT6emBtgxKMCoW0ZrmMfBTfEFf/oAVFfgi/gNf7uHNM4gaJWmg1XNEV+RzvM5oOMFFYtJFXgBYVm08b4HUOEEuEZoA4pj3TVsCg9H8a1dO+NkcTEhsHm+h8fu70OUZKV+rXderRNlrW7QXK5Rt2/GnUjZJsluds565502jW9TyxKkwjW8ZsnsaVEDsEuIO4QYIsRZ8rDYekQ9mWaV5CuizqMQtw6Eta19LhK6Yf843Ece69fFIX1svNbTbG33G63O6l6/1+0TeTZTbVBuYp9/HCNpnr1msMuXvXvNuaxkZf6Kx4YRyfcC/gGQdPeV

Der Code für das Bandpass Patch:

 AAMAAAUheJxtVEtvElEYPTMM9xuk0I3QdwuUlLSJ5A4wPDIrNTZtIq1JNa6xUENKgFQwutekC+MfcO/OjTFx6WPjH3CjW7ddNO7spn4zMMNrZiaBxbnnnu+ccy8Q/CSew3uur+3P/YvQbrPVa5wl7j+AZhqmBDLiD31DVFqFgrRk1rSkZUmFkYB21Gw3oFXqpglE9VNKIOygnDfHoFUG7dbqDKqXcidASrzXTYQNyxhS2Uw7QKBa60LLFc0ysEJX9BAxad2yIYaVk9IypHQphYLgUbfV7LHAWsUANkVVfAUNN1UVpFQgMcm5pl8wZ9zjNCrMl6t4pGkFerXf6jW7rZfQjCd55l2gK3GJGwzOGvkhLjJJu8ozPxqTatqspsdKCsiRmihAK5ZL7NK6qNI+wq5HjNMC2IYKYuGChWdUaNXmC17QaNR4QYju6Qo2bOtzjmG+P7xZSpnMY47OKTWdxzJm59zWP9JbhOxECq4d6ozwsPhBe+PCJQtP28LBwrk9Gd7ydr/e7CQO+71un+Mpl2p1QOXI3yHkLRt17A53rFBuHHOmdEjf/TqmTs4UoX+zHVvhme522r2zTusZtBNZZmBAHHDJvU0NNjfGGjcxM9cOy3s6MVdAhcp4/ni6WbsW9VO3Fo73toSo31BEP+mL31DaRIeW6RU9xs1RNbk+ea9CmalU5/VL2ph2YM1H5pJ+wTI51XzWVTnvA0uIA4oMwi8PYesc9iDI/baTY+PYqAAK3xufx3JUVCR9CON0Lv6CnBPu0M2NvNljb4qlCpcirb/xD1zMBBSj1+LD9IlZ4mgWuXgLHGocUxdCMvibku6FIDnHMKO2fLRuBX9RezB80T1F+A9Cs+kM

Kleinzeugs

Elektronikmodule mit magnetisch/elektrischer Verbindung

littlebits

Alles da, was man braucht: Oszillatoren, Filter, Hüllkurve, Sequenzer. Die Little Bits lassen sich supereinfach, superschnell miteinander verbinden.

pb Space Sounds

Weitere einfache Patches mit Sägezahnoszillator und Filter

Grösstenteils Artefakte wie Aliasing im oberen Frequenzbereich und übersteuerte Filter.

pb1

Die Verzerrungen entstehen größtenteils durch hohe Resonanzeinstellung im Filter. Keine weiteren LoFi Module sind in der Audiokette.

pb2

Patchblock, los geht's

Ein erstes Patch für ein Patchblock als Oszillator

So sehen sie also aus und hören sich an, die Patchblocks. Und sie machen genau das, was man erwartet - auf mehreren Ebenen. Zum einen ist die Programmierung angelehnt an PureData , also Node-basiert und mit grafischem Editor. Zum anderen kann man nur überschaubare Rechenleistung erwarten, das Aliasing gehört zum Sound dazu.

patchblock

Editor für das Programm, das der Patchblock abarbeitet. Diese "Firmware" wird über USB von oder auf den Patchblock geladen.

editor

Die Klangerzeugung besteht im Wesentlichen aus zwei Komponenten:

  • Vier Oszillatoren mit Rechteckwellenformen unterschiedlicher Pulsweite. Über einen Drehregler lassen sie sich unterschiedlich stark verstimmen.
  • Ein LFO mit Sinuswellenform, der das Signal der Rechteckoszillatoren amplitudenmoduliert. Bei einer Frequenz im Audiobereich entstehen die zu erwartenden Differenz- und Summenspektren. Der zweite Regler steuert die Frequenz des LFO.

Der Code für dieses Patch:

 AAMAAANFeJx1kj9Lw1AUxU/a57tJq4htFWkRq+6StI2JZBI3QRR10klJhECwxSagn8DVP4vgJIi7X0JcnNzcHP0EjvW2NjWpNQkkw++ed865AaQnHzG4Op3uE38iu+a6EKvHtg0UyaQ9aI2G7vRuBVgExK5/4jHimiZQoQv6QH6A9KBZBepmFIR+KziHMI7qBlCmT7plLV13jD5WwV9MpQcah2o4tVisMEJslirqHMgYSEmeXG+ehKfNoA1xrNtsjcjinFpszMgoyHPIsgKx6Z81IDzvkLEx+cQJ5hlZrpnOf69uKpbcbQV+WOXZFdvi2TzdyzfkB9kdPZtBDgo0PkhNl1mQr8NlLqSJEt3RQZpYGlHRtHyRz9CMRJMzf63NyHeaSFkTWZSQQZHtFdjeFEffjoI2r/KoVrfYDRu8wWTv+GUjsc6xzBC5SA26islakhRD5BJd02VM1pOkxPha5PrN6lYUtqIQwrYOXV4kb3b/d2n6iPwafXEyXr7V1yqO+ENy6sYPVO9DJSXV9ZT0aCfddXW4kCoz17F5M2ke35kik3c=
.
.
.