Skip to main content

Lektion 9 - Erste Interaktion mit Frequenzmodulation

Completion requirements
Hier lernt ihr, wie ihr ein einfaches interaktives Szenario mit Daten erstellt, die ihr per TouchOSC versendet habt, und hierbei die Frequenzmodulation zu kontrollieren, Daten zu glätten, abzubilden und zu skalieren.

Lektion 9:

edu sharing object


Video-Transkript

00:06 - Lektion 09. Erste Interaktion mit Frequenzmodulation. In diesem Tutorial werden wir sehen, wie Sie ein erstes grundlegendes interaktives Szenario aufbauen und Sie werden auch mit zwei neuen Abstraktionen vertraut werden. Sie kennen bereits den "abstraction oscListener", der notwendig ist, um die Daten zu empfangen, wie wir gesehen haben. Diese Daten sind noch nicht nutzbar, und wir müssen sie bearbeiten. Worüber spreche ich? Erstens sind die Daten, die wir erhalten, nicht sehr genau, d. h. sie könnten aufgrund der schnellen Übertragungsrate einige inkongruente Werte enthalten, und das nicht nur aus diesem Grund. Inkongruente Werte werden auch "noise" genannt; die beste Strategie, um das "noise" im Datenfluss loszuwerden, ist es, es zu filtern. Obwohl es mehrere Strategien gibt, um Daten zu filtern, hat sich die Verwendung des sogenannten biquadratischen Tiefpassfilters als eine der effektivsten erwiesen. Lassen Sie uns ein neues Objekt erstellen und schreiben hierein: "abs underscore filter". Dies ist der Filter, den ich erwähnt habe und den ich bereits für Sie implementiert habe. Wie funktioniert er? Es ist an dieser Stelle nicht notwendig, die Mathematik dahinter zu verstehen, aber wenn Sie interessiert sind, können Sie auf das Objekt klicken und seinen Inhalt erkunden. Was Sie wissen müssen, ist, dass der linke Einlass die Daten aufnimmt, die gefiltert werden müssen. Der rechte akzeptiert eine Zahl im Bereich zwischen 0 und 1. Wozu dient er? Wir könnten sagen, dass der Bereich ungefähr die Menge der durchlaufenden Daten darstellt. Wenn er auf 0 gesetzt ist, laufen keine Daten durch, wenn er auf 1 gesetzt ist, ist es so, als würden Sie den Filter nicht verwenden, da alle Daten hindurchlaufen. Im Moment brauchen wir keine Zahl zuzuweisen, weil ich sie bereits für die Hälfte der Daten festgelegt habe, also 0.5 als Standard. Lassen Sie uns nun den ersten Ausgang des "oscListener" verbinden, der die Werte relativ zur Beschleunigung auf der x-Achse an den Einlass des Filters "abstraktion" sendet. Wiederholen Sie nun die Operation für die y- und z-Achse wie folgt. 02:52 - Wir brauchen noch eine aller letzte Abstraktion, bevor unsere Daten verwendet werden können. Die Daten, die wir betrachten, haben einen Bereich, der in der Regel von -2 bis 2 reicht. Dieser Bereich könnte nach Angaben des Unternehmens, das dieses Programm hergestellt hat, größer sein, zum Beispiel -4 bis 4, aber lassen Sie uns jetzt mit einem schmaleren Bereich arbeiten, der uns eine ziemlich feine Kontrolle ermöglichen wird. Das Problem ist, dass die Parameter der Synthese, die wir kontrollieren wollen, in der Regel einen anderen Bereich haben. Mit anderen Worten, wir müssen diese Werte skalieren. Erstellen Sie also ein neues Objekt und geben Sie "abs underscore scale" ein. 03:40 - Sie müssen auch 4 "numberboxes" mit der Maßstabsabstraktion ab dem zweiten Eingang verbinden. 04:15 - Durch diese "numberboxes" können wir die Skalierungsparameter einstellen: den aktuellen Bereich -2 bis 2, wie wir es in den ersten beiden "numberboxes" gesagt haben. Und den Bereich, auf den wir diese Werte skalieren wollen, aber im Moment lassen wir diese leer, weil wir den Bereich noch nicht kennen. 04:36 - Lassen Sie uns diesen Vorgang für die y- und z-Achse wiederholen. 05:10 - Und stellen Sie auch den eingehenden Bereich ein, der ist für alle 3 Achsen gleich. 05:20 - Wir sind fast fertig. Jetzt ist es an der Zeit, einige kreative Entscheidungen zu treffen, weil wir entscheiden müssen, welche Werte die verschiedenen Parameter der "FM"-Synthese steuern. Mit anderen Worten, wir müssen die eingehenden Werte den Syntheseparametern zuordnen, das heißt: „map“. Es gibt derzeit keine strengen Regeln für die Zuordnung. Die einzige Regel, sagen wir, ist, dass die Zuordnung, um effektiv zu sein, im klanglichen Ergebnis die Bewegung Ihrer Hand in einer verständlichen und sinnvollen Weise wiedergeben sollte. Eine eigene Entscheidung steht Ihnen nicht nur frei, sondern Sie sollten auch verschiedene Mapping-Einstellungen ausprobieren. Jetzt zeige ich Ihnen eine mögliche Einstellung. Jede horizontale Bewegung, wir reden also über die x-Achse, steuert die "carrier"-Frequenz. Bevor wir den Ausgang der Skalenabstraktion anschließen, müssen wir einen Bereich festlegen, innerhalb dessen sich der "carrier" bewegen soll. Ich würde 50 bis 1.000 Hz vorschlagen. Werte unter 50 Hz sind kaum hörbar, es sei denn, Sie verwenden spezielle Lautsprecher, Werte über 1.000 Hz können zu harten Ergebnissen führen. Vergessen Sie nicht, dass dies nur ein Vorschlag ist, ich ermutige Sie, mehrere verschiedene Bereiche nach den Ergebnissen zu versuchen, die Sie gerne hören würden. Lassen Sie uns den Ausgang der Skala verbinden, schalten Sie den "oscListener" ein und wir können bereits sehen, wie sich die Frequenz des „carriers“ ändert. 07:05 - Lassen Sie uns einen ersten Test machen, indem Sie den Ton einschalten, erhöhen Sie die Lautstärke und legen Sie einige Zufallszahlen für die anderen Parameter fest, nur um ein Ergebnis zu hören. 07:30 - Wie Sie sehen, wenn ich eine horizontale Beschleunigung mache, wird der "carrier" größer und umgekehrt. Ausgezeichnet! Lassen Sie uns nun den Ton wieder ausschalten. 07:47 - Jede vertikale Bewegung, also die y-Achse, steuert den "modulator". Der Bereich, den ich hier eingestellt habe, ist schmaler, sagen wir 50 bis 200 Hz sollte ausreichend sein und wir schließen es an. 08:15 - Jede Bewegung entlang der z-Achse steuert die Lautstärke. Hier ist, wie Sie wissen, der Lautstärkebereich 0 bis 1 und verbinden Sie es. Wir müssen noch die Mittenfrequenz des Filters einstellen, also lassen Sie es uns im Moment um 500 Hz zentrieren, und die Modulationstiefe, die wir manuell auf 100 einstellen können, oder jede andere positive Zahl, die Ihnen gefällt. Ich werde Ihnen gleich zeigen, wie Sie diese beiden letztgenannten Werte zuordnen, da wir bereits alle 3 Werte aus dem Beschleunigungsmesser verwendet haben. Lassen Sie uns den Ton wieder einschalten und beginnen, unseren kleinen Synthesizer zu spielen, indem Sie das Smartphone bewegen. 09:14 - Wow, wie Sie hören können, reagiert es nicht nur sehr auf unsere Gesten, sondern wir erhalten auch sehr interessante Ergebnisse. Schalten Sie nun den Ton wieder aus, um die letzten beiden Zuordnungen zu erstellen. 09:29 - Lassen Sie uns jetzt einige weitere Funktionen von TouchOSC verwenden. Das default-Layout mit dem Namen "Simple" und es sollte so aussehen. Wenn es nicht das ist, was Sie jetzt sehen, gehen Sie einfach zurück, indem Sie in die Ecke drücken und unter Layout wählen Sie "Simple". Das hätten wir. 09:57 - Auch die Werte, die aus diesen "sliders" oder "faders" kommen und sogar die "toggels" können in Pure Data abgerufen werden. Die Werte der "sliders" liegen im Bereich von 0 bis 1 und die Werte des ersten „slider“ kommen tatsächlich aus dem vierten Ausgang, der zweite aus dem fünften und so weiter. Der achte Ausgang sendet die Werte des horizontalen Schiebereglers, während der nächste Ausgang, der neunte, den Wert des ersten Schalters, hier 0 oder 1 sendet. Lassen Sie uns nun den ersten Schieberegler verwenden, um die Modulationsintensität zu steuern. Wir müssen keine Werte filtern, die von TouchOSC GUI kommen, weil sie nicht kontinuierlich sind, und tatsächlich müssen wir diese eingehenden Werte skalieren, die wir nur multiplizieren müssen, sagen wir mit 10.000, um eine große Vielfalt an resultierenden Sounds zu erzielen. 11:06 - Wir könnten dann den horizontalen Schieberegler verwenden, um die Mittenfrequenz des Filters zu steuern. Auch in diesem Fall brauchen wir die Skalenabstraktion nicht, weil wir eine Obergrenze für die Mittelfrequenz festlegen können, sagen wir zum Beispiel 5.000 Hz, nur durch eine Multiplikation wie diese. 11:46 - Wir fügen dann einen Offset hinzu, z. B. 100, weil sonst die niedrigste Grenze der Mittenfrequenz 0 wäre und das würde keinen Sinn machen, weil wir nichts hören würden. Super, wir sind jetzt bereit, mit unserem Synthesizer zu spielen und damit zu beginnen, seine klanglichen Möglichkeiten zu erkunden.



Beispiel Patch:

 

edu sharing object
 

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