Forum: Mikrocontroller und Digitale Elektronik Midi Controler AVR


von RESKI (Gast)


Lesenswert?

hallo,

möchte wer gerne ..
nen MIDI controler mit 16 Fader mit ner konkreten dokumentation online 
stellen ich finde absolut nix gescheites..

bzw.. assembler programm dokumentiert ?....

sin und zweck ich will mit 16 fader software steuern z.b. traktor dj.. 
usw...

von Jens Plappert (Gast)


Lesenswert?

gugg mal bei ucapps.de

von Niels H. (monarch35)


Lesenswert?

Wer möchte hier mal gerne seine Frage umformulieren und zwar so, daß für 
Aussenstehende überhaupt ein Sinn und Zweck erkennbar wird und allgemein 
verständlich ist?

Eine gescheite Rechtschreibung mit korrekter Interpunktion und krassen 
Formulierungen wären für den coolen Style schonmal ein Anfang. 
Schliesslich sind wir hier ein Technikerforum und kein Hip-Hüpf 
Kindergarten.

von RESKI (Gast)


Lesenswert?

Der eine kann Formulieren der andere nich ..
so wiederum kann der eine nen Autorad wechseln der andere nich...
deine stärken sind dan höchstwarscheinlich im hirn und bei mir eher nich 
danke...


ja auf der seite ucapps.de ich sehe da kein schaltplan ...
is die seite so schlecht aufgebaut oder find ichs einfach nich ?

von Niels H. (monarch35)


Lesenswert?

Okey, dann beschreibe ich dir mal, was ich verstanden habe:

Du suchst nach einer Schaltung, an der 16 "Fader", also Schieberegler, 
angeschlossen sind, und diese zur über eine Midi-Schnittstelle abgefragt 
werden können.

Richtig?

von RESKI (Gast)


Lesenswert?

Die 16 fader sind an einem µC angeschlossen
und der µC sendet signale zum PC über midi
und wenn ich einen regler in meiner hardware bewege
bewegt sich in der software mein schieberegler

potis werden immer abgefragt
und am ausgang mus dann signal kommen das der pc versteht... (midi)

von RESKI (Gast)


Lesenswert?

The commands are made up of a series of bytes. The Note On command is 3 
bytes. It looks like

9x yy zz

x is the channel number. There are 16 possible channels (0, 1, 2, 3, 4, 
5, 6, 7, 8, 9, A, B, C, D, E, F). yy is the note number and can be 
anything between 00 and 7F (0 and 127 in decimal values). zz is the 
attack velocity and can be anything between 01 and 7F (an attack 
velocity of 00 makes the Note On command into a Note Off command).

von Niels H. (monarch35)


Lesenswert?

Du möchtest also eine ganz normale 16-Kanal Midi-Fader-Box nachbauen.

Im Prinzip sollte das kein Problem sein, denn Projekte, in der ein 
Kontroller mit der Midischnittstelle arbeitet, gibt es. z.B. Hier:

http://www.mikrocontroller.net/articles/Midi_Rekorder_mit_MMC/SD-Karte

Ich bezweifle jedoch, daß es für dein Problem eine spezielle Lösung 
gibt, die du einfach nur nachbauen kannst. Die Anforderung ist wohl sehr 
speziell. Das wirst du ohne eigenen Hirnschmalzeinsatz nicht 
hinbekommen.

Eine Alternative ist wohl einfach Kaufen, denn diese Midi-Fader sind bei 
ebay schon zu recht erschwinglichen Preisen zu haben. Ausserdem sollte 
dir bewusst sein, daß deine PC-Software eine solche Faderbox 
unterstützen muss. Ohne diese Unterstützung wird das nichts....

von RESKI (Gast)


Lesenswert?

soweit ich weis sind doch die midi signale alle definiert?

die software vom pc ... wartet immer auf ein signal (lern funktion) .. 
wenn ich z.b. an meinem gerät den schieberegler bewege wird das signal 
erkannt und abgespeichert.

von RESKI (Gast)


Lesenswert?

wenn man das programmieren sollte ist das so das die

16 potis abgefragt werden je nach dem in welcher stellung sie sind

rechnet der µC das analoge singnal um in z.b. 9x yy zz ... und sendet es 
an den pc

hab schon was mit UART usw.. gelesen bautrate ... usw aber das ist noch 
zu hoch für mich

von TheMason (Gast)


Lesenswert?

ich kann dir auch nur die ucapps-seite empfehlen.
und schaltpläne sind vorhanden. (musst einfach mal ein bischen 
durch-klicken, schaltplan-futter ist dort zu genüge)
Doku ist auch vorhanden. das dingen ist in 1000'den varianten gebaut 
worden.
es führen 1001 link zu dieser seite ...
was willst du mehr ?
komplett selbstbauen (also kein ucapps-nachbau) ? dann mal ran ....

von Trollhannes (Gast)


Lesenswert?

Siehe erster Beitrag im Fred:

Er will einen Traktor mit MIDI steuern. Kommt mir als Musiker etwas 
seltsam vor...

von Niels H. (monarch35)


Lesenswert?

Nun, prinzipiell finde ich als Techniker nichts ungewöhliches daran, 
einen Sequenzer per Midi steuern zu wollen.

Die Frage bleibt: Unterstüzt die Software es überhaupt per Midi 
gesteuert zu werden. Standards hin oder her...

von TheMason (Gast)


Lesenswert?

er sagt ja "z.b. traktor" ... obs funktioniert oder nicht muß er selbst 
herausfinden (ist glaube ich nur mit einschränkungen möglich, bin mir 
aber nicht sicher).
aber cubase z.b. (zumindest von den alten versionen) lässt sich per midi 
steuern (hab ich schonmal gemacht, ist aber jahre her)
mir gings nur darum nochmal den ucapps link hochzuholen, da er laut der 
aussage :
"hab schon was mit UART usw.. gelesen bautrate ... usw aber das ist noch
zu hoch für mich" noch nicht viel mit uc's gemacht hat. und da ist es 
einfacher etwas funktionierendes nachzubauen. und die teile bei ucapps 
sind schon ziemlich cool (die haben da sogar meine ich auch anpassungen 
für den traktor, bzw. nachbauten die den traktor unterstützen, muß man 
mal in der bildergalerie nachschauen)
ob er was draus macht ist seine sache ...

von RESKI (Gast)


Lesenswert?

über midi steuern geht auf jedenfall mein kumpel hatt sein drumpad oder 
keyboard.. genutzt .. in traktor dj ..

von RESKI (Gast)


Lesenswert?

so ganz nachbauen will ich es ja auch nicht ich will es ja auch was 
kapieren ...sonst lern ich ja nix..

von Niels H. (monarch35)


Lesenswert?

wenn ein drumpad oder ein keyboard unterstüzt wird, bedeutet das noch 
lange nicht, daß eine Faderbox unterstüzt wird...

von RESKI (Gast)


Lesenswert?

aber in der software stand glaub midi undefiniertes gerät
da war es der software auch egal .. welches midi gerät man angeschlosen 
hatt.. sein 2tes gerät hatte ein par gleiche kanäle ...

d.h. wenn ich was aufm keyboard eine taste definiere kann ich es auf nem 
anderen gerät auch abspielen auf irgend einer taste wenn der kanal 
gleich ist.

wenn ein signal geschickt wird dan sinds doch 3 byte im ersten byte wird 
der kanal festgelegt ... ?

so denk ich mir das ich weis ja nicht genau wie das funktioniert..

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

So eine Box ist mit einem AVR ohne viel Aufwand möglich. Die 16 Potis 
(Fader) kommen über einen externen Multiplexer (CD4067) an einen 
AD-Konverter-Pin des AVR. Der Multiplexer wird ständig auf das jeweils 
nächste Poti geschaltet, eine Messung wird durchgeführt und der Wert in 
einen Puffer gespeichert, eine Speicherzelle je 8 Bit für jedes Poti. Im 
Hauptprogramm werden diese Werte mit den Werten des vorangegangenen 
Durchlaufes verglichen, wird eine Abweichung festgestellt, wird der 
betreffende Wert, der als Controller- oder Notenevent formatiert wurde, 
über das UART mit 31.250 Baud verschickt. Ausgangsseitig müssen dann 
noch je ein Widerstand von 220 Ohm vom Controllerpin und einer nach Vcc 
geschaltet werden. Daran kann man dann direkt eine MIDI-Buchse 
anschließen. Wenn man´s noch etwas komplizierter haben möchte, klatscht 
man noch ein Display und ein paar Taster an den AVR, damit man die 
Controller auch modifizieren kann und sieht, was man gerade eingestellt 
hat.

von STK500-Besitzer (Gast)


Lesenswert?

Und wenn man es richtig lustig haben will, benutzt man noch Motorfader, 
die über den MIDI-IN-Port gesteuert werden...

Gibt es eigentlich Mischpulte, deren Kanäle man über Midi steuern kann?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Gibt es eigentlich Mischpulte, deren Kanäle man über Midi steuern kann?

Ja, hunderte - zumeist Digitalpulte. Da kann man auch komplette Sets 
über MIDI-Dump einspielen / aufrufen. Naja und der DSP sämtlicher Live! 
und Audigy1 und Audigy2 - Soundkarten ist über den kX-Treiber voll von 
außen und aus Anwendungen heraus über MIDI-Automation steuerbar. 
http://www.kxprojekt.com

von Timmey (Gast)


Lesenswert?

Hercules DJ MP3 Control .. das ist, was er sucht ..

Traktor iss ne Software, und ja, die kann MIDI-Interfaces erkennen..

Das Pult ist beim grossen C für knapp 100 EUR zu haben..

von STK500-Besitzer (Gast)


Lesenswert?

Ich dachte mehr an eine Midi-Fernsteuerung für Mischpulte.

von Mikki M. (mmerten)


Lesenswert?

Das geht bei sehr viele Digitalpulten, komplette Fernsteuerung via MIDI

von TheMason (Gast)


Lesenswert?

vor jahren (ich glaube es waren 8-12) gab es mal (einigermassen günstig) 
19'' 1HE 8 kanal Mischer die nur per Midi gesteuert wurden, also keine 
regler. War glaube ich auch nur 1 Bus (also Stereo raus). die idee fand 
ich ganz witzig, hatte nur kein geld ..
aber bei den digitalpulten ist das steuern per MIDI eh erdnüsse und von 
daher std. ob es reine analoge pulte mit MIDI-Steuerung gibt wüsste ich 
jetzt nicht, kanns mir aber vorstellen.

von RESKI (Gast)


Lesenswert?

@ travelrec

hast du schon so eine software geschrieben ? bzw... hast du lust/zeit ?

bzw... für einen eingang zu schreiben vll kann ich das ja dann auf 16 
erweitern ?

von Christoph B. (cborowski)


Lesenswert?

Hallo,

ich kann Dir auch nur die Seite www.ucapps.de und da das Projekt 
"MIDIbox64E" empfehlen. Wo man die dafür notwendigen Teile (Platinen, 
elektronischen Bauteile etc.) herbekommt steht im WIKI. Die 
Dokumentation ist hervorragend und Probleme beim Zusammenbau/Betrieb 
lassen sich schnell über die FAQ bzw. das zugehörige Forum lösen. Ich 
habe jedenfalls ohne Probleme den MIDIbox SID V1 Synth zusammengebaut.

Wenn Dir das schon zu schwierig erscheint... einfacher wird es mit 
keiner anderen Lösung.

Anmerkung bzgl. einiger Beiträge hier in diesem Thread. Für den Betrieb 
einer solchen Faderbox braucht man keine Treiber. Bei fast alle modernen 
Sequenzern, Softwareinstrumenten etc. lassen sich einzelne Funktionen 
beliebigen MIDI-Kanälen und Controller-Messages zuordnen. Und falls den 
Funktionen feste MIDI-Kanäle und Controller-Messages zugeordnet sind, 
dann können diese an der MIDIbox64E-Faderbox nachgebildet werden, d. h. 
auf einen einzelnen Fader/Poti/Button lassen sich beliebige MIDI-Kanäle, 
Controller-Messages und min/max-Werte ablegen (so verstehe ich die 
Dokumentation). Entweder über die Bedienoberfläche der 
MIDIbox64E-Faderbox (falls ein Display vorhanden ist) oder über eine 
Java-Software für den PC/Mac.

Man braucht natürlich für das notwendige MIDI-Interface einen Treiber, 
aber ich gehe davon aus, dass ein funktionierendes MIDI-System bereits 
vorhanden ist.

Gruss
Christoph

von Matthias L. (matze88)


Lesenswert?

Hi!

Ich habe selbst auch ein Midi-Mischpult gebaut. 5 Fader (gedacht als 4 
Kanal + Master), je 3 Potis (Channel: low/mid/high, master: headphone, 
monitor, mikrofon). Dadrunter 2 "Playerpanels" mit je 3 Tasten (benutz 
ich als play/pause, cue/pause, sync), dazu 2 Rotary Encoder (1 für 
spulen, 1 für pitch), jeweils die auch noch drückbar (spulen = track 
beginn, pitch: wechsel zwischen key on/off). Dann noch ein FX Panel mit 
4 Rotaries und nochmal 4 Rotaries + 2 Schalter als "spare", hab ich z.B. 
auf loop & beatjump und so stehen. Damit steuere ich auch Traktor DJ 
Studio in Verbindung mit dem kX Treiber (das komplette Tonmischen & 
eqing macht der kX Treiber, den Rest der Traktor). Software ist 
supersimpel, einfach alle Potis durchpollen, alle Schalter abfragen, 
kurz bei den Rotaries ausrechnen was da nun gedreht wurde und dann die 
ganzen Daten über Midi raushauen. Achso: Ganz vergessen, hab unter den 4 
Channel fadern noch je 1 beleuchteten Schalter, gedacht um den 
jeweiligen Weg aufs Headphone zu legen. Die LED schaltet der µC an 
sobald der Schalter gedrückt ist.

Die ganzen Taster inklusive Rotaries sind über ne Matrix angeschlossen 
(kA, 10 pins sicherlich, müsst ich aber jetzt nachgucken), max. 24 
mögliche Potis über 3x 8 Kanal muxe die an 3 ADC Pins des µCs hängen.

Bauaufwand: Software ~15-20 Stunden (viel rumprobieren bis z.B. 
Debouncing exakt den Wünschen entspricht, Rotary tastfrequenz optimal 
ist etc.) Hardware war vor allem das zurechtsägen/bohren der 
"Frontplatte" sehr schwer, hab ein 19" Gehäuse von Pollin verwendet. 
Sicherlich 3-4 Nachmittage sind das gewesen. Alles in allem ist das eine 
sehr gute und vor allem günstige Methode, zu einem Mischpult zu kommen. 
Ich bin definitiv unter 100€ inklusive aller Bauteile etc. und habe ein 
doch relativ professionell wirkendes Mischpult, welches ich auf 
Privatparties gerne einsetze, wird auch gut bestaunt ^^

bye
Matze

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>hast du schon so eine software geschrieben ? bzw... hast du lust/zeit ?

>bzw... für einen eingang zu schreiben vll kann ich das ja dann auf 16
>erweitern ?

Ja, in AVR-Assembler. Mein Pult hat für jeden Regler ein separates 
3-Digit LED-Display und einen Taster für intuitive Bedienung. 15 
komplette Sets kann man im EEPROM des ATMEGA16 ablegen und über 
MIDI-Dump an den Sequencer übermitteln oder zurückladen. Das bläst die 
Software natürlich um Einiges auf. Das Multiplexen der 16 Potis 
übernimmt ein CD4067, der einen ADC-Eingang und 4 Schaltpins belegt. 
Lust hätte ich, Zeit aber leider nicht. Im Grunde läuft alles auf 
Pinwackeln und Einlesen der AD-Werte hinaus, die für die UART-Ausgabe 
entsprechend umgewandelt werden. Alles andere ist Luxus oder besser 
gesagt: erweiterte Funktionalität.

von ajax (Gast)


Lesenswert?

Den 4067 kann man sich sparen, wenn man die Spannungsversorgungen der 
Potis mit Portpins multiplext und nur einen ADC-Eingang verwendet.
Damit wird's noch einfacher

ajax

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ich denke nicht, daß das zur Zufriedenheit funktionieren wird, da die 
Potis dann mit ihren Schleiferpins untereinander koppeln werden. 
Außerdem verheizt man auf die Weise 16 Portpins. Mit dem Multiplexer 
wären es nur 4. Desweiteren macht es durchaus Sinn, die Potis ständig an 
einer ruhigen, sauber stabilisierten Spannung zu betreiben, da man so 
den Schleifer mit einem Kondensator abblocken kann, was das Kratzen der 
Potis und somit ein Springen der Einstellwerte stark vermindert.

von Oekel (Gast)


Lesenswert?

Hi,

ich hoffe ich werde hier jetzt nicht gleich ausgelacht, aber ich brauche 
für ein kleines Projekt etwas ganz simples.

Ich habe als Hardware den BCF2000 von Behringer, dieser stellt genau das 
dar, was ihr oben beschreibt. (Deshhalb hoffe ich auch hier antwort zu 
bekommen)

Jetzt möchte ich ganz einfach via Java(Ja genau ihr dürft einmal lachen 
ha*)
die Fader tanzen lassen und umgekehrt den Bewegen und auf der console 
kurz ausgeben lassen.

Sollte ja zum Testen nicht so schwer sein.
Mein testcode sucht mir auch alle Midigeräte raus und ich kann Töne an 
ein gerät senden. (es macht Ping**)

wenn ich nun jedoch den BCF2000 auswähle und den Kanal 1 Data1: 7; 
Data2: 1 (Ist mein erster Fader) Dann passiert garnichts.

Genauso bekomme ich schwierigkeiten Daten vom Gerät auszulesen. Dies 
sollte doch über den Transmitter des Gerätes passieren, oder?
Dort finde ich aber keine Funktion, die getMessage() oder ähnlich 
lautet.
In einigen Gerüchten habe ich auch schon gelesen, dass Java externe Midi 
Ports nicht unterstützt. Ist dies in der aktuellen Version immer noch 
so? Wenn ja, was heißt dies?
Ist es relevant für mein Vorhaben und wie kann man es umgehen?

Vielen Dank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.