Go Down

Topic: Mehrere MIDI Signale über einen MIDIOUT schicken  (Read 448 times) previous topic - next topic

Mathrim

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?

gregorss

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
Bei Vollmond ist Neuerde.

Klaus_ww

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.
Freizeit-Programmierer mit moderatem Ehrgeiz besseren Code zu schreiben.

uwefed

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

Mathrim

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.


Klaus_ww

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.



Freizeit-Programmierer mit moderatem Ehrgeiz besseren Code zu schreiben.

Mathrim

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.

Rabenauge

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....

------------
Grüssle, Sly

Mathrim

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

uwefed

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

Mathrim

#10
Jan 20, 2019, 08:39 pm Last Edit: Jan 20, 2019, 09:18 pm by Mathrim
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

uwefed

Quote
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?

Quote
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

Mathrim

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

uwefed

Quote
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?

Mathrim

#14
Jan 20, 2019, 10:34 pm Last Edit: Jan 20, 2019, 10:52 pm by Mathrim
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.

Go Up