Seite 1 von 1

WORKSHOP 1 : Schwingungen

Verfasst: 29. April 2006, 12:45
von herw
Überblick
Ich werde die einzelnen Abschnitte des Workshops in den Titeln der Beiträge angeben, so dass man sich darauf beziehen kann.

1.1 Das Experimentierfeld
1.2 Sägezahn und andere Schwingungen
1.3 Die Sample-Rate
1.4 Akustik - physikalischer Hintergrund
1.5 nebenbei bemerkt
Abbildung [1].gif
PS: Da dies das erste Workshop ist, werde ich auch auf die einzelnen Bedien- und Laborinstrumente eingehen müssen. In zukünftigen Workshops beziehe ich mich dann hierauf.

WORKSHOP 1.1 : Das Experimentierfeld

Verfasst: 29. April 2006, 13:27
von admin
Workshop 1.1 Das Experimentierfeld post #1

Einen optischen Eindruck habt Ihr Euch schon in der letzten Post verschaffen können. Hier ist nun der Download des kleinen Ensembles01.01.sawtooth.ens. Da wir "bei Null" anfangen, ist es so einfach, dass ich mich kaum traue, es hier ins Netz zu stellen. Aber genau so muss man anfangen.

Ich setze voraus, dass Ihr REAKTOR 5.1 besitzt und schon im Handbuch die Seiten 65-67 und 76-100 gelesen habt. Dort wird die grundlegende Bedienung von REAKTOR beschrieben. Öffnet nun REAKTOR und das Ensemble 01.01-sawtooth.ens
Ich beginne noch vor dem ersten selbstgebauten Synthesizer und wähle bewusst dieses "Primitivbeispiel". Ihr habt ein Midi-Keyboard angeschlossen? Wenn nicht dann könnt Ihr das Ensemble auch mit der Computertastatur oder auf dem Mäuseklavier spielen. Kein toller Klang; ja natürlich, das Ensemble besteht ja auch nur aus lediglich einem Sägezahn-Oszillator; was will man da erwarten?

Wir öffnen die Ensemble-Struktur und erkennen mehrere Module und "Instrumente":
Bild
  1. Audio In und Audio Out
    ... sind die Standard-Schnittstellen von REAKTOR zur Umwelt (Audiokarte). Sie gehören zu jedem Ensemble. Da wir keinen Audioeingang benutzen, ist das Modul Audio In unbeschaltet.
  2. Ausgang
    ... ist lediglich ein Zwischenglied zur Lautstärkenregulierung. Es wird nicht im Panel angezeigt und besteht lediglich aus einem Drehknopf und einem Verstärker; ich habe die Ausgangslautstärke auf ein erträgliches Maß heruntergeregelt, damit es bei sechsstimmigem Spiel zu keinen Verzerrungen kommt.
  3. Keyboard
    ... ist das Mäuseklavier, über das man das Ensemble spielen kann; ich gehe gleich darauf ein.
  4. Simple Scope
    ... zeigt (später) die Form der Audiosignale an.
  5. Saw
    ... das eigentliche Ensemble mit zwei sehr einfachen Osziallatoren

WORKSHOP 1.1 : Das Experimentierfeld

Verfasst: 29. April 2006, 15:59
von herw
Workshop 1.1 Das Experimentierfeld post #2

Das Keyboard dient zur Eingabe und Kontrolle von Midi-Note und Midi-Velocity-Daten. Wir benutzen es als Black-Box. D.h. ich gehe nicht auf deren Struktur ein.
MIDI-Pitchwerte sind Tonhöhenwerte. Die Midinoten umfassen insgesamt die Werte von 0 bis 127, was den Halbnotenwerten entspricht.
Die Midinoten werden mit C-2 (C minus 2) bis G8 bezeichnet. Auf dem Mäuseklavier erkennt man einen Ausschnitt von fünf Oktaven (C1 bis C6).
Bild
Klicke mit der Maus auf die Taste C3! Man hört einen leicht harschen Ton; die typische Klangfarbe einer Sägezahn-Schwingung. Lässt man die Taste los, verstummt der Ton sofort. Alternativ lässt sich die Tastatur über ein angeschlossenes Midikeyboard oder die Computertastatur (z.B. für C3 mit der Kommataste ) bedienen.
Klickt man mit der Maus auf eine Taste und zieht den Cursor bei gedrückter Maustaste über die Klaviatur, so werden mit einem Glisssando die benachbarten Midinoten aufgerufen.
Auch mehrstimmiges Spiel ist möglich. Drückt man zum Beispiel auf der Computertastatur die Buchstaben Y, C und B, so erhält man einen C-Dur Dreiklang. Natürlich wird man damit keine Etüden spielen können, für das schnelle Ausprobieren und Experimentieren sind diese verschiedenen Eingabe-Möglichkeiten aber nützlich.
Mit der Computertastatur erhält man mit den Tasten y,s,x,d,c,v,g,b,h,n,j,m, , l . ö und - die Noten C1 bis E3, mit den Tasten q,2,w,3,e,r,5,t,6,z,7,u,i,9,o,0,p,ü, ´ und + die Noten C3 bis G4. Hält man die Shift-Taste gedrückt, so erhält man die Midinoten jeweils zwei Oktaven höher. Die Panic und die OFF-Taste erläutere ich in einer späteren Post.
Das Mäuseklavier kann man auch Lautstärke abhängig machen, indem man die Velocity (Anschlagsstärke eigentlich Anschlagsgeschwindigkeit) aktiviert.
Bild
Nun hängt die Lautstärke eines Tones davon ab, ob man die Taste weiter unten (laut) oder weiter oben (leise) mit der Maus anklickt. Die Computertastatur ist dagegen auf einen festen Velocity-Wert fest eingestellt und nicht veränderbar spielbar.

Re: WORKSHOP 1.1 : Das Experimentierfeld

Verfasst: 29. April 2006, 20:42
von herw
Workshop 1.1 Das Experimentierfeld post #3

Wenden wir uns nun dem Simple Scope zu, einer Art Oszilloskop, mit dem man Audiosignale darstellen kann. Bis jetzt ist sein Bild noch eingefroren, daher deaktiviere jetzt den Button Freeze und spiele einige einzelne Töne.
Bild
Man sieht nun bei jedem Ton eine sägezahnförmige Wellenform, die sich in der Breite je nach Tonhöhe ändert. Drückt man mehrere Tasten gleichzeitig, so gibt es auch eine gemischte Schwingung.
Das Oszilloskop stellt den Schwingungsverlauf in Abhängigkeit der Zeit dar.
Bei höheren Tönen z.B. C6 ist die Wellenform schon sehr eng gedrängt.
Bild Bild
Mit dem Wechselschalter links kann man die Zeit in Dekaden dehnen.
Auffällig ist schon hier, dass der "schöne" Sägezahn gar nicht mehr so akkurat aussieht, sondern eher an eine schlecht gemauerte Treppe erinnert. Was es damit auf sich hat, lernen wir weiter im nächsten Abschnitt kennen.
Die anderen Bedienelemente sind schnell erklärt, sollten aber unbedingt ausprobiert werden:
  1. der x-Regler dehnt die Zeit kontinuierlich
  2. der y-Regler wirkt für den Oszillographen wie ein Lautstärke-Regler. Er schwächt oder verstärkt das Signal.
  3. Freeze dient zum Einfrieren der jeweiligen Schwingung. Dieses Feature benutzt man während des Einspielens, um eine Schwingungsform in Ruhe anschauen zu können.
  4. Der Schalter ExtT schaltet eine externe Trigger (Zeit-) - Basis an. In der Struktur wird diese Möglichkeit aber nicht ausgenutzt, so dass dieser Schalter hier ohne Wirkung ist und wie der Freeze Schalter wirkt. Man sollte ihn hier deaktiviert lassen

WORKSHOP 1.2 : Sägezahn und andere Schwingungen

Verfasst: 30. April 2006, 10:29
von herw
Workshop 1.2 : Sägezahn und andere Schwingungen post #1

Nach diesen notwendigen Einführungen, können wir uns endlich dem eigentlichen Thema zuwenden.
Die Sägezahnschwingung ist eine der grundlegenden Schwingungen, auf der (klassische) elektronische Musikinstrumente gründen.
Foto: Robert Moog und Don Buchla
;-) Man beachte die typische Stehbewegung beider Elektrotechniker: Immer eine Hand in der Hosentasche und man gelangt nicht in die elektrische Leitung! ;-)
Robert Moog (*1934 †2005) und Don Buchla (*1937) haben den Sägezahnoszillator zu einem der Hauptbestandteile ihrer Modular Synthsizer "MOOG MODULAR" und "100 series Modular Electronic Music System" gemacht.
Die Sägezahn-Schwingung enthält alle Obertöne eines Grundtons, eignet sich also hervorragend, um andere Schwingungen durch Filterung (subtraktive Klangerzeugung - siehe späteres Workshop) oder geschicktes Addieren und Subtrahieren zu erzeugen.
Wir wollen uns aber zunächst nur mit dem Sägezahn beschäftigen.
Im ersten Experiment richten wir unser System folgendermaßen ein:
Bild.
Drückt man die Taste C3 auf dem Mäuseklavier, so erscheint eine mehr oder weniger regelmäßige Sägezahnschwingung. Sie ist nicht perfekt, wie man an den kleinen Peaks im unteren Teil erkennt. Das kann einerseits an dem Oszillator selbst oder auch an dem Oszillographen liegen (es am Oszillator selbst). Der Klang wird dadurch aber nur unwesentlich beeinflusst, so dass es hier nicht stört.
Als Schwingung bezeichnet man einen sich wiederholenden (periodischen) Vorgang. Ist diese Schwingung schnell genug, so nehmen wir ihn in der Akustik als Ton wahr. Nach einer Periode wiederholt sich der Vorgang. In der Abbildung habe ich Anfang und Ende einer Periode durch die gelben Pfeile gekennzeichnet. Es sind etwas mehr als 2,5 Perioden zu sehen. Das Oszillagramm stellt die Schwingung in einem Koordinatensystem dar, wobei man sich in waagerechter Richtung eine Zeitachse und in senkrechter Richtung eine Lautstärke-Achse (Amplitude) vorstellen sollte. "Schlagen" wir C3 unten an, so geht die Amplitude bis an die Ober- und Unterkante der Abbildung; klicken wir dagegen mehr in der oberen Hälfte der Taste, so ist die Amplitude entsprechend kleiner und damit der Ton leiser.
Wenn wir (über die Computertastatur oder ein Midikeyboard) mehrere Töne gleichzeitig anschlagen, geht die Amplitude über den Rand heraus. Mit dem Regler Y kann man durch Rechtsdrehen die Anzeige wieder in ihren Rahmen bringen.
Nun klicke ich auf C4:
Bild
Man erkennt sofort, dass nun nicht mehr nur 2,5 Perioden dargestellt werden, sondern mehr als 5. Das ist charakteristisch für unser Hör-Empfinden. Erhöht man die Frequenz (Anzahl der Perioden pro Sekunde) auf das Doppelte, so empfindet unser Gehör dies als sehr angenehm (harmonisch). Wir sprechen von einer Oktave.

Verdoppelt man die Frequenz einer Schwingung, dann erhöht sich der Notenwert um eine Oktave.

Re: WORKSHOP 1.2 : Sägezahn und andere Schwingungen

Verfasst: 1. Mai 2006, 15:56
von herw
Workshop 1.2 : Sägezahn und andere Schwingungen post #2

Wir schauen uns nun genauer um und zwar in der Strutkur des Instruments "saw":
Bild
Wir sehen das Sägezahn-Oszillator-Modul aktiviert (gelbes Quadrat). Der Pitch-Eingang P wird von dem MIDI-Modul NotePitch gesteuert. Dieses Modul überträgt die Halbtonwerte des angschlossenen Keyboards (oder auch der Computertastatur oder des virtuellen Keyboards) an angeschlossene Module. Dies sind in der Regel Oszillatoren oder Filter. Der Eingang ist rot gekennzeichnet, es handelt sich also um einen Event-Eingang (Handbuch S.190). Eventsignale sind Control-Signale und werden in der Regel 400 mal pro Sekunde (control rate = 400Hz, siehe Menupunkt SETTINGS in REAKTOR) aktualisiert. Der zweite Eingang ist ein Audio-Eingang (schwarz) (Handbuch S.192). Dieser Wert wird mit der so genannten Sample-Rate (normalerweise 44100Hz) - also wesentlich öfter - aktualisiert. Der Rechner wird im Wesentlichen von den Audiosignalen belastet. Der Eingang A bestimmt die Amplitude (Lautstärke) mit der der Oszillator schwingt. Hier wird dieser Wert aber lediglich durch ein Controlsignal MIDI-Gate gesteuert. Das Gate-Signal kennzeichnet durch einen MidiOn-Befehl das Hinunterdrücken und durch einen MidiOff-Befehl das Loslassen einer Taste. Würde man diesen Eingang mit einer Konstanten belegen, dann würde der Oszillator unaufhörlich schwingen. Der MidiOff-Befehl setzt die Amplutude auf 0, man hört also nichts mehr.
Ist der Informationsbutton in der Fensterleiste aktiviert und legt man den Cursor über die Verbindung zwischen NotePitch und Oszillator, dann werden (in diesem Fall) die sechs Stimmen mit ihren Werten angezeigt.
Experiment: lege den Cursor im Strukturfenster über die Verbindung, so dass die Signalinformation angezeigt wird und drücke auf der Computertastatur einige (Noten-) Tasten. Für die einzelnen Stimmen werden dann die Pitchwerte angezeigt. Solche Signale nennt man polyphon.
Hinter dem Oszillator werden die Audiosignale angezeigt. Die Werte ändern sich aber so schnell, dass dort nur der niedrigste und der höchste Wert angezeigt werden. D.h. in unserem Fall erzeugt der Oszillator sechs Töne gleichzeitig. Eigentlich handelt es sich bei unserem Oszillator also um sechs parallele Oszillatoren. Dies ist auch nötig, da man ja mit dem selbst gebauten Synthesizer nicht nur einstimmig spielen möchte. Für die Übergabe an die Audiokarte (über das Audio Out Modul) werden diese polyphonen Signale mit Hilfe der Klammer (Audio-Voice-Combiner) zu einem monophonen Gesamtsignal zusammengefasst. Hinter der "Klammer" wird nur noch ein Audiosignal angezeigt. Diese Zusammenfassung ist unbedingt notwendig, damit man an die Audiokarte übergeben kann. Meistens fasst man die Signale auch zusammen, um sie von Effekt-Makros wie Hall, Verzerrer, Chorus, Flanger etc. zu verarbeiten. Zwar könnte man dies auch polyphon durchführen, doch erhöht das die CPU-Belastung immens.
Schauen wir uns bei einigen gedrückten Tasten die Sägezahnform an, dann erkennen wir an der unteren Ecke einen kleinen Peak.
Bild
Wir wechseln in unserer Struktur zum Multi-Wave-Oszillator, der wie der Name schon sagt, mehrere Schwingungsformen liefert.
Bild
Die Wellenform ist nun exakt ein Sägezahn:
Bild
Offenbar wird hier die Schwingungsform etwas sauberer erzeugt. Klanglich bemerkt man aber nichts. Der Multiwave-Oszilllator ist eine CoreCell. Man kann in seine Struktur hineinschauen(Doppelklick auf das Modul) - äußerst beeindruckend kompliziert. In irgendeinem Fortgeschrittenen-Workshop werden wir uns auch einmal damit beschäftigen.

Re: WORKSHOP 1.2 : Sägezahn und andere Schwingungen

Verfasst: 9. Mai 2006, 16:00
von herw
Workshop 1.2 : Sägezahn und andere Schwingungen post #3

Wir probieren noch einige andere Wellenformen, indem wir die anderen Ausgänge mit dem Multiplikations-Operator verbinden (Strippen-ziehen siehe Handbuch S. 78f).
Bild Bild Bild.
Es fällt auf, dass die Klangfarbe immer weicher wird, beim Sinus ist sie schon fast unangenehm ohne Klang. Man spielt keine Obertöne sondern nur den Grundton (Klangfarbe siehe in einem späteren Workshop).

Re: WORKSHOP 1.3 : Die Sample-Rate

Verfasst: 9. Mai 2006, 22:44
von herw
Workshop 1.3 : Die Sample-Rate post #1

Mit Hilfe des CoreCell-Oszillators und seiner verschiedenen Wellenformen können wir noch einen interessanten (negativen) Effekt digitaler Klangerzeugung erforschen:
Wir transponieren das Keyboard um drei Oktaven nach oben
Bild
und klicken mit der Maus z.B. die Taste C7 an. Da die Schwingung nun schon sehr schnell ist, sehen wir auf dem Oszillographen nur ein unschönes Bild:
Bild
Wir wechseln die Zeitauflösung x mit dem dreifachen Wechselschalter auf 1 und sehen nun das Dilemma:
Bild
Der schöne Sägezahn ist zu einer Treppe entartet. Digitale Klangerzeugung nähert alle "Kurven" durch Stufen an. Das ist ein Nachteil gegenüber der analogen Klangerzeugung mit Hardware (Schwingkreise mit Kondensator und Spule und Filtern). Man wird hier aus Hörgewohnheit keinen großen Unterschied zu einem wirklichen Sägezahn finden, doch sollte man sich im Klaren sein, dass die digitale Klangerzeugung offenbar an eine Grenze kommt und zwar die Grenze der zeitlichen Auflösung. Ursache ist die so genannte Sample-Rate; meist findet man in CoreCells eine solche Konstante SR.R. Wir wollen mal für einen kleinen Augenblick im Menü von Reaktor die Sample-Rate verändern (hier von 44100Hz (1Hz=1Schwingung pro Sekunde) auf 88200Hz):
Bild
Klickt man nun C7 an, so erkennt man deutlich, dass nun mehr Stufen für eine Periode erscheinen, nämlich doppelt so viele.
Bild
An der Tonhöhe ändert sich nichts. Bei komplexen Klängen wird man aber einen deutlichen Anstieg der Klangqualität feststellen. Verringert man dagegen die Sample-Rate zum Beispiel auf 22050 Hz, so wird der Sägezahn nur noch durch etwa 5 Stufen gebildet. Die Klangqualität nimmt ab. Allerdings verbraucht unser Rechner auch nicht mehr so viel Power; bei komplexen Ensembles, die einen hohen CPU-Verbrauch haben, kann man auf diese Weise vielleicht doch noch Anteil an der Spielfreude haben, da bei den meisten Klängen der Unterschied noch zu verschmerzen ist.
Wir stellen nun die Sample-Rate wieder auf die üblichen 44100 Hz zurück.

Die Sample-Rate gibt einen Takt vor, mit dem Audiosignale verarbeitet werden; schneller geht es nicht.

Re: WORKSHOP 1.3 : Die Sample-Rate

Verfasst: 13. Mai 2006, 09:46
von herw
Workshop 1.3 : Die Sample-Rate post #2

Welchen Einfluss die Sample-Rate auf den Klang hat, wollen wir mal an dem nächsten Beispiel erforschen: 01.02-sawtwooth.ens
______________________________

Bemerkung: ich habe in diesem Ensemble nicht mehr das Keyboard ergänzt (siehe 01.01-sawtooth.ens) damit die Datei durch die Grafik nicht unnötig aufgeblasen wird. Wer gerne das Keyboard benutzen möchte, kann einfach aus dem Instrument der ersten Datei das Modul keyboard kopieren und in das zweite Ensemble direkt in das Instrument Saw einsetzen. Der Ausgang des Moduls wird dabei nicht benötigt. Damit das Keyboard funktioniert, muss man in der Instrumentenleiste für MidiIn die Quelle Int. Midi Saw (self) aktivieren.
Bild Bild
Dasselbe macht man für MidiOut. Wenn es richtig funktioniert, müssen jetzt beim Anklicken des Keyboards die Tasten sich senken und in der Instrumentenleiste die Leuchtdioden neben "int" rot aufleuchten.

______________________________

Wir überprüfen, ob die Sample-Rate auf 44100Hz eingestellt ist und drücken auf der Computertastatur SHIFT-i (C6). Ein relativ hoher Ton wird erzeugt. (Wenn man die SHIFT-Taste vor der i-Taste loslässt, klingt der Ton weiter; man muss zum Stoppen dann nochmals SHIFT-i drücken und zuerst die i-Taste loslassen)
Wir sehen eine sehr stark gerasterte "Sinusschwingung".
Bild
Ich habe in diesem Ensemble zwei Bedienelemente eingefügt:
einen Lautstärkeregler (Volume) und einen Transponier-Regler, mit dem man die Stimmung des Oszillators in Halbtonschritten ändern kann.
Daneben werden beim "Anschlagen" eines Tones der Midi-Tonhöhenwert (Pitch) angezeigt und die dazugehörige Frequenz.
Wir sehen den Pitchwert 96 mit der dazugehörigen Frequenz von etwa 2093 Hz. D.h. der Oszillator schwingt 2093 mal in der Sekunde (zur Hörphysik siehe den Abschnitt 1.4).
Übrigens fällt auf, dass der Oszillator im Gegensatz zum ersten Beispiel trotz Loslassen der Taste weiter arbeitet. Das ist für uns praktisch. Dazu mehr in der nächsten Post.

Re: WORKSHOP 1.3 : Die Sample-Rate

Verfasst: 13. Mai 2006, 11:35
von herw
Workshop 1.3 : Die Sample-Rate post #3

Wenn wir das Oszillatorsignal einfrieren (Freeze), können wir die Treppenstufen einer einzelnen Periode zählen; es sind etwa 20 bis 21. D.h. die 2093Hz-Schwingung wurde etwa 20 mal abgetastet. Nun, dies ist möglich, da die Sample-Rate 44100Hz beträgt, also etwa 20·2093Hz.
Nun können wir schon voraussagen, was bei einer niedrigeren Sample-Rate z.B. 11025Hz passiert. 11025:2093 ergibt etwa 5,2. D.h. pro Periode wird die Schwingung etwa nur fünfmal abgetastet. Wir schalten die Sample-Rate um und sehen dies bestätigt:
Bildbei 11025Hz Sample-Rate

An eine Sinusschwingung erinnert das nicht. (Wir müssen natürlich auch noch im Kopf behalten, dass der Oszillograph natürlich ebenfalls nur diese Sample-Rate benutzt, da er ja ebenfalls ein Reaktor-Modul ist; man möge mich korrigieren, wenn ich Unrecht habe).
Da der Bruchteil nicht ganzzahlig ist, sondern 5,2 beträgt, ändert sich auch noch von Periode zu Periode die abgetasteten Werte. Man kann dies verfolgen, wenn man den x-Regler auf etwa 3 einstellt und mehrere Perioden betrachtet.
Lösen wir den Freeze-Modus, und transponieren wir mit dem Transpose-Knopf den Pitchwert um 8 Halbtöne höher, so bekommen wir 3322 Hz (Pitch 104) angezeigt (SHIFT-i (C6) muss nochmals gedrückt werden). Es werden nur noch etwa 3 Werte abgetastet. Eine Sinusschwingung ist nicht mehr reproduzierbar.
Erhöhen wir weiter mit Transpose 15 auf Pitch 111 (4978Hz), ist noch nicht mal mehr erkennbar, bei welchem Wert die Periode beendet ist.
Wir transponieren auf 17 (SHIFT-i drücken!). Nun haben wir die Nyquist-Frequenz überschritten. Unsere Audiofrequenz beträgt mehr als die Hälfte der Sample-Rate. Eine Rekonstruktion des ursprünglichen Signals ist nicht mehr möglich. Es käme zum Alaising (zusätzliche Obertöne).
Es wird nur noch eine Rechteckschwingung angezeigt. Höhere Transponierung ändert weder das Oszillatorbild noch die Tonhöhe, auch wenn die Pitch- und die Frequenzwerte angezeigt werden. NI hat offenbar die Verarbeitung höherer Frequenzen unterbunden.
Man findet in Wikipedia hierzu eine interessante Abhandlung: Nyquist-Shannon-Abtasttheorem.
Wir stellen Transpose wieder auf 12 zurück und hören uns den "Sinuston" an. Er klingt leicht scharf. Nun wechseln wir wieder die Sample-Rate auf 44100Hz bzw. wechseln auch mal auf z.B. 176400Hz. Beide Töne klingen viel weicher. In einem komplexen Klanggebilde kann man sich schon vorstellen, dass bei niedriger Sample-Rate, einiges an Klangqualität verloren geht.
Bild bei 44100Hz Sample-Rate

Bildbei 176400Hz Sample-Rate.

Wer noch Lust hat, kann noch bei niedriger Sample-Rate die Schwingungsform von Sinus auf Dreieck oder Sägezahn wechseln, um zu sehen, dass bei Frequenzen nahe der Nyquist-Frequenz überhaupt nichts mehr von der ursprünglichen Form zu sehen und zu hören ist.

Re: WORKSHOP 1.4: Akustik - physikalischer Hintergrund

Verfasst: 20. Mai 2006, 15:20
von herw
Workshop 1.4: Akustik - physikalischer Hintergrund post #1

Damit es keiner falsch versteht: ich sage hier nichts über Schallerzeugung und Schallausbreitung, sondern beschränke mich nur auf die Aspekte, die für REAKTOR relevant sind.

Wie ich weiter oben schon erwähnt habe, „zählt” man die Schwingungen pro Sekunde in der Einheit 1 Hz (Hertz).
Der Kammerton a wird üblich mit 440Hz angegeben, d.h. der Schwingungserzeuger (Gitarrensaite, Flötenrohr, etc.) schwingt 440 mal in der Sekunde.
Spielt man ein Instrument, so denken wir meistens in Halbtonschritten, d.h. in gleichmäßigen (linear steigenden oder fallenden) Schritten: wenn wir uns vom Ton a um drei Halbtöne nach oben bewegen, so landen wir beim c egal in welcher Oktave wir uns befinden. Nun steigen dabei aber die entsprechenden Frequenzen nicht linear an. Von Halbton zu Halbton besteht zwar immer der gleiche Abstand, doch steigen die Frequenzen exponentiell, d.h. mit einem bestimmten Faktor.
Hier ein paar einfache Beispiele:
Kammerton a (entspricht in unserem ersten Ensemble der Taste A3 bzw. auf der Computertaste dem „z”).
Im zweiten Ensemble sehen wir den Pitchwert 69 und die Frequenz 440,0032Hz angezeigt.
Wir klicken nun A4 an (Computertastatur SHIFT N) und erhalten Pitch 81 (69+12) und 880,0064Hz. Nun noch A5 (SHIFT Z): Pitch 93 bzw. 1760,012Hz.
So gut so schön, aber wie erhalten wir die Zwischentöne? Nun wir fordern, dass die Frequenzen von Halbton zu Halbton immer mit demselbem Faktor multipliziert werden. Nach zwölf Halbtönen und zwölfmaliger Multiplikation mit einer Zahl k müssen wir insgesamt den Faktor 2 erreichen:
Bild
D.h. die Frequenz zum Ton B3 beträgt also
Bild.
Wer Lust hat, mit dem Taschenrechner einige Werte auszurechnen und dann am Ensemble zu bestätigen, der kann diese Umrechnungsformel für Pitchwerte P in die Frequenz f benutzen:
Bild

Re: WORKSHOP 1.4: Akustik - physikalischer Hintergrund

Verfasst: 20. Mai 2006, 16:33
von herw
Workshop 1.4: Akustik - physikalischer Hintergrund post #2

Wir wenden uns noch einmal dem zweiten Ensemble zu (download siehe WORKSHOP 1.3 post #2) und schauen in die Struktur des Moduls „saw”:Bild
Ich gehe auf drei Module ein.
  • der Transpose-Regler und das Midi-Eingangs-Modul NotePitch
    Wie der Name schon sagt, kann man mit dem Regler die (Ton-) Stimmung verändern (transponieren), in diesem Fall in Halbtonschritten. Wir klicken auf den unteren Rand des Regler-Moduls Transpose, so dass sich die Properties öffnen.
    Bild
    Ich möchte den Regelbereich (Range) ändern. Daher verändern wir den unteren Wert auf -36 und den oberen auf 72. D.h. wir können mit diesem Regler nun die Stimmung um 3 Oktaven nach unten bzw. 6 Oktaven nach oben verändern. Damit die Stimmung in Halbtonschritten geschieht, setzen wir die Stepweite auf 1 und erhalten so einen Reglerraum von 108 Werten;

    Eine kleine aber nicht unwichtige Bemerkung: Die Maus-Auflösung MOUSE RESO muss dabei um einen Wert höher gesetzt werden als die Anzahl der Regler-Schritte (NUM STEPS), da ja (wie auch übrigens bei dem mouse-area-Modul) mit der Maus die 36 negativen Werte, die 0 und die 72 postiven Werte dargestellt werden müssen. Wer diesen kleinen Unterschied zur Maus-Auflösung von 108 mal testen will, der ändere den Wert und steppe mit der Cursortaste bei aktiviertem Regler alle Werte durch; dabei wird man bemerken, dass trotz Betätigen der Cursurtaste einige Reglerwerte übersprungen werden.

    Damit man etwas angenehmere Töne hört, habe ich beim Oszillator die Dreieckswellenform mit dem Ausgang und dem Oszillographen verbunden. Wir setzen den Transpose-Regler auf den Wert 0.
    Wir drücken die Taste C2 (P=48, f=130,8Hz, Tastatur y) und regeln bei gedrückter Taste den Transpose-Knopf auf den Wert -36. Um den aktuellen Pitchwert zu überprüfen, müssen wir die Taste kurz loslassen und nochmals drücken, damit der Anzeige-Wert aktualisiert wird. Wir sehen Pitch 12. Schauen wir noch einmal auf die Struktur dann wird klar, was geschehen ist: Wir haben den vom Midi-Modul NotePitch erhaltenen Wert 48 durch das Additionsmodul auf 48+(-36)=12 verringert. Entsprechend erhalten wir bei positiven Werten von Transpose eine Tonhöhenveränderung nach oben hin bis zum Wert 48+72=120.
    Wir testen den maximal möglichen Bereich und hören bis P=127 (Tastatur „b”) noch (bei frischem Gehör) einen schon sehr hohen unangenehmen Ton. Die Frequenz wird mit etwa 12543Hz angezeigt. Das ist etwa Musik-Kassetten-Qualität. Unser Gehör schafft in jungen Jahren etwa Frequenzen bis 16000Hz später etwa 1000Hz bis 2000Hz weniger. Was etwa einem Halbton niedriger entspricht. D.h. der Midibereich, der den maximalen Wert von 127 liefert, deckt fast unseren Hörbereich ab.
    Mit Hilfe des Addierers können wir den Oszillator ja noch mit höheren Werten füttern aber wir bemerken, dass die Tonskala dann nicht mehr weiter eingehalten wird (falls wir überhaupt noch etwas hören; eventuell zur Sägezahnschwingung wechseln). Das liegt daran, dass nun nur noch Artefakte beim Abtasten der Schwingung übrigbleiben und so irgendwelche Schwingungen erzeugt werden, die aber mit den Pitchwerten nichts mehr zu tun haben. Interessant sind Pitchwerte mit 134 und höher. Man erkennt am Oszillographen (Dreifachschalter auf „1”) sehr deutlich, dass im Wesentlichen nur noch ein Wert pro Schwingung abgetastet wird (Nyquist-Frequenz s.o.); der Oszillograph zeigt eine Rechteckschwingung mit unterschiedlichen Amplituden.
    Wer noch experimentieren möchte, der kann den Transpose-Regler auch mit geringen Schrittweiten einstellen, dadurch hat man zum Beispiel die Möglichkeit, die Stimmung unseres ”Synthesizers” mit externen Instrumenten sehr fein zu regeln; oder man kann ein Musikstück zwar in C-Dur spielen, der Sänger braucht aber eine andere Tonlage; kein Problem mit dem Transpose Regler!
  • das Pitch-zu-Frequenz-Modul
    Dieses Modul benutzt genau die Formel, die ich in der letzten Post angegeben habe:
    Bild
    und erledigt für uns die Umrechnung in die Einheit Hz. Da ich mit der numerischen Anzeige nur jeweils einen Wert behandeln kann, muss ich aus den benutzten Tasten eine auswählen; das erledigt das Macro „last pitch”, das jeweils den Wert der zuletzt angeschlagenen Taste auswählt. Wenn man mal die Finger über die Tastatur perlen lässt, erkennt man die Funktionsweise.

Re: WORKSHOP 1.5 nebenbei bemerkt

Verfasst: 21. Mai 2006, 09:31
von herw
Workshop 1.5 nebenbei bemerkt post #1

Ich komme zum Abschluss dieses Workshops. Natürlich bleiben (bewusst) einige Fragen offen:
  • Warum wird im Ensemble die Lautstärke beim primary-level-Oszillator anders geregelt als beim Core-Cell-Oszillator? (siehe WORKSHOP 2)
  • Wieso besitzt der Multiwave-Oszillator so viele Eingänge und wann werden sie gebraucht?
  • Warum gibt es überhaupt verschiedene Primary-Level-Oszillatoren und nicht einfach nur einen Multiwave-Oszillator?
  • Wie kann ich den langweiligen Klang unseres einfachen „Synthesizers” nun professionell aufbessern?
Das Einsteigerworkshop sollte genau diese Fragen nicht klären; aber keine Angst es geht weiter und nach drei bis vier Workshops wird ein fast professioneller Synthesizer entstehen.

Auf einen Aspekt möchte ich hier noch eingehen. Wir schauen uns noch mal das erste Ensemble an und verbinden in der Struktur den Ausgang des Primary-Level-Oszillators mit dem Audio-Ausgang des Makros.
Bild
Wir sehen in der Abbildung seltsame Zahlen unter dem Oszillator-Modul und dem Voice-Combiner. Dies ist ein Analyse-Feature, das REAKTOR zur Verfügung stellt.
Wir erreichen diesen Modus über den Menüpunkt „SYSTEM/DEBUG/MEASURE CPU USAGE”, was soviel bedeutet wie: Analyse des CPU-Verbrauchs.
Bild
Ist dieser Punkt aktiviert, dann werden in der Struktur (ungefähre) Werte der Beanspruchung unseres Rechners angezeigt. Man hört nun den Oszillator übrigens nicht mehr schwingen, obwohl dies eigentlich laut der Voreinstellung von REAKTOR möglich sein sollte (aber das ist ein anderes Kapitel ;-) ).
Die Anzeige des Verbrauchs wird in Prozent (hier 0,1%) angegeben und hängt vom benutzten Rechner ab (mein Modell ist relativ schnell, daher sind die Werte klein). Dies erscheint zunächst mal sehr wenig zu sein. Bedenkt man jedoch mal den Verbrauch so großer Ensembles wie die von Ernest Meier (z.B. MARX oder LEVIATHAN) oder auch die aus der mitgelieferten Library wie FM4 oder gar FM4 Dual, dann kommt man gar zu schnell an die Grenzen.
Wir wechseln nun die Anschlüsse, ohne den Debug-Moduls zu verlassen, so dass nun der Multiwave-Oszillator aktiviert ist:
Bild
Uff, das ist glatt das 25-fache, 2,5%. Was soll das? Haben die Entwickler schlecht gearbeitet? Nun sie haben sehr gut gearbeitet , wenn man bedenkt, dass hier vier Wellenformen gleichzeitig angeboten werden und das Alaising-Problem ja offenbar besser gelöst wurde als beim Primary-Level-Oszillator (siehe Beginn des Workshops).
Trotzdem gibt es auch dort noch Optimierungsmöglichkeiten. Sicherlich wird man im Live-Betrieb auf ein Laptop zurückgreifen wollen, der CPU-Verbrauch steigt dort stark an und sicherlich ist der Primary-Level-Oszillator dann oft doch die erste Wahl. In hoch entwickelten Ensembles wie in denen von James Walker-Hall (3X v1.8 siehe das Top -Ensemble der user library) oder den vielen Ensembles von Ernest Meyer findet man immer wieder, dass die Oszillatoren des Primary-Level doch erste Wahl sind. Warum die Core-Cell soviel mehr CPU-Last verbrauchen, ist intern bedingt und kann mit einiger aber auch endlicher Mühe durchaus beseitigt werden. Aber dazu in einem Fortgeschrittenen-Workshop mehr.

Ich hoffe, dass alle Leser Spaß an diesem Workshop hatten, wie ich selbst auch. Kritik und offene Fragen können in dem Diskussions-Thread gestellt werden. Ich kann und will hier auch nicht alles abdecken, denn es soll ja auch schrittweise weitergehen.
Die Fortsetzung ist das WORKSHOP 2 : Lautstärke