mal mit midi experimentieren

moinsen.

ich würde gern mal ein paar gehversuche in sachen midi-protokoll und auch embedded programmierung machen. hab mir da ein nettes kleines projekt ausgedacht (ok, für mich als anfänger ehr ein großes projekt).
es geht erstmal primär darum bestimmte midi-events auszulesen und dann ausgänge entsprechend schalten. um erstmal ein gefühl dafür zu kriegen würde ich gern so ein paar dinge machen, wie ne led durch ein gate signal triggern oder sowas...
hab mir sagen lassen, atmega würde sich gut für sowas eigenen...

kann mir jemand nen groben abriss geben, was ich dafür brauche (entwicklungsboard etc.) / wie ich da rangehe? eignen sich generell alle atmegas für sowas? ihr seht schon: ich stehe noch ganz am anfang. bin um jeden rat dankbar..

ach ja: das ganze von linux aus :)
 
Ich würde dir ein Arduino empfehlen - damit kannst du am schnellsten loslegen, es gibt auch Libraries für MIDI etc. Die kleinen Arduinos basieren auch auf den Atmega CPUs.
 
Arduino hat eine sehr geringe Einstiegshürde, eine LED blinken zu lassen, geht damit sehr schnell. Man benutzt da eine eigene Entwicklungsumgebung und programmiert in C/C++ mit speziellen Arduino-Bibliotheken.

Alternativ kann man natürlich auch andere Entwicklungsboards verwenden, z.B. sowas hier: http://www.ebay.de/itm/Development-Stud ... 1228110723 . Zum programmieren bietet sich dann C mit Eclipse und dem Eclipse-AVR-Plugin an. Mir hat für den Einstieg damals das Tutorial auf mikrocontroller.net sehr geholfen: http://www.mikrocontroller.net/articles ... C-Tutorial

Ich habe mich schon ewig nicht mehr an AVR-Programmierung versucht, aber wenn ich was mit MIDI/Audio und AVR machen wollte, dann würde ich mir auch mal die Code-Bibliothek von Olivier Gillet ansehen, die er für den Shruthi, Ambika, Anushri und MIDIPal entwickelt hat: http://mutable-instruments.net/codetools - könnte nur für MIDI-Experimente etwas oversized sein, aber ist bestimmt interessant. Benutzt allerdings C++, was auf ATMegas etwas ungewöhlich ist (viele würden sagen, dass das nicht sinnvoll geht, Olivier beweist mit seinen Synths das Gegenteil).

Wenn ich das richtig sehe, haben alle ATMegas einen UART an board, also eine serielle Schnittstelle, aus der man sehr schnell eine MIDI-Schnittstelle machen kann: http://www.mikrocontroller.net/articles ... C/SD-Karte (die MIDI-Beschaltung entspricht eigentlich immer dem Schaltplan aus der MIDI-Spezifikation). Bin nicht mehr ganz up-to-date was die Chips angeht, aber ab ATMega32 konnte man mit entsprechendem Gerät auch JTAG benutzen, also in der Schaltung debuggen, was ich aber leider nie ausprobiert habe.

Mirko
 
Arduino kann ich auch empfehlen. Habe damit bereits einige Projekte umgesetzt.

Zusätzlich gibt es die HIDUINO Firmware:
https://github.com/ddiakopoulos/hiduino

Wenn man einen Arduino damit flasht, wird er über USB als ein midi Controller erkannt (HID Device), ganz ohne Treiberinstallation und man spart sich den umständlichen und unpraktischen Weg über einen Serial Converter.
Ich habe z.B. einen USB MIDI Controller mit Fußschaltern gebaut, der sehr robust läuft. Alles Plug&Play.
Zum flashen sollte man sich am besten einen AVR ISP MK2 zulegen:
http://www.reichelt.de/?ARTICLE=450...adwords_pla&&gclid=CM-InefEwb0CFWvjwgod84MAeQ

Dann benötigt man noch die MIDI Library:
http://playground.arduino.cc/Main/MIDILibrary#.UzvebaKs9jM

Der Einstieg lohnt sich, da man nach einer gewissen Einarbeitungszeit sehr gut mit der Platform klar kommt. Ich empfehle dazu das Fritzing Creator Kit, das einen sehr gut verständlichen Einstieg in die Materie bietet, man kann aber natürlich auch einfach einen Arduino kaufen und loslegen, gibt eine große Community und viele hilfreiche Tutorials wenn man mal ein bisschen bei google danach sucht.

Für weitere Projekte ist die Platform auch sehr günstig, da man nur einmal die Arduino Protoype Platform braucht und sich danach die Atmega Chips auf ein Breadboard löten oder stecken und dann mit dem Arduino flashen kann und die Atmegas kosten nur ein paar Euro.
 
Kennst du meine beiden Projekte zur Midi-Schnittstelle?

Der (GPL) Code für Y.A.M.A ist ziemlich überschaubar, für Atmel (ATMEGA 168 und 328), komplett in C, und es gibt eine günstige Platine dazu.

Wenn du entwickeln willst brauchst du den Atmel-Dragon (günstiger, aber bastelig) oder den ATMEL ICE (fertig). Entwicklungsumgebung verteilt ATMEL gegen kostenlose Registrierung.

Der Vorteil der ATMELS ist, das sie relativ simpel sind, aber deutlich moderner als die PICs.

Wäre so ein komplett anderer Ansatz als Arduino, nämlich alles komplett mit eigenem Code und ohne Framework. (Klar, die C Bibliotheken werden ggfls. eingebunden, mal so ganz entspannt ein double x=log(y); passt allerdings eher nicht in den Chip... )
 


Neueste Beiträge

News

Zurück
Oben