Poti an analogen Pin als MIDI ausgeben

Also wieder ein wenig geschuster und es tut auf jedenfall das was es tun sollte im abelton.

void setup()
{                
Serial.begin(38400); 
}

int THRESHOLD=2;
int maxPin;
int knobFunction(const int pin, int divisor)
{
  static int prevRead[6] = {0, 0, 0, 0, 0, 0};   
  int output = analogRead(pin)/4;	   
  if (abs(output - prevRead[0])  >= THRESHOLD)
    {prevRead[pin] = output;}
  else
    {output = prevRead[pin];}
  return output/2;
}

void loop () {
  static int lastmaxVal = 0;
  int maxVal = knobFunction(0, 4);
  if(maxVal != lastmaxVal)
  {
    Serial.println(maxVal);
    lastmaxVal = maxVal;
    
Serial.write(186);              // control change auf Kanal 11
Serial.write(7);                // Ändere die Lautstärke...
Serial.write(maxVal);       // ... auf meinWertVomPoti
  }
}

Jetzt habe ich aber noch 3 Dinge die ich nicht ganz kapiere oder nicht nachvollziehen kann:

  1. Senden tut er das Signal nur wenn ich am Poti drehe, das ist so in Ordnung. Im Abelton zeigt er aber ständig ein Empfangs-Signal an. Ich gehe davon aus das liegt daran das das Tool Serial_MIDI_Converter dafür verantwortlich ist. Oder?

  2. Im Serialmonitor zeigte vor meiner "schusterei" einen Wert von 0-127 an, so hat er es aber nicht im Abelton erkannt, dann habe ich die Serial.write Befehle eingefügt. Dann hat er im Serialmonitor beim drehen des potis einen "Mischwert" angzeigt z.B.: 87 und eine Zeile darunter ºaW (so was ähnliches). Ich gehe davon aus das im Code die Zeile Serial.println(maxVal); dafür verantwortlich ist das er beide Werte anzeigt?

  3. Um das Signal ans Abelton zu übergeben benutze ich das Tool Serial_MIDI_Converter, gibt es eine Möglichkeit das ganze auch ohne dieses Tool benutzen zu müssen?

Viele Grüße.