Midi-Grundlagen

29.04.2023 00:17 (zuletzt bearbeitet: 29.04.2023 16:01)
avatar  Montre
#1
avatar

Eines der ersten Themen, denen ein Einsteiger bei virtuellen Orgeln begegnet, ist das Thema Midi.
Ich versuche es mal mit einem Einstieg und so wenig Theorie wie möglich. Man braucht an der Orgel und am PC eine Anschlussmöglichkeit, um beide Seiten zu verbinden.

Midi an der Orgel
Deine Orgel/Keyboard hat i.d.R. eine Midi-Schnittstelle, sichtbar in Form von 5-polige Buchsen mit der Beschriftung Midi-In und Midi-Out. Diese Anschlussmöglichkeit nennt sich Midi-Schnittstelle.

Midi am PC
Ein PC hat keine solche Anschlussmöglichkeit/Midi-Schnittstelle.
Man kann über USB externe Soundkarten anschließen, oder eine interne Soundkarte (in Form einer PCI-Karte) verwenden. Diese haben i.d.R. eine Midi-Schnittstelle - auch in Form einer/mehrerer 5-poliger Buchsen.

Bietet die verwendete Soundkarte keine 5-poligen Midi-Anschlüsse (z.B. bei der Verwendung der On-Board-Soundkarte), kann man ein sog. Midi-Interface (ein Gerät mit einer/mehreren 5-poligen Buchsen) über USB anschließen. Es gibt auch Midi-Kabel mit integriertem Midi-Interface, auf die ich hier nicht näher eingehe.

Zwischenstand
Die Orgel hat Midi-Buchsen, der PC hat über eine Soundkarte oder ein angeschlossenes Midi-Interface ebenfalls Midi-Buchsen.

Orgel per Midi mit dem PC verbinden
Jetzt werden die Midi-Buchsen beider Seiten jeweils mit einem Midi-Kabel verbunden, welches an beiden Enden einen 5-poligen Stecker hat.
Bei der Verbindung ist darauf zu achten, das ein Signal auf der einen Seite gesendet wird (Ausgang) und die andere Seite Daten empfängt (Eingang). Es wird immer ein Ausgang mit einem Eingang verbunden!

Anfangs reicht ein Midi-Kabel
Der Ausgang an der Orgel (Midi-Out) wird an den Eingang der PC-Seite (Midi-In) angeschlossen.

Damit ist die Hardware-Seite für einen ersten Test fertig eingerichtet!

Fortsetzung in #4


 Antworten

 Beitrag melden
29.04.2023 09:54 (zuletzt bearbeitet: 29.04.2023 15:53)
avatar  Carlo
#2
avatar

Zitat von Montre im Beitrag #1
Midi an der Orgel
Deine Orgel/Keyboard hat i.d.R. eine Midi-Schnittstelle, sichtbar in Form von 5-polige Buchsen mit der Beschriftung Midi-In und Midi-Out. Diese Anschlussmöglichkeit nennt sich Midi-Schnittstelle

Und manche Digitalorgeln haben auch noch eine dritte MIDI-Buchse, die zum Beispiel MIDI-Through genannt wird- oder auch MIDI-Thru. Auch bei einigen Expandern sieht man diese.


 Antworten

 Beitrag melden
29.04.2023 15:52 (zuletzt bearbeitet: 29.04.2023 15:59)
avatar  Montre
#3
avatar

Bei mir heißt die Buchse MIDI-THRU und die habe ich absichtlich nicht erwähnt, weil jedes zusätzliche Detail das Thema verkompliziert und einem Einsteiger das Hirn verdreht. Und tatsächlich braucht man diese Buchse im Normalfall nicht. Solche Details lasse ich daher weg.


 Antworten

 Beitrag melden
29.04.2023 15:58 (zuletzt bearbeitet: 29.04.2023 19:59)
avatar  Montre
#4
avatar

Fortsetzung von #1

Midi-Kanäle
Jedes Midi-Gerät oder auch eine Midi-Software kann Daten Senden und Empfangen. Damit der Empfänger weiß, von wem (welches Gerät oder Software) die gesendeten Daten übertragen wurden, muss es einen Weg geben, den Sender zu identifizieren. Das hat man über sog. Midi-Kanäle realisiert.
Man kann sich das so vorstellen, dass jeder Sender eine Hausnummer zugewiesen bekommt, die er beim Senden von Daten mitliefert. Es stehen insgesamt 16 Hausnummern (Midi-Kanäle) zur Verfügung.

Die Manuale und das Pedal einer Orgel haben meistens unveränderbare Hausnummern (Midi-Kanäle), bei den Midi-Keyboards kann man das teilweise über einen Regler einstellen. Das ist beispielsweise bei meinem Midi-Keyboard Cakewalk A-500Pro der Fall.

Meine Johannus sendet beim betätigen einer Taste auf dem ersten Manual die Hausnummer "1", beim zweiten Manual die "2" und beim Pedal die "3". Im Sprachgebrauch sagt man "mein 1. Manual sendet auf Kanal 1". Auf dem jeweiligen Midi-Kanal werden dann z.B. die gedrückten Tasten in Form einer Zahl übermittelt. Auf diesem Weg erfährt der Empfänger, dass auf dem Kanal 1 eine Taste gedrückt oder losgelassen wurde. Das ist für den Sampler (Hauptwerk, GrandOrgue, Sweelinq) eine relevante Information.

Zwischenstand
Jetzt haben wir erfahren, dass jeder Sender (z.B. ein Manual, oder ein Pedal) Daten auf einem (vor-)bestimmten Midi-Kanal sendet, damit der Empfänger weiß, wie die Daten verarbeitet werden sollen ("auf welchem Werk soll der gedrückte Ton 'C' abgespielt werden").

Die Hardware ist per Midi-Kabel verbunden und die Orgel sendet für jedes Werk (Manual/Pedal) auf einem unterschiedlichen Midi-Kanal. Jetzt muss der Sampler wissen, was er mit welcher "Hausnummer" (Midi-Kanal) abspielen soll.


 Antworten

 Beitrag melden
29.04.2023 19:59 (zuletzt bearbeitet: 29.04.2023 21:12)
avatar  Montre
#5
avatar

Midi-Einrichtung in Hauptwerk (Version VII)
Dem Programm muss mitgeteilt werden, welches Midi-Gerät für Hauptwerk verwendet werden soll. Wird Hauptwerk das erste mal gestartet, wird der Dialog Midi Ports angezeigt. Der Dialog kann auch später über das Menü General Settings|Midi Ports... aufgerufen werden.

Bild entfernt (keine Rechte)

In den rechten Spalten werden alle Midi-Geräte aufgelistet, die vom System identifiziert werden konnten. Setze dort einen Haken, wo das entsprechende Midi-Gerät als Eingang dienen soll.
Ab Hauptwerk V hat man eine wichtige Spalte mit der Bezeichnung User alias eingeführt: Dort kann man einen beliebigen Ersatznamen für den entsprechenden Midi-Eingang vergeben. Warum das so wichtig ist, erkläre ich später. Hier im Beispiel habe ich mein Midi-Keyboard angeschlossen und habe dafür die Bezeichnung "A-Pro" vergeben (die Modellbezeichnung des Keyboards).

Auf diesen Eingang sendet das Keyboard alle Daten. Das Keyboard sendet auf dem Midi-Kanal 1.

Ich habe das mit Hauptwerk ausgelieferte Sampleset der Orgel St. Anne's Moseley geladen:

Bild entfernt (keine Rechte)

Jetzt müssen die Manuale und das Pedal einem Midi-Kanal zugeordnet werden. Ich zeige den Weg, wie man das 1. Manual mit dem Keyboard verwendet. Die Konfiguration der restlichen Werke funktionieren auf die gleiche Art und Weise.

In der Gesamtansicht mit der Darstellung der Manuale mache ich einen Rechtsklick auf das 1. Manual und wähle den Menüpunkt Auto-detect MIDI/trigger setttings for keyboards: Great ...

Bild entfernt (keine Rechte)

Es öffnet sich der Dialog Auto-detecting MIDI settings:

Bild entfernt (keine Rechte)

Dieser Dialog erkennt nach dem betätigen der untersten und obersten Taste den Manualumfang und den Midi-Kanal des 1. Manuals.
Wenn die Tasten erkannt wurden, dann wechselt der Done-Button den Status von ausgegraut zu aktiv. Mit Klick auf den Done-Button ist die Erkennung bzw. Zuweisung zum 1. Manual erfolgreich abgeschlossen und man kann mit dem Spielen loslegen!

Das zweite Manual und das Pedal wird nach dem gleichen Schema eingebunden: Rechtsklick, Auto detect, unterste und oberste Taste betätigen, fertig.

Info zur Spalte User alias im Dialog Midi ports
Wenn man das Midi-Interface am PC nach der Konfiguration in Hauptwerk an einen anderen USB-Port anschließt, dann kann es unter Umständen passieren, das sich die Gerätelisten unter der Haube von Windows ändern und eine bestehende Konfiguration in Hauptwerk nicht mehr funktioniert. Bei den Werke-Zuordnungen ist der Aufwand noch gering gewesen, aber wenn Registerknöpfe per Midi gesteuert werden, dann konnte das vor Hauptwerk V einen hohen Anpassungsaufwand verursachen. Ab Hauptwerk V ist das Dank des User aliases deutlich komfortabler und einfacher geworden, weil man nur den Haken im Dialog Midi port anpassen muss.

Allein dieses Feature war mir das Update auf Hauptwerk V wert, weil ich zwei Midi-Interfaces im Einsatz hatte und genau das passiert ist, was ich oben beschrieben habe. Alle Samplesets mussten neu konfiguriert werden! Das war ein wahrer Spielverderber.


 Antworten

 Beitrag melden
29.04.2023 20:56 (zuletzt bearbeitet: 29.04.2023 21:11)
avatar  Montre
#6
avatar

Midi-Einrichtung in GrandOrgue (v3.6.1-0.12)
Dem Programm muss mitgeteilt werden, welches Midi-Gerät in GrandOrgue verwendet werden soll. Die Einstellung ist über das Menü Datei|Settings... erreichbar:

Bild entfernt (keine Rechte)

In der Liste der Midi-Eingabegeräte sind die entsprechenden Geräte anzuhaken und der Dialog mit OK zu schließen.

Ich habe das mit GrandOrgue ausgelieferte Demo-Sampleset geladen.
Jetzt müssen die Manuale und das Pedal einem Midi-Kanal zugeordnet werden. Ich zeige den Weg, wie man das 1. Manual mit dem Keyboard verwendet.

In der Gesamtansicht mit der Darstellung der Manuale mache ich einen Rechtsklick auf das 1. Manual:

Bild entfernt (keine Rechte)

Es öffnet sich der Dialog MIDI settings for Manual - First Manual. Das Feld Ereignis-Nr. steht auf Jedes Gerät.:

Bild entfernt (keine Rechte)

Mit einem Klick auf den Button Warte auf Ereignis wartet GrandOrgue auf ein (Tasten-) Ereignis:

Bild entfernt (keine Rechte)

GrandOrgue erkennt nach dem betätigen einer Taste das Midi-Gerät und den Midi-Kanal des 1. Manuals:

Bild entfernt (keine Rechte)

Wenn die Taste bzw. der Midi-Kanal erkannt wurde, kann der Dialog mit dem OK-Button geschlossen werden und man kann mit dem Spielen loslegen!

Das zweite Manual und das Pedal wird nach dem gleichen Schema eingebunden: Rechtsklick, Warte auf Ereignis, Taste betätigen, OK-Button, fertig.


 Antworten

 Beitrag melden
30.04.2023 09:17 (zuletzt bearbeitet: 30.04.2023 09:19)
avatar  Montre
#7
avatar

Anmerkung zu Midi-Hardware
Vorsicht ist bei Hardware aus Fern-Ost geboten. Ich hatte mal drei sehr preiswerte Midi-Kabel mit integriertem Midi-Interface von einem chinesischen Händler gekauft. Diese wollte ich u.a. für das 3. + 4. Manual verwenden. Wie sich schnell herausstellte, funktionierte nur ein Kanal von 16 und waren daher unbrauchbar. Zu allem Überfluss waren noch der Midi-Ein- und Ausgang falsch beschriftet (vertauscht). Und das bei allen drei Kabeln. Das Geld habe ich zurückbekommen, aber dreist war zusätzlich, dass sie eine gute Bewertung haben wollten.

Erspart euch den Ärger und kauft nur Hardware bekannter Marken.


 Antworten

 Beitrag melden
05.05.2023 22:01 (zuletzt bearbeitet: 06.05.2023 10:31)
avatar  Montre
#8
avatar

Midi-Wissen vertiefen / Hilfstools
Wer das Thema Midi vertiefen möchte, der kann sich in Wikipedia ergänzendes Wissen aneignen.

Für uns ist noch wichtig zu verstehen, welche Daten beim betätigen einer Taste gesendet werden. Das ist für eine Fehlersuche und die Kommunikation mit einem Partner oder jemand hier im Forum hilfreich.

Die Tasten eines Manuals haben feste Midi-Zahlenwerte, die beim betätigen einer Taste übertragen werden. Hier findet ihr eine Übersicht zu den Werten, die bei einem Tastendruck gesendet werden (Spalte Midi). Verwirrend ist, dass das eingestrichene c' manchmal als C3 oder C4 bezeichnet wird. Die Daten in der Spalte DATA1 sind aber eindeutig. Der Wert 60 entspricht dem mittleren c (c') auf einer fünf-oktavigen Klaviatur.

MIDI-Tool
Midi-OX ist ein Tool, um zu prüfen, ob eine Orgel bzw. ein Manual oder Keyboard überhaupt Daten sendet.
Nach dem Download der Version MIDI-OX 7.0.2 von 2010 kann das Setup gestartet werden. Nach der Installation und dem Programmstart erscheint dieser Bildschirm:
Bild entfernt (keine Rechte)

In der unteren Statuszeile steht "No Input Device" - also noch kein Eingabegerät angegeben, welches "abgehört" werden kann.
Die Symbole sind schlecht zu beschreiben, daher erkläre ich die Bedienung über das Menü. Um ein Midi-Gerät einzubinden, wähle das Menü Options|Midi Devices....
Markiere dann die relevanten Einträge îm linken Bereich "Midi Inputs" (hier im Bild mein Midi-Keyboard) und bestätige deine Auswahl mit dem OK-Button:
Bild entfernt (keine Rechte)

Die markierten Geräte werden geöffnet bzw. für den Datenempfang vorbereitet (Midi-OX empfängt Daten auf allen Kanälen 1-16).

Nach dem betätigen der Taste c auf dem Keyboard sieht man im Fenster in der Spalte
- CHAN (Channel), dass das Keyboard auf dem Kanal 1 gesendet hat
- NOTE, dass die Taste C2 gedrückt wurde
- und das EVENT entsprechend unserer Aktion als "Note On" erkannt wurde.

Beim Loslassen der Taste erscheint wieder ein EVENT "Note Off", also Taste losgelassen.
Bild entfernt (keine Rechte)

Bis jetzt haben wir die Zahlenwerte noch in Hexadezimal (=16er Zahlensystem) anzeigen lassen. Das kann man ändern, indem man mit der rechten Maustaste in das Output-Fenster klickt und das Menü Display Decimal anwählt.

Hier ein Beispiel, wie ich vom C2 aus das jeweils eine Oktave höhere C spiele (C3, C4, C5).
Bild entfernt (keine Rechte)

Auf diese Art und Weise kann man leicht herausfinden, ob und was für Daten ein Manual sendet.

In der Befehlsübersicht werden die Midi-Befehle auf der Bit- und Byte-Ebene erklärt, was aber nur für Programmierer relevant ist. Im Einzelfall hilft ggf. auch mal die Analyse der Werte in den Midi-OX-Spalten DATA1 und DATA2 anhand der einzelnen Befehle.


 Antworten

 Beitrag melden
15.05.2023 12:32
#9
So

Mit Midi-OX bin ich nie so richtig klar gekommen. Ich habe daher immer Hairless Midi verwendet. Eine kleine Freeware, die einem auch direkt anzeigt, was auf welchen Kanal gesendet wird.

Zur Midi-Zuordnung in GO möchte ich noch anmerken, dass es Sinn machen kann, nach der Midi-Erkennung unter "Gerät" zurück auf "Jedes Gerät" zu wechseln. Bei mir unter Windows kam es manchmal dazu, dass sich eine USB-Port-Zuweisung geändert hatte. Jetzt erkannte GO die Tastatur nicht mehr. Nach ändern auf "Jedes Gerät" war GO egal, von welchem angeschlossenen Midi-Eingabegerät eine Befehl kam. Wenn auf Kanal 1 der Ton 36 kam, wurde im Pedal das C gespielt. Ich habe für alle Manuale und das Pedal sowie Registertaster fest eingestellte MIDI-Kanäle.

Andersherum kann es natürlich sinnvoll sein, das voneinander zu trennen. Vielleicht falls zwei verschiedene Geräte auf demselben Kanal senden. Dann hätte man hier eine Trennung bzw. Unterscheidung.

Ich könnte mir vorstellen, dass das analog auch für HW gelten könnte. Ist aber nur eine wilde Vermutung ;-)


 Antworten

 Beitrag melden
15.05.2023 12:38
#10
So

Zitat von Montre im Beitrag #7
Anmerkung zu Midi-Hardware
Vorsicht ist bei Hardware aus Fern-Ost geboten. Ich hatte mal drei sehr preiswerte Midi-Kabel mit integriertem Midi-Interface von einem chinesischen Händler gekauft. Diese wollte ich u.a. für das 3. + 4. Manual verwenden. Wie sich schnell herausstellte, funktionierte nur ein Kanal von 16 und waren daher unbrauchbar. Zu allem Überfluss waren noch der Midi-Ein- und Ausgang falsch beschriftet (vertauscht). Und das bei allen drei Kabeln. Das Geld habe ich zurückbekommen, aber dreist war zusätzlich, dass sie eine gute Bewertung haben wollten.

Erspart euch den Ärger und kauft nur Hardware bekannter Marken.

Das kann ich nur unterstreichen. Wobei mittlerweile alles aus Fernost kommt, auch wenn Thomann Technik verkauft. Kommt halt auf Marke, Hersteller und Qualität an.

Ich hatte auch mal das Problem mit einem MIDI-USB-Kabel, dass Sysex-Nachrichten nicht aus GO versendet werden konnten. Anwendungsfall war die Darstellung von Informationen auf Displays. Habe mich halbtot gesucht nach Programmierfehlern etc. bis ich auf die Idee gebracht wurde, dass es am Kabel liegen könnte. Nach dem Kauf eines etwas teureren Kabels war alles wie es sein sollte.


 Antworten

 Beitrag melden
16.01.2024 23:40 (zuletzt bearbeitet: 17.01.2024 21:00)
avatar  Montre
#11
avatar

Manchmal braucht man ein Hilfsprogramm, welches einem anzeigt, auf welchem Kanal ein Midi-Gerät (Manual, Pedal, Piston u.a.) sendet. Midi-OX wird meistens empfohlen, aber es bietet viele Funktionen, die man nicht benötigt und es ist auch nicht ganz einfach, sich damit zurecht zu finden.
Deshalb habe ich vor längerer Zeit ein kleines Midi-Tool geschrieben, das für einfache Aufgaben verwendet werden kann. Hier ein paar Testbeispiele mit meinem Keyboard:

Bild entfernt (keine Rechte)

- 1. Zeile: eine gedrückte Taste wurde erkannt
- 2. Zeile: eine losgelassene Taste wurde erkannt
- 3. Zeile: ein ControlChange-Ereignis wurde erkannt (Drehregler)

Die Oberfläche:

Bild entfernt (keine Rechte)

Man kann den Gerätenamen eintragen, z.B. "I. Manual", betätigt den Schalter Midi-Erkennung starten und drückt bspw. eine Taste auf dem Manual.
Mit dem Schalter Midi-Sender kann eine weitere "Test-Zeile für ein anderes Gerät hinzugefügt werden.
Hat man alles getestet, dann können mit dem Schalter Ergebnis die ermittelten Daten in die Zwischenablage kopiert werden, um diese in einem Text-Editor zu kopieren und abzuspeichern oder auszudrucken.

Die Midi-Erkennung ist immer nur für eine "Geräte-Zeile" aktiv. Das erkennt man an einem animierten Symbol an rechten Rand.

Hier der Link zum ws.MidiScanner V1.01

Wenn auf eurem PC kein DOTNET 8.0.0 installiert ist, dann muss die Runtime ggf. zuerst installiert werden (war bei meinem Orgel-PC der Fall). Hier Link zum Installer für .NET 8.0.0. Das muss genau dieser Version sein, sonst meckert das Programm.

Nach einer Sprachumstellung (wie gehabt) den ws.MidiScanner beenden und neu starten.


 Antworten

 Beitrag melden
17.01.2024 20:57 (zuletzt bearbeitet: 17.01.2024 21:03)
avatar  Montre
#12
avatar

Mir ist noch aufgefallen, dass ich einen Spezialfall vergessen habe. Bei meiner Orgel senden die Johannus-Spezialisten beim Loslassen einer Taste ein Note-On mit der Velocity 0. Midi-OX hat mich diesbezüglich lange im Glauben gelassen, es wird ein Note-Off gesendet. Das stimmt aber nicht.

In der V1.01 wird jetzt die Velocity bei NoteOn/Off angezeigt.

Bild entfernt (keine Rechte)


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!