Jazzmutant Lemur

Einsteigertipps zum Jazzmutant Lemur

FTP/sFTP-Verbindung mit Jazzmutant Lemur aufbauen

  1. Lade Dir ein FTP Programm wie bspw. WinSCP herunter
  2. Der Hostname ist stets die IP-Adresse Deines Lemur's
  3. Der Benutzername ist lemur
  4. Das Passwort ist leer
Slider in Lemur
Slider in Lemur
Funktionsvorschrift von Lemur-Slider auf Panning
Funktionsvorschrift von Lemur-Slider auf Panning
Mapping für Pitch-Slider
Mapping für Pitch-Slider

Tutorial 1 - Pitch-Slider für MIDI

Das erste Tutorial zum Jazzmutant Lemur wird einen Pitch-Slider für MIDI-Instrumente entwickeln. Hierbei geht es vor allem um eine Rechenvorschrift für den vom Lemur zur Verfügung gestellten Wertebereich 0 bis 1, der auf den Wertebereich des Pitchings von -64 bis 64 gemappt werden soll. Ein Monitor soll den aktuellen MIDI-Pitch-Wert anzeigen und ein Pad soll das Pitching bei Bedarf auf 0 zurücksetzen können.

  1. Öffne des JazzEditor und lege einen Slider mit den folgenden Properties und Behavior an:
    • Properties
      • Name: Pitchslide
      • X: 0 | Y: 0 | W: 60 | H: 450
      • Horizontal: no
      • Bipolar: yes
      • Label: no
      • Slider: 1
      • Gradient: yes
      • Multicolor: yes
      • Light: 0
    • Behavior
      • Grid: no
      • Capture: yes
      • Tension: 0.2
      • Fricition: 0.9
      • Height: 0.5
  2. Unter den Slider wird ein Monitor mit den folgenden Eigenschaften angelegt:
    • Properties
      • Name: Finepitch
      • X: 0 |  Y: 452 | W: 60 | H: 40
      • Label: no
      • Value: Pitchslide.y
      • Precision: 3
      • Font: 12pt
  3. Unter den Monitor wird ein Pad mit den folgenden Eigenschaften angelegt:
    • Properties
      • Name: PitchResetPad
      • X: 0 |  Y: 492 | W: 60 | H: 40
      • Label: no
      • Columns: 1
      • Rows: 1
      • Light: 0
    • Behavior
      • Capture: yes
      • Attack: 0
      • Decay: 0
      • Sustain: 1
      • Release: 0
      • Hold: 0
  4. Die 3 Objekte sehen nun wie in der Abbildung 1 aus.
  5. Im nächsten Schritt muss eine Abbildungsvorschrift für den Lemur-Slider mit dem Wertebereich von 0 bis 1 auf das MIDI-Pitching gefunden werden. Das Pitching besitzt in Cubase Werte zwischen -64 bis 64. Es muss also eine Funktion gefunden werden, die beim Lemur-Slider-Wert 0 eine -64 anzeigt und beim Lemur-Slider-Wert 1 eine 64 anzeigt. Die Funktion dazu sieht wie folgt aus: (siehe Abbildung 2)
    Es ist zu sehen, dass wenn der Lemur-Slider einen Wert von 0 besitzt, das Pitching bei -64, also ganz links ist. Ist der Lemur-Slider auf dem Wert 0,5, dann befindet sich das Pitching bei 0, also genau in der Mitte. Und ist der Lemur-Slider bei 1, so ist das Pitching bei 64, also ganz rechts.
    Dass es sich um eine lineare Funktion handelt, ist der Ausgangspunkt der Funktion: f(x)=m*x+n mit m für die Steigung und n mit dem Schnittpunkt der Funktion mit der y-Achse. n ist also n=-64. Die Steigung m errechnet sich aus:

    m = (y2-y1)/(x2-x1) = (64-0)/(1-0,5) = 64/0,5 = 128.

    Die daraus resultierende Funktion ist nun: f(x)=128*x-64. Nun kann der Pitch-Slider zu Ende entwickelt werden.
  6. Für den PitchSlide wird eine neue Expression mit der Variable y=128*x-64 angelegt. Diese Variable wandelt die entsprechenden Werte um. Ebenfalls für den PitchSlide erstelle ich ein neues Script mit dem Namen FaderWide():
    • Execution: OnExpression x any     
    • Pitchslide.y=128*x-64;
  7. Damit der Pitch-Slide stets auf die Mitte zurückgesetzt werden kann, wird für den Pad PitchResetPad ein Skript mit dem Namen Pitchreset() angelegt:
    • Execution: OnExpression x any
    • Pitchslide.x=0.5;
  8. Im letzten Schritt muss der Slider auf den entsprechenden MIDI-Kanal gemappt werden. Klicke also auf den Slider Pitchslide und übernehme das folgende Mapping: (siehe Abbildung 3)

Tutorial 2 - Panning-Slider für MIDI

Das zweite Tutorial baut direkt auf das Erste auf. Die drei Objekte Slider, Monitor und Pad können kopiert werden. Es erfolgt lediglich eine Anpassung einzelner Werte und Attribute.

  1. Slider
    • Properties
      • Name: Panningslide
      • X: 60 | Y: 0 | W: 600 | H: 60
      • Horizontal: yes
      • Bipolar: yes 
      • Label: no
      • Slider: 1
      • Gradient: yes
      • Multicolor: yes
      • Light: 0
    • Behavior
      • Grid: no
      • Capture: yes
      • Tension: 0.2
      • Fricition: 0.9
      • Height: 0.5
      • Für den Panningslide gibt es die Variable y mit dem Wert = 128*x-64 und das Skript PanningWide() mit dem Code: Execution: OnExpression x any Panningslide.y=128*x-64;
  2. Neben dem Slider wird der Monitor positioniert. Dieser besitzt die folgenden Werte und Attribute:
    • Properties
      • Name: Panning
      • X: 657 |  Y: 0 | W: 60 | H: 60
      • Label: yes
      • Value: Panningslide.y
      • Precision: 0
      • Font: 12pt
  3. Rechts neben dem Monitor wird das Pad positioniert und mit den folgenden Werten und Attributen gefüllt:
    • Properties
      • Name: PanningResetPad
      • X: 724 |  Y: 0 | W: 60 | H: 60
      • Label: no
      • Columns: 1
      • Rows: 1
      • Light: 0
    • Behavior
      • Capture: yes
      • Attack: 0
      • Decay: 0
      • Sustain: 1
      • Release: 0
      • Hold: 0
    • Für das Pad wird das Skript PanningReset() mit dem folgenden Code angelegt:
      • Execution: OnExpression x any
      • Pitchslide.x=0.500;
  4. Im letzten Schritt muss der Slider auf den entsprechenden MIDI-Kanal gemappt werden. Klicke also auf den Slider Panningslide und übernehme das folgende Mapping: siehe folgende Abbildung

Nun werden mit dem Slider alle Panning-Informationen zwischen -64 und +64 an die DAW gesendet.

Mapping für Panning-Slider
Mapping für Panning-Slider

Tutorial 3 - MultiSlider mit An/Aus-Schalter

Das folgende Tutorial beschreibt, wie auf Knopfdruck ein MultiSlider so angesteuert wird, dass jede Sekunde ein Balken vom Wert ausgelesen wird. Der Balken, der derzeitig aktiv ist wird zudem beleuchtet.

  1. Erstelle einen CustomButton.
  2. Gib dem Switch den Namen Schalter.
    • Der Schalter erhält standardmäßig den Wert x, der bedeutet:
    • Ist x=0, dann ist der Schalter nicht aktiv.
    • Ist x=1, dann ist der Schalter aktiv.
  3. Erstelle einen MultiSlider.
  4. Gib ihm den Namen Slider.
  5. Der Slider soll aus 64 Balken (Slider) bestehen.
  6. Erstelle im MultiSlider eine Expression.
  7. Klicke dazu im Project-Fenster auf: Create Expression.
  8. Nenne die Expression walker.
  9. Die Expression walker erhält als Wert: Schalter.x?((time*1)%64):walker
  10. Damit eine Veränderung beim MultiSlider zu sehen ist, muss für die MultiSlider-Variable light der folgende Wert angegeben werden: set(stretch(0, 64), 1, walker)
  11. Die Expression walker bedeutet, dass sich jede Sekunde der leuchtende Balken im MultiSlider bewegt.

Möchte man, dass acht Balken pro Sekunde "durchleuchtet" werden, dann muss der Wert wie folgt geändert werden: Schalter.x?((time*8)%64):walker

Ein Screenshot über die getätigten Schritte kann über das folgende Bild eingesehen werden.

Tutorial 4 - MultiBall für Modulation, Volume, Balance, Panning, Expression und Portamento

Das folgende Tutorial beschreibt, wie mit Hilfe von drei MultiBalls die folgenden Control Changes per Zufall angesteuert werden:

  • Modulation (CC 1)
  • Volume (CC 7)
  • Balance (CC 8)
  • Panning (CC 10)
  • Expression (CC 11)
  • Portamento time (CC 5)

Erstelle ein MultiBall-Feld mit dem Namen MultiBall. Die Höhe (height) und Breite (width) des Feldes beträgt jeweils 400. Das MultiBall-Feld soll drei Bälle beinhalten.

Folgende Werte soll das MultiBall-Feld abweichende von den Standardwerten besitzen:

  • Numbers: ja
  • Cursor Mode: Limited
  • Physics: Mass-Spring
  • Friction: 0
  • Speed: 1

In dieser Phase können die Bälle berührt werden und bewegen sich unendlich lang im Feld.

Das Feld spannt sich nach rechts in x-Richtung und nach oben in y-Richtung auf. Die Bälle geben innerhalb des Feldes stets ihre x- und y-Position wieder.
Die Werte können für jeden einzelnen Ball erfragt werden:

  • Ball 0: x[0] und y[0]
  • Ball 1: x[1] und y[1] und
  • Ball 2: x[2] und y[2].

Möchte man, dass diese Werte die Control Changes Werte beeinflussen, so muss jeder dieser Werte einer einzelnen Variable zugeordnet werden. Klicke im Project-Fenster auf MultiBall und klicke danach auf Create Expression. Nenne den Ausdruck x0. Weise im Fenster Script der Variable x0 den Wert x[0] zu. Wiederhole diesen Schritt fünf weitere Male: y0=y[0], x1=x[1], y1=y[1], x2=x[2] und y2=y[2].

Nun sollte jede Varibale im Mapping Fenster gemappt werden können. Wähle für jede Variable x0, x1, x2, y0, y1 und y2 den entsprechenden Control Change Befehl und gibt stets ein Scale von 0 bis 127 an.