1. Funktionsweise & Steuerung der Zufallsposition
Um bei jedem Schlagzeug-Hit einen Kreis an einer neuen, festen Position aufblitzen zu lassen, teilen wir das System in zwei Bereiche: die Trigger-Erkennung und die Zufalls-Generierung.
Signalfluss der Kette
AudioDeviceIn ──> AudioFilter ──> Analyze ──> Slope ──> Logic ──> Trigger ──> Count ─(Seed)─> Noise ──> Math ──> Circle TOP
Die Aufgaben der Operatoren im Detail
1. Slope CHOP – Was misst er genau?
Der Slope CHOP misst nicht die Gesamtdauer oder "Länge" eines Tones, sondern die Veränderungsgeschwindigkeit (Steigung / Ableitung) des Audiosignals von Frame zu Frame
($v = \frac{dx}{dt}$).
- Langer Ton / Pfeifen: Der Lautstärkepegel ist zwar hoch, verändert sich aber von Frame zu Frame kaum ➔ Slope ist nahe
0. - Perkussiver Schlag (Kick / Snare / Klatschen): Der Pegel schießt in 1 bis 2 Frames von Null auf Maximum ➔ Slope erzeugt einen hohen, steilen Impuls-Peak.
- Einstellung:
Type: Slope,Method: Previous and Current. Wichtig:Slope per Samplemuss deaktiviert sein!
2. Logic CHOP – Das Schwellenwert-Tor
Prüft, ob der Steigungsimpuls hoch genug ist, um als echter Schlag gewertet zu werden.
- Channel Pre OP:
Off when Outside Bounds - Low Bound (Option 1): Ca.
3.0bis8.0(schneidet Nebengeräusche und Sprache ab). - High Bound (Option 2):
1000.0(damit laute Anschläge nicht abgeschnitten werden).
3. Trigger CHOP – Das Entprellen (Trommelwirbel & Entprellung)
Ein echter Schlagzeug-Hit wackelt beim Anstieg minimal nach. Der Trigger CHOP verhindert, dass aus einem einzigen Schlag mehrere Fehlauslösungen entstehen.
Diese Konfiguration verwandelt den Trigger CHOP in einen messerscharfen, ultraschnellen Impulsgeber. Sie sorgt dafür, dass extrem schnelle Trommelwirbel (bis zu 30 Schläge/Sek.) lückenlos gezählt werden, während das Mikro-Zittern bei gehaltenen Tönen zuverlässig blockiert wird.
1. Karteireiter: Trigger
Steuert die Empfindlichkeit, das Ansprechverhalten und die zeitliche Sperre gegen Mehrfachauslösungen.
| Parameter | Einstellung | Funktion & Erklärung |
|---|---|---|
| Trigger-Threshold | 0.5 |
Standard-Schwellenwert für das digitale Logik-Signal. |
| Re-Trigger-Delay | 0.03 |
Schlüsselfaktor: Sperrt das Signal nach einem Treffer für genau 30 ms. Ignoriert das Zittern bei langen Tönen, lässt aber schnelle Wirbel durch. |
| Min-Trigger Length | 0.0 |
Garantiert eine sofortige Reaktion im allerersten Frame ohne künstliche Verzögerung. |
| Trigger On | Increasing Values |
Reagiert sofort auf die ansteigende Flanke (Signal wechselt von 0 nach 1). |
| Multi Trigger | Restart Envelope |
Setzt den Impuls bei jedem neuen Schlag mitten im Wirbel sofort neu an. |
| Clamp at Peak Level | Off |
Verhindert das künstliche Beschneiden von schnellen Folgeschlägen. |
| Update Once per Cycle | Off |
Erlaubt das Auslösen neuer Impulse auch während eines laufenden Zyklus. |
| Complete Envelope | Off |
Wichtig: Der laufende Impuls darf abgebrochen und sofort neu gestartet werden. |
| Remainder | Discard Remainder |
Verwirft Signalreste für saubere, abgegrenzte Impulse. |
2. Karteireiter: Attack
Definiert das Verhalten im ersten Moment des Einschlags sowie die Spitzenzeit des Impulses.
| Parameter | Einstellung | Funktion & Erklärung |
|---|---|---|
| Delay Length | 0.0 |
Keine Startverzögerung; der Trigger reagiert instant im selben Frame. |
| Attack Length | 0.0 |
Das Signal springt ohne Anstiegszeit sofort auf den Maximalwert (1.0). |
| Attack Shape | Linear |
Direkter, ungeglätteter Signalverlauf. |
| Peak Level | 1.0 |
Voller Ausschlag für eine saubere Erkennung im Count CHOP. |
| Peak Length | 0.01 |
Hält das Maximum für knapp 10 Millisekunden oben. |
3. Karteireiter: Sustain
Verhindert das "Verkleben" des Signals, indem der Impuls blitzschnell wieder auf Null abfällt.
| Parameter | Einstellung | Funktion & Erklärung |
|---|---|---|
| Decay Length | 0.01 |
Lässt das Signal in 10 Millisekunden wieder komplett abfallen. |
| Decay Shape | Linear (oder Easing) |
Knackiger, direkter Abfall. |
| Sustain Level | 0.0 |
Hauptursache gelöst: Steht auf Null, damit das Signal nach dem Schlag nicht oben hängen bleibt. |
| Min Sustain Length | 0.0 |
Keine künstliche Haltezeit auf hoher Stufe. |
| Release Length | 0.01 |
Sehr kurzer Ausklang für sofortige Bereitschaft des nächsten Schlags. |
| Release Shape | Linear |
Lineares Ausklingen ohne sanftes Nachfedern. |
Durch
Sustain Level: 0.0 und die extrem kurzen Zeiten (jew. 0.01s) fällt das Signal nach jedem Schlag in unter 20 ms auf Null ab. Ein Folgeschlag im Wirbel nach z. B. 35 ms erzeugt dadurch eine glasklare neue 0 → 1 Flanke für den Count CHOP.
4. Count CHOP – Der Schlag-Zähler
Reagiert auf jeden sauberen Impuls vom Trigger und zählt stetig eine Zahl hoch (1, 2, 3, 4 ...).
- Trigger Condition:
Off to On(reagiert nur auf die aufsteigende Flanke des Impulses). - On Option:
Increase Count.
5. Noise CHOP – Zufall ohne Flattern
Der Noise CHOP erzeugt Pseudo-Zufall. Damit die Position starr stehen bleibt und nicht auf dem Bildschirm flattert, muss er statisch konfiguriert werden:
- Seed: CHOP-Referenz auf den
Count CHOP(op('count1')['chan1']). Jedes Mal, wenn der Count hochzählt, bekommt der Noise ein neues "Rezept" und würfelt die Position neu aus. - Reiter Noise:
Type: Random(Period wird automatisch ausgegraut). - Reiter Channel:
Channel Names: tx ty. - Reiter Common (Gegen das Flattern):
Time Slice: OFF(Schaltet die Zeitbewegung ab). Setze Start/End auf0(1 Sample).
6. Math CHOP – Anpassen an die Bildschirmgröße
Standard-Random liefert Werte von 0.0 bis 1.0. Der Math CHOP skaliert sie passend für das Display:
- Reiter Range:
From Range: 0.0 bis 1.0→To Range: -0.7 bis 0.7(hält die Kreise sauber im Sichtfeld).
Das Wort Seed bedeutet "Keimzelle". Es ist die Startzahl für den Zufallsgenerator. Gleicher Seed = Exakt gleiche Zufallswerte. Durch das Hochzählen des Count CHOPs wechselt der Noise CHOP bei jedem Schlagzeug-Hit stufenweise zum nächsten Zufallswert.
