Skip to main content

Lektion 3 - Line, Metro und Automatisierung von Prozessen

Completion requirements
Ihr lernt etwas über die graphische Kontrolle und Automatisierung on Prozessen rund um Line- und Metro-Objekte, um Tonhöhe und Lautstärke zu kontrollieren.

Lektion 3:

edu sharing object


Video-Transkript

00:08 - Lektion 03. Line, Metro und Automatisierung von Prozessen. In diesem Tutorial werden wir einige Objekte vorstellen, um den Patch, den wir im vorigen Tutorial erstellt haben, schöner aussehen zu lassen. Lassen Sie uns unseren Patch verfeinern, indem wir zum Beispiel ein grafisches Steuerelement für die Lautstärke einführen, der Name eines solchen Kontrollobjekts ist "slider" und kann im Menü unter "Insert" —> "vertical slider" gefunden werden. Wenn Sie mit der rechten Maustaste daraufklicken und "Properties" auswählen, können wir dem Schieberegler einen passenden Bereich zuweisen. Da wir Gleitkommazahlen zwischen 0 und 1 wollen, um die Lautstärke zu reduzieren, müssen wir dieses Feld hier bearbeiten. 01:02 - Jetzt können wir es entweder direkt mit unserem Signalmultiplikator oder mit der "numberbox " verbinden, wenn wir die Zahl anzeigen wollen, die vom Schieberegler generiert wird. Ähnliches können wir auch für den Oszillator tun. Wir nehmen einen horizontalen "slider". 01:23 - Wir verbinden ihn, und sobald wir das "properties"-Fenster anzeigen lassen, können wir einen geeigneten Bereich von Frequenzen zuweisen. Auf diese Weise erhalte ich eine vielseitigere Kontrolle über das Signal, das ich produzierte. 01:50 - Wir können jetzt ein neues Objekt einführen, das es uns ermöglicht, Rampen zu erstellen. Was ist eine Rampe? Eine Rampe ist eine Folge von Werten in aufsteigender oder absteigender Reihenfolge, die innerhalb eines zugewiesenen Bereichs erfolgt. Um zu sehen, wie sie funktioniert, lassen Sie uns ein neues Objekt erstellen und "line tilde" schreiben, weil wir eine Rampe für Signale erstellen möchten. Lassen Sie uns den Schieberegler löschen, indem Sie ihn auswählen und die Löschtaste drücken und wir verwenden unsere "line", um den richtigen Operanden des Multiplikators einzustellen. Die Idee ist, ein Crescendo für unsere Lautstärke von 0 bis 1 zu erstellen. 02:39 - Um das Crescendo zu erzeugen, müssen wir der „line“ zwei Dinge mitteilen: Welchen Wert wir erreichen wollen und wie lange die Rampe dauern wird. Dazu brauchen wir eine "message". Um eine „message“ erstellen zu können, drücken Sie ctrl_2/cmd_2 oder wählen im Menü "Insert" —> "Message". Sie können anhand der Form erkennen, dass dieses Feld eine Nachricht ist und kein Objekt. 03:10 - Lassen Sie uns in unserer Nachricht 1 schreiben, denn wir wollen, dass „line“ 1 erreicht, und zum Beispiel 5.000, denn wir wollen 1 in 5 Sekunden erreichen wollen, oder eben nach der "line"-Syntax, 5.000 Millisekunden. Bevor Sie es versuchen, lassen Sie uns eine weitere „message“ erstellen, um in 1 Sekunde wieder auf 0 zu gehen. 03:53 - Wir könnten auch etwas Ähnliches für unseren Oszillator tun. Lassen Sie uns also eine neue „line“ erstellen und sie mit dem Oszillator verbinden. 04:11 - Sagen wir, wir wollen 1.000h Hz in 3 Sekunden erreichen, und gehen zurück zu 50 Hz in 2 Sekunden. Also im Grunde haben wir ein „glissando“ implementiert. 04:46 - Lassen Sie uns nun einige neue Objekte vorstellen, die es uns ermöglichen, einige der Prozesse, die wir bisher manuell gemacht haben, zu automatisieren. Sagen wir, dass wir dieses Glissando periodisch und gleich für "crescendo" und "decrescendo" erstellen möchten. Lassen Sie uns zunächst die Dauer unseres Glissandos verkürzen. Zum Beispiel 30 Millisekunden, um 1.000 Hz zu erreichen und die gleiche Zeit um wieder auf 50 Hz zu gehen. 05:24 - Jetzt brauchen wir etwas was in der Lage ist diese beiden Nachrichten periodisch auszulösen. Um dies zu tun, müssen wir die "bangs" produzieren, die wir bereits zuvor kennengelernt haben, aber mit einer bestimmten Rate. Das Objekt dafür wird "metro" genannt, weil es im Grunde als Metronom fungiert. Es nimmt als Argument die Geschwindigkeit oder die Rate, mit der ich die "bangs" auslösen möchte. Sagen wir, eine halbe Sekunde, also 500 Millisekunden. Wenn ich einen "bang" mit dem Ausgang vom "metro" verbinde, sehe ich noch nichts, weil das „metro“ noch ausgeschaltet ist. Um es einzuschalten, muss ich ein neues spezielles Objekt einführen, das "toggle" genannt wird, und es mit dem Eingang vom "Metro" verbinden. Dieses Objekt ist nur ein Schalter; wenn ich es einschalte, sendet es eine 1 aus, wenn ich es wieder ausschalte, sendet es eine 0 aus. Lassen Sie uns versuchen, es in Aktion zu sehen, und die „bangs“ kommen jede halbe Sekunde aus dem "Metro". 06:44 - Natürlich kann ich einfach eine andere Geschwindigkeit für das "metro" einstellen, indem ich eine "numberbox" verwende und sie mit dem rechten Eingang des „metro“ verbinde. Da, wie wir bereits gesagt haben, die Zahl an einen kalten Eingang gesendet wird, wird das Argument des Objekts überschrieben. 07:06 - Wir können nun diesen „bang“ mit der Nachricht verbinden, die die Frequenz des Oszillators festlegt. Wie Sie vielleicht feststellen, gibt es keinen Unterschied; der Grund ist, dass der Oszillator bereits 1.000 Hz erreicht hat, sodass wir eine Möglichkeit brauchen, um ihn wieder auf 50 Hz zu setzen. Um dies zu tun, kann ich zuerst einen anderen "toggle" mit dem "bang" verbinden, der aus dem "metro" kommt. 07:43 - Wie Sie sehen, wird bei jedem Erhalt eines „bangs“ der „toggle“ alternativ auf 1 oder 0 gesetzt. Ich kann dieses Verhalten überprüfen, indem ich eine numberbox mit diesem Schalter verbinde. Jetzt muss ich meinem Algorithmus nur sagen, wenn der "toggle" auf 1 gesetzt ist, lös das Glissando nach oben aus, wenn er auf 0 gesetzt ist, lös das Glissando nach unten aus. 08:14 - Das Objekt, das uns dies ermöglicht, heißt "select". Wenn "select" einen Wert erhält, der seinem Argument entspricht, sendet er einen „bang“ von einem bestimmten Ausgang aus. Da der "toggle" nur 0 und 1 produziert, werden dies die Argumente von "select "sein. Wenn "select" 1 erhält, sendet es einen "bang" von dem linken Ausgang aus; wenn er 0 empfängt, geht der „bang“ aus dem mittleren Ausgang aus; wenn der eingehende Wert mit keinem Argument übereinstimmt, geht der Wert aus dem rechten Ausgang aus. Sie können dies ganz einfach überprüfen, indem Sie 2 neue „bangs“ erstellen und diese mit dem Ausgang von „select“ verbinden. Jedes Mal, wenn wir auf ein neues Objekt stoßen, ist es eine gute Idee, den Hilfe-Ordner zu überprüfen. Um es ansehen zu können, klicken Sie mit der rechten Maustaste auf das Objekt, von dem Sie mehr wissen möchten, und wählen Sie "Help" aus dem Kontextmenü. 09:27 - Lassen Sie uns die Hilfedatei schließen und fortfahren. Jetzt können wir unsere beiden „bangs“ mit den „messages“ verbinden, die wir auslösen wollen und die Lautstärke erhöhen, um das Ergebnis zu hören. 09:55 - Auf diese Weise können wir rhythmische Glissandi erzeugen. An dieser Stelle steht uns frei, auch eine andere Geschwindigkeit für das "Metro" einzustellen und ich kann bereits einige interessante Szenarien erstellen. 10:14 - Nichts hindert uns daran, auch für die Kontrolle der Lautstärke etwas Ähnliches zu tun. Es genügt, den Teil des Algorithmus, den wir wiederholen möchten, zu kopieren und einzufügen, indem Sie ihn auswählen und ctrl_C/cmd_C zum Kopieren und ctrl_V/cmd_V zum Einfügen eingeben. Dann kann ich das Ganze bewegen und den Ausgang von "select" mit den „messages“ verbinden, die ich an das "line"-Objekt senden möchte, das die Lautstärke steuert. Passen wir die Länge der Rampe der Lautstärke an, um die rhythmischen Aspekte besser wahrzunehmen. 11:25 - Das Letzte, was wir tun können, ist, das "bang" zu löschen, das wir verwendet haben, um das "tabwrite"-Objekt auszulösen, weil wir jetzt zum Beispiel die "bangs" verwenden können, die von dem "metro" gesendet werden, das den Oszillator steuert, um das "Tabwrite" automatisch auszulösen. Wie Sie sehen, ist "metro" ein extrem vielseitiges Objekt, das uns erlaubt, etwas zyklisch auszuführen. 11:54 - Mit diesem Basis-Patch sind wir bereits in der Lage, eine interessante Vielfalt an Ergebnissen zu erzielen. Im nächsten Tutorial werden wir sehen, wie wir Zufälligkeit in unsere Prozesse einführen können.



Beispiel Patch:

 

edu sharing object
 

Last modified: Tuesday, 12 September 2023, 7:22 PM