MIDI-Controller „APCmini“, Vorstellung und Programmierung

Der MIDI-Controller von AKAI ( APCmini , Preis ca. 70 EUR) wird OHNE Treiber an den USB-Anschluss des PC‘s angeschlossen und ist sofort betriebsbereit.

Das Gerät hat 64 einzelne programmierbare Tasten und 9 Volumenregler. In mAirList sind sehr viele Funktionen als MIDI-Befehle hinterlegt und einsatzbereit.

Klickt man in mAirList unter „Systemsteuerung“, „Fernsteuerung“, „ MIDI“ an, so kann das vorhandene Gerät ausgewählt werden (APCmini).

image

Die aktuelle mAirList Version lautet: 6.3.2 Build 4356. Unter dieser Version wurde getestet und installiert.

Tastenprogrammierung

Folgende Schritte müssen zur Programmierung durchgeführt werden:

  • Anklicken einer Taste auf dem MIDI Interface Tastenfeld
  • Es erscheinen die Parameter (1. Zeile) der gerade gedrückten Taste
  • Parameter für den Befehl einstellen

Befehlsparameter einstellen und Befehl aussuchen (als Beispiel Mic ON/OFF):
image

Data 1 zeigt, dass eine bestimmte Taste auf dem MIDI-Interface gedrückt wurde ( Taste 43 ).

Data2 -Bedingung zeigt, wann soll die Taste dem Programm mAirList als gültig übermittelt werden (kleiner Wert --> Taste sehr empfindlich bei Berührung, also alle Werte größer dem eingestellten Wert von Data 2, daher der Eintrag “>” als Bedingung.

Data 2 zeigt den Empfindlichkeitsbereich der Taste an (Wert = 05 --> sehr empfindlich, 127 --> sehr unempfindlich).

Hinweis: das APCmini Gerät hat KEINE berührungsempfindlichen Tasten, kann aber mit diesen Parametern betrieben.

Programmierung der Lautstärkeregler beim APCmini Controller

Da die Lautstärkeregler im MIDI-Bereich für DATA2 laufend , beim Betätigen der Regler, neue Werte liefern, ist die Programmierung etwas anders wie bei der Tastenprogrammierung.

Programmierung: Lautstärkeregler ganz nach oben (laut) ziehen, dann nach unten ziehen, ergibt jede Menge DATA2 Werte (als Bsp. PLAYER1 Lautstärkereglung):

image

Danach anklicken des obersten Befehls ergibt nachfolgendes Bild:
image

Die DATA2 Bedingung wird auf „*“ (Sternchen) gesetzt, dass bedeutet, es sind alle Werte von DATA2 gültig (die Werte des Reglers für DATA2 verändern sich ja beim Betätigen ständig).

Besonderheit: händisch wird im Befehl (s. oben) der Wert $DATA2/127 eingesetzt, dass bedeutet, dass der lauteste Wert der Lautstärke 127 (dezimal) ist. Möchte man noch etwas Headroom nach oben haben, so kann auch der Lautstärkewert auf 100 gesetzt werden.

Hinweis: „PLAYER 1-1“ bedeutet:

  • Die erste 1 à die Playerliste 1 wird verwendet
  • Die zweite 1 à Player 1 wird mAirList verwendet

Beispiel einer Tastenbelegung mit Lautstärkeregler

image

Obige Tastenbelegung als Beispiel

image

1 Like

Vielen Dank für deine ausführliche Dukumentation. Tolle Arbeit! :+1:

Frage: So viele Tasten auf dem Gerät - aber beschriften lassen die sich wahrscheinlich nicht?
Irgendwann wird’s unübersichtlich.

Kann man da eigentlich auch Tastengruppen bilden (2er- oder 4-er Blöcke)?

Die Fernsteuerbefehle (möglicherweise nicht alle) sind hier aufgelistet: https://wiki.mairlist.com/reference:remote_control_commands
Das hat nicht speziell etwas mit MIDI zu tun, solange sich ein empfangenes MIDI-Signal mit einem Fernsteuerbefehl verknüpfen lässt. Die Fernsteuerbefehle gelten ebenso für Hotkeys (z.B. programmierbare Tastaturen / Kassentastaturen), Gamepads etc.

Gut, dass du diesen Hinweis geschrieben hast, unter welcher Version du getestet hast.
Allerdings gibt es seit dem 11.09.2020 bereits mAirList Version 6.3.4 (Build 4368). :sunglasses:

Hallo Uli,
danke für das Ansehen der Dokumentation und Deinen ergänzenden Tipps. Leider gibt es ohne Zusatzsoftware keine Gruppenbildung in Blöcke.
Die Beschriftungen der Tasten dürfte auch schwierig sein, sie sind gummiert und nicht allzu groß.
Zu dem Gerät gibt es noch die kostenlose Software “Ableton Live Lite” und “hybrid3”. Auf “Ableton Live Lite” sind die wenigen Beschriftungen ausgelegt.
Ich hatte mir das Gerät besorgt, weil es u.a. 9 Volumenregler hat und ich auch erst mal schauen musste, wie die Regler in mAirList integriert werden (läuft aber jetzt wunderbar!).
Die neue mAirList Version werde ich demnächst einspielen.
Gruß rbor

Wie weiter oben schon beschrieben, ist es schwierig, bei 64 zu programmierenden Tasten die Übersicht zu behalten. Schön wäre die farblich Einteilung in einzelnen Gruppen, etwa so wie nachfolgende aufgezeigt:


Möglich wird das durch nachfolgende MIDI-Programmierung (Pgm. als *.mls Datei ablegen):

// AKAI "APCmini" LED Programmierung

const
   off = 00;
   green = 01;
   green_blink = 02;
   red = 03;
   red_blink = 04;
   yellow = 05;
   yellow_blink = 06; 

var
   i: integer;

Procedure OnLedAPCmini;
 begin
  
   MidiOutOpen(1);   // --> MIDI Device oeffnen

   // Grundfarben setzen

   // Grundfarbe: 00 (off) --> alle 64 Tasten AUS  
   for i:= 0 to 64 do
      MidiOut(1, $90, i, off); // device, status, data1, data2

   // Grundfarbe: 05 (yellow)   
   for i:= 24 to 31 do   // Grundfarbe: 03 (red)
      MidiOut(1, $90, i, red); // device, status, data1, data2

  // Grundfarbe: 01 (green)
   for i:= 40 to 63 do   
      MidiOut(1, $90, i, green); // device, status, data1, data2


   // Farbe fuer spezielle Tasten setzen (Tasten, die als Gruppe zusammen gehoeren)

   // Player A Steuertasten
      MidiOut(1, $90, 00, yellow); // device, status, data1, data2
      MidiOut(1, $90, 01, yellow); // device, status, data1, data2

   // Player B Steuertasten
      MidiOut(1, $90, 02, green); // device, status, data1, data2
      MidiOut(1, $90, 03, green); // device, status, data1, data2

   // Next Track, AUTO
      MidiOut(1, $90, 06, yellow); // device, status, data1, data2
      MidiOut(1, $90, 07, yellow); // device, status, data1, data2

   // Mic ON/OFF
      MidiOut(1, $90, 15, green_blink); // device, status, data1, data2

   // Voice Tracking Aufnahme
      MidiOut(1, $90, 14, red); // device, status, data1, data2
      MidiOut(1, $90, 04, red); // device, status, data1, data2
      MidiOut(1, $90, 05, red); // device, status, data1, data2

   // Cartwall ON/OFF
      MidiOut(1, $90, 8, green_blink); // device, status, data1, data2

   // Cartwall Fade out all
      MidiOut(1, $90, 9, green); // device, status, data1, data2


   MidiOutClose(1);   // --> MIDI Device schliessen
end;

  
// Main Program
begin
   OnLedAPCmini;
end.

Die entsprechende Tastennummern-Belegung von AKAI sieht so aus:

Das obige MIDI-Programm wird wie folgt aufgerufen:

… in der oberen mAirList Leiste die folgende Aktionen ausführen: “MyAirList”, Pfeilchen rechts nach unten drücken, “Script ausführen” (3. Zeile) auswählen und dann das eigene Programm (Endung *.mls) auswählen und “Öffnen” drücken --> die Tasten des APCmini leuchten.

Schön wäre es, wenn direkt bei Programmstart das obige MIDI-Programm ausgeführt würde. Vielleicht hat einer ein Idee dazu.
Gruß rbor


EDIT by Mod - Script formatiert. :sunglasses:

Nachtrag: ich benutze die HOME-Version, Vers. 6.3.2, Build 4356, OHNE Mischpult, nur mit Programm mAirList, Audio-Interface, Midi-Interface und Kondensatormikrofon.
Gruß rbor
.

Ich:

procedure OnLoad;
begin
  RunScript('C:\Pfad\zum\Skript.mls');
end;

begin
end.

Oder zwischen begin und end; statt der Zeile mit dem RunScript Dein ganzes Skript schreiben. Das Ganze als Hintergrundskript laufen lassen.

Empfehlung: Mit procedure OnUnload; beim Verlassen von mAirList alle Tasten wieder ausschalten.

Dringende Bitte: Skripte bitte immer in Code schreiben (Schaltfläche </>), da sonst die Lesbarkeit leidet und die kluge Forensoftware wichtige Steuerzeichen zerschießt.

- nachträglich vom Moderator angepasst. Der Säzzer -

Nichtproportionale Grüße

TSD

Hallo Tondose,
vielen Dank für Deine Tipps, werde ich probieren. Neue Scripte werde ich in die Schaltfläche </> demnächst einbauen. Sorry, ich bin noch neu im Forum. Man lernt ja ständig hinzu.
Gruß Rbor

Danke Tondose, probiert und klappt bestens, so wie es soll.
Gruß rbor

1 Like