Mehrere MIDI Signale über einen MIDIOUT schicken

Also, ich habe vor einen Kleinen Midi Controller auf Modularer Ebene zu bauen.
Jedes Modul hat 64 Kanäle und einen 4dip schalter um den GlobalChannel (GC) für jedes Modul einstellen zu können.
quasi
Modul 1 GC1 Kanal 1-64
Modul 2 GC2 Kanal 1-64
usw

nun die Frage: Jedes meiner Module Produziert ein MidiSignal das über TX gesendet wird.

Gibt es eine Möglichkeit diese Signale über eine MIDI OUT Buchse zu schicken? damit ich nicht für jedes Modul ein eigenes Interface brauche?

SO wie ich Das MIDI Signal verstehe ist es als Wechselspannungsquelle zu verstehen und damit nicht einfach parallel zu schließen weil da sonst nur noch Müll im Interface ankommt oder?

Mathrim:
SO wie ich Das MIDI Signal verstehe ist es als Wechselspannungsquelle zu verstehen und damit nicht einfach parallel zu schließen weil da sonst nur noch Müll im Interface ankommt oder?

Du scheinst MIDI noch nicht richtig verstanden zu haben oder Du drückst Dich unverständlich aus.

MIDI basiert meines Wissens nach auf serieller Übertragung. Da ist der Gedanke, etwas parallel schließen zu wollen, IMO grundsätzlich verkehrt.

Bau erst mal etwas total Simples, das MIDI auf der seriellen Schnittstelle ausgibt und experimentiere damit. Das mit dem voll ausgestatteten Studio hebst Du Dir für später auf.

Gruß

Gregor

Wenn Du mehrere Midi Signale zusammenrühren willst, brauchst Du einen Midi Merger. Aberkannst ruhig mal parallelschalten und sehen was passiert.
Alternativ: Midi Interface mit entsprechend vielen Eingängen.
Noch ne Alternative: mal ein wenig selbst recherchieren, das hilft manchmal auch.

Mathrim:
SO wie ich Das MIDI Signal verstehe ist es als Wechselspannungsquelle zu verstehen und damit nicht einfach parallel zu schließen weil da sonst nur noch Müll im Interface ankommt oder?

Das MIDI Signal ist ein Digitales Signal. Es ist ein "beschreibendes" Protokoll und führt keine Audiosignale (Wechselspannung).

Grüße Uwe

Wenn mann einfach zwei MIDI Outs Paralel klemmt und an eine Buchse lötet kommen ja unter umständen die Bits nicht in der richtigen Reihenfolge an und das endet dann in Datensalat womit kein Interface mehr etwas anfangen kann.

Also müsste man etwas bauen was dafür sorgt das wenn zwei Datensätze ankommen erst der eine dann der andere gesendet wird .

Ich dachte da zuerst an einen Multilexer wie den LS151
https://www.reichelt.de/index.html?ACTION=446&LA=0&q=74ls151

Am besten währe ja einer der direkt 16 I/O hat aber da habe ich bislang nichts mit DIP gehäuse gefunden.

aber woher weis denn so ein Multiplexer wann mein Datensatz zu ende ist? und er nicht mitten im Datensatz auf den nächsten schaltet und mir mein Signal zerhackt.

Ich sag's gerne nochmal: Wenn Du mehrere Midi Signale zusammenrühren willst, brauchst Du einen Midi Merger.

Pro Eingang braucht's einen UART, der erst mal die Daten aufnimmt. Läuft ja alles asynchron. Die Software muss die Ports pollen und schauen, wo Daten eingegangen sind und dann prüfen, ob die Nachricht komplett vorliegt. Je nach Inhalt sind die ja unterschiedlich lang.
Wenn ein Datensatz komplett ist, den raushusten und beim nächsten weitermachen.

Alles in allem machbar, aber da fällt mir im arduino Umfeld nur der Mega ein mit 3 UARTs. Reicht für Dich nicht.
Tipp: Konzept überdenken oder mit einem käuflich zu erwerbenden Midi-Merger liegäugeln.

das mit dem Merger habe ich gelesen und das glaub ich dir ja auch. Mir gings in der Frage eher darum, wie der Merger aufgebaut ist, so hochgradig kompliziert kann das doch eig. nicht sein. Ist nur die Frage ob der Arduino dazu überhaupt in der Lage ist, so wie ich das bislang gelesen habe nämlich nicht.

Ich weis halt nicht ob es da nicht einfacher währe doch lieber alle GC von einem Chip aus loszuschicken und das Modul-Konzept übern Jordan zu befördern.

Da bekomm ich nur leider weider ein Problem der Größte chip den ich bislang gefunden habe hat 8 Analoginputs und da ich mit 8Kanal Multis arbeite und 8^3 leider nicht 1024 ist langt das nicht zu.

und ich habe bislang keine Multis gefunden die 16 I/O`s haben und noch ein drittes mal kaskadieren
also Fader-> 4051->4051->4051->µC
ich weis nicht das wird doch irgendwann auch murks.

Hm- ich schicke dauernd auf bis zu 3 Kanälen (von denen jeder zwischendurch auch wechseln kann) simultan Midi-Signale aus nem Arduino. Gar kein Problem, nur muss man eben den "Midi-Merger" auch mit programmieren.
Das selber zu machen, ist aber eigentlich ganz einfach: bei jedem Kommando immer schön die Kanalnummer mit senden...mehr isses gar nicht. Das sollte man aber sowieso immer tun, alles andere ist Gestümper und endet früher oder später in Hängern.

Wenn du alles an den UART anschliessen willst, wird aber jedes Gerät ne eigene Kennung mit senden müssen, damit der Arduino weiss, wie das aufzudröseln ist.
In der Lage ist er dazu durchaus-wieso denn nicht. Midi läuft mit lausigen 31250 Baud- das könnte ein kleiner Taschenrechner auch noch....

Klingt gut gibt es da schon irgendwelche beispiel Codes oder Projekte die man sich mal angucken kann?

Sag uns doch endlich was Du genau machen willst und nicht Dich auf etwas versteifen bei dem Du nicht weiterkommst und uns nach der Lösung des selbstgemachten Problems fragst.
Grüße Uwe

ich will ne Midifernsteuerung für den PC bauen.

Diese soll Modular sein und auf 16x64 Kanal Geräte aufgeteilt werden damit man nicht zu irgendwelchen Lullerpups veranstaltungen mit nem Raumschiff hinfahren muss.

von mir aus kann auch ein µc alle 1024 Kanäle verwalten und die Module beinhalten nur die multiplexer ich kenne blos keinen µc der das könnte.

außer vllt der ATMEGA 324P20PU wenn man den dann an 8 analIn mit jeweil 1+8 4051 bestückt dann hat man zumindest 512 Kanäle mit 8 modulen das währe immer noch ausreichend flexibel

außer vllt der ATMEGA 324P20PU wenn man den dann an 8 analIn mit jeweil 1+8 4051 bestückt dann hat man zumindest 512 Kanäle mit 8 modulen das währe immer noch ausreichend flexibel

Wieso analog?

Diese soll Modular sein und auf 16x64 Kanal Geräte aufgeteilt werden damit man nicht zu irgendwelchen Lullerpups veranstaltungen mit nem Raumschiff hinfahren muss.

Jetzt bin ich kein Superkenner von MIDI aber woher bekommst Du 1024 Kanäle? Was Hast Du alles Für Signalquellen?

Grüße Uwe

Naja auf die 1024 Kanäle bin ich gekommen weil ich, durch meine ursprüngliche überlegung, an einen Attiny 44 einen 4051 und an den 8 weitere 4051 dran hängen wollte.

Jeder der Att44 sollte einen eigenen Global Channel (GC) bekommen damit die sich nicht in die Haare kriegen.

Man muss an der stelle sagen das DMXC maximal eine Midi Fernbedienung zulässt das heißt alle 64er Module müssen über bspw. MidiYoke als ein Gerät gebündelt werden bevor es zum "Endverbraucher" geht .

und das ist viel einfacher wenn jedes Gerät einen eigenen GC hat.

Midi Kennt 16 GC`s

da 8x8=64 udn 64*16 =1024 ist war das mein Richtwert für die Kanäle

außer vllt der ATMEGA 324P20PU wenn man den dann an 8 analIn mit jeweil 1+8 4051 bestückt dann hat man zumindest 512 Kanäle mit 8 modulen das währe immer noch ausreichend flexibel

Ich wiederhole: Wieso analog?

Die erste Frage hatte ich überlesen.

naja so wie ich die welt verstanden habe ist sie nunmal analog und wenn ich nen button oder nen fader digital ahben will muss ich das ganze erstmal analog zu einem adc schicken was ja quasi den analin entspricht

weil das das einzige ist was ich kenne wenn es eine bessere bzw einfache methode gibt dan immer her damit.

Was nun? 1024 Analoge Eingänge und dann wieviele MIDI Ausgänge? Du fragst hier nämlich wie Du mehrere MIDI Signale mischen kannst.

Grüße Uwe

ach jung die frage kam nu aber von dir, nu frag nicht wieder ^^

also so wie ich die ganze sache aufgbaut ahbe bekomm ich von einer 4051 kaskade eine belibig viele anzal von analogen signalen die ich in midi signale umwandel

so und in meiner ursprungsüberlgung benutze ich einen analin für 9(1+8) 4051 und will 16 module auf dieser basis aufbauen und die alle durch einen midi out schicken

ach jung die frage kam nu aber von dir, nu frag nicht wieder ^^

Digitale Sginale die wie zB Tasten und Schalter produzieren digitale Signale und brauchen darum keinen Analogen Eingang.

Für diese ist es einfacher, daß Du I2C-Expander verwendest. Wenn Du zB MCP23016 verwendest hast Du so mit 2 Pins des Arduino bis zu 128 Eingänge und kannst sogar die Tastendrücke per Interrupt erkennen.

Für einen CD4051 brauchst Du 3 Digitale Ausgänge und 1 analogen Eingang. Wenn Du 8 auf 1 kaskadierst brauchst Du mindestens 3 + 3 digitale Ausgänge und 1 Analogen Eingang. Es ist zu kontrollieren ob ein Arduinoausgang 8 Eingänge des CD4051 treiben kann oder ob Du zusätzliche Treiber brauchst.

Grüße Uwe

Oje ich glaub das mit dem MCP23016 übersteigt meine Fähigkeiten da guck ich iwi rein wie in nen Kernspin.

Zumal ja Standart 10K Fader bzw. Potis keine digitalen Signale senden können oder?

Das Ding ist das die Module nicht direkt mit den Eingabegeräten verbunden sind, das heißt Modul 1 kann am Samstag beim Theater mit 16Tastern und 48 Fadern belegt sein
am Mitwoch bei der Hochzeit mit 56 Tastern und 8Fader
am Freitag bei der Dorfdisco wieder anders

je nach dem was man braucht

und sry für das

Mathrim:
ach jung die frage kam nu aber von dir, nu frag nicht wieder ^^

war schon n bissel fortgeschrittener abend