Hallo,
Ich bin auf dem Gebiet totaler Anfänger und habe außer mit dem 68HCxx,
den ich auch nur noch gerade so aus meiner Schulzeit kenne ;) keine
Erfahrung.
Und zwar möchte ich einen Sequenzer basteln, um meinen Novation
Drumstation - Synthesizer im Stile der TR 808/909 anzusteuern. Gibt es
da eventuell schon fertige Projekte in der Art oder muss ich mir die
ganze liebe Arbeit selber machen ? g
THX schonmal
Chris
Ich habe sowas mal angefangen, aber irgendwann das Interesse daran
verloren. 16 Tasten mit LEDs (geplant) waren als Matrix an einem AVR
angeschlossen, das UART diente als Midi-Ausgang. Den "aktuellen" Stand
hab ich mal angehängt. Wie du siehst ist es noch sehr minimalistisch -
aber das was da ist funktioniert. Die passende Hardware dazu habe ich
auch noch irgendwo rumliegen. Könnte ich ja eigentlich wieder mal
weiterbasteln...
Andreas
Deine Projektidee hat noch wenig mit MIDI zu tun. Beide Geräte stammen
ja noch aus der PRE-Midi Zeit. Da die Novation aber meinen Informationen
nach nur über einen TR808/809 Sync-Ausgang aber keinen Eingang verfügt
müssest du hier erst einmal ein entsprechendes Interface nachrüsten.
@andreas
1995 war noch "Pre-Midi-Zeit" bei Instrumenten mit anloger
Klangerzeugung. War den Herstellern damals einfach zu teuer, den
Standard einzubauen. Kostet heute ja nur noch Pfennige im Vergleich zu
damals. Wenn aber schon ein DrumStation mit MIDI I/O vorhanden ist, dann
verstehe ich das Problem nicht ganz. Dann reicht ja ein einfacher AVR
als MIDI Sequenzer der lediglich die entsprechen Sequenzen seriellen mit
31250 Baud (eigentlich richtigerweise bps) mit 8 Daten - und einem
Stopbit ausgibt. Natürlich muss man sich dann mit dem entsprechen
Programming Manual für die korrekten Controller-Sequenzen befassen.
Gerade im Bereich der System Exclusiv Messages kocht ja jeder Hersteller
sein eigenes Süppchen.
Chriz, ich denke du solltest unbedingt noch mal sagen was du dir unter
dem Sequenzer eigentlich vorstellst. Bei http://www.uCApps.de/uC.html
gibt es sogenannte MIDI Boxen, mit denen man schon ne Menge machen kann
(aber eher in Richtung Parameter in Echtzeit verändern ). Leider meist
mit den teuren PIC16F877 und Quelltext wird auch nicht angegeben. Wenn
du eher was in Richtung Schlagzeugspielen auf Tasten suchst, ist der
Ansatz eher bei Andreas zu finden (beides zusammen währe ja vielleicht
auch nicht schlecht).
Gruß Bernhard
Hi
Also die Drumstation ist BJ 98 und hat klar einen Midi-Eingang wobei
jede Note einem bestimmten Drumevent entspricht.
OK - also noch einmal eine Erklärung für die, die nicht ganz verstanden
haben was ich meine:
16 Tasten dienen zur Programmierung des Sequenzers - dabei steht jede
Taste für einen Step im 16ntel-Takt. Der Prozessor soll den Zustand der
tasten (1 oder 0) geloopt abarbeiten und je nachdem eben eine bestimmte
Midi-Note ausgeben oder auch nicht. Wird z.B. die Note C1 gesendet soll
in dem Moment die Basedrum abgespielt werden.
Das Genze sollte auch noch für jede Note getrennt funktionieren - dh zB
wenn Basedrum und HiHat angesteuert werden sollen dann sieht das erste
über die Tasten eingegebene Muster so aus (in Noten bzw keine Note
angegeben):
c1 - - - c1 - - - c1 - - - c1 - - -
dann soll umgeschaltet werden auf die Ausgabe einer anderen Note (z.B.
Fis1 = Hihat). Noch während die Basedrum weiterläuft kann widerum über
die 16 Tasten der Takt der Hihat eingegeben werden - zB:
- - Fis1 - - - Fis1 - - - Fis1 - - - Fis1 -
die Ausgabe an den Synthesizer sieht dann insgesamt folgendermaßen aus:
c1 - Fis1 - c1 - Fis1 - c1 - Fis1 - c1 - Fis1 -
Also alles im Stile der echten 808/909 - nur daß der Klagerzeueger
selber per Midi mit dem Sequenzer verbunden ist.
Hoffe denen, die es erst nicht verstanden hatten, ist klar geworden was
ich meine
@ Andres: Danke schonmal - werd deine Entwicklung jetzt mal n bisschen
entschlüsseln (wie gesagt - bin Anfänger g)
Grüße
Chris
Was ich noch vergessen hatte:
Das ganze soll nicht ganz so funktionieren wie die klassischen
Vorbilder. Also ich denke wenn man die klassischen Vorbilder genau
simulieren will schreibt man zB den Zustand der Tasten für jedes
Instrument einzeln jeweils in einen Speicher und schaltet am Gerät nur
zwischen den Instrumenten um. Ich will aber einen Direktzugriff auf 6
Instrumente ohne umschalten zu müssen (also mit 6 x 16 Tasten); dazu
sollte das ganze eine Syncronisation haben, da das Gerät im Live-Einsatz
in den Midi-Setup eingebunden werden soll.
Jetzt meine Frage dazu:
Ist ein AVR überhaupt schnell genug um damit klar zu kommen und das
Protokoll selber zu erzeugen oder ist es eher so wie ich denke - nämlich
daß man um extra Midichips nicht herumkommt?
Kennt jemand eine ordentliche Dokumentation über das Midi-Protokoll?
THX
Chris
Hallo Chriz,
vielen dank für deine ausführlichen Erläuterung zum Sequenzer. Ich habe
bisher keine Erfahrung mit Drumcomputern, würde mich aber gerne an `nem
Midiprojekt beteiligen. Was das Midiprotokoll angeht:
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=2060986323 ich habe
genau die gleiche Ausgabe - ist wirklich sehr ausführlich.
Gegebenenfalls könnte ich dir auch mal ein paar Seiten daraus Kopieren.
Der Andreas hat ja schon gezeigt, wie man die Midi Daten via UART
rausschicken kann. Ich denke der AVR sollte schnell genug sein.Ein Midi
Out Treiber 5 mA (notfalls ein Transistor), ein Optokoppler für Midi In
und ein paar Wiederstände, Schutzdiode sollte für das Interface reichen.
Gruß Bernhard
Hallo Chris!
http://www.hinton.demon.co.uk/ - da gibts ne menge midi-infos... incl.
Schaltungsaufbau von Midi-Interfaces und das Datenformat etc...
Geschwindigkeitsmäßig ist das wohl kein Thema... ein AVR mit z.B. 8Mhz
lacht da einmal kurz drüber ein paar Bytes Midi-Daten mit 31.25 Kbaud zu
verschicken...
wenn du keine große Lust hast, viel zu basteln, hol dir ne 707 (die
Midi-Noten rausschickt) und bau dir lediglich eine Midi-Box die die
Noten auf die entsprechenden Sounds deiner Drumstation ummappt... (das
beeinhaltet dann allerdings nicht die Geschichte mit deiner 6x16Tasten
Matrix)...
auf jeden Fall hörts sich nach einem interessanten Projekt an... halte
uns auf dem Laufenden!
im übrigen finde ichs ziemlich gut, daß es hier doch einige Leute zu
geben scheint, die sich mit Synthis und Midi-Projekten auseinandersetzen
(so wie ich zur Zeit). was habt ihr denn so feines gebastelt?
ciao christian
OK - nur damit es hier ja keine Enttäuschungen gibt:
Meine Elektronikerfahrung reicht bis jetzt nicht viel über ein bisschen
Digitaltechnik, passive Bauelemente, OPS usw hinaus. Deshalb möchte ich
jetzt nicht allzu große Hoffnungen erwecken, daß das 100%ig was wird.
Die Zeit macht mir leichte sorgen - naja - ne Menge Geduld werd ich
schon brauchen denk ich ;)
Aber mal zu meiner Grundidee und die mehr erfahrenen können mir bestimmt
sagen ob das so klappen könnte oder nicht:
Auch wenn der Sequenzer nur 64 Tasten haben soll, soll eventuell doch
die möglichkeit bestehen noch mehr als 6 Instrumente oder sogar weiter
Drumcomputer anzusteuern ... und mit der ein oder anderen Zusatzfunktion
wie eben Midi-Controller und mehrere Bänke könnte das ganze doch etwas
rechenintensiver werden.
Deshalb eventuell 2 AVRs ?
Der erste liest den Zustand der Taster, aktiviert je nach Zustand die
entsprechenden LEDs und schreibt die Midi-Daten in einen externen
Speicher.
Der zweite liest den Speicher aus und wandelt alles in
Midi-Informationen um.
So rein in der Theorie stelle ich mir das wesentlich einfacher vor als
wirklich alles auf einen einzigen Chip zu packen - oder bin ich da im
Unrecht ?
Grüße
Chris
Hallo Chris!
hmm, also 2 AVRs hören sich für mich eher nach Ressourcen-verschwendung
an. Zumal das Zwischenspeichern der Midi-Daten in einen extra Speicher
(+wieder auslesen) dem Timing deines Sequencers auch nicht gerade zu
gute kommt. Sowas sollte man dann auch auf dem Punkt rausschicken, damit
die Kiste auch tight läuft. Würde ich auf jedem Fall auf einem
Controller implementieren ("größerer" Bauart wie den 8515, der immer
noch genug I/O's für alles bietet und mit 8Mhz (s.o.) immer noch fix
genug ist, alles locker zu machen).
Eine Sache, die hier noch garnicht angesprochen wurde, ist, daß du das
Gerät ja sicherlich nicht als Standalone-Sequencer benutzen möchtest,
sondern die Drumstation im vorhandenen Midi-Equipment auch die
einprogrammierten Pattern mitspielen soll. D.h.: Midi-In basteln,
Midi-Clock-Daten auswerten (die schön unregelmäßig reinkommen und man
lustig durchschnittswerte o.Ä. berechnen muß, um ein anständiges Tempo
zu erhalten) etc. um eine vernünftige Synchronisation zu gewährleisten.
Ist alles nicht ganz ohne sowas... :)
ciao christian
ja - das hab ich befürchtet - deshalb hab ich den Gedanken der
Syncronisation vorerst verdrängt g bis ich den Rest auf die Reihe
bekommen habe.
Naja - werde später erst mal den Simulator anschmeißen, ein bisschen
besser die AVRs kennenlernen und irgendwann in nächster Zeit das ganze
mal mit nur 16 Tasten und nem 4433er testen ... wenn ich das erst ma
raushätte wär ich ja schon überglücklich - dann kann der Rest auch nicht
mehr so schwer sein ;)
@Bernhard T
Danke für das Angebot - denke aber falls der Link von hammer_c nichts
bringen sollte und ich sonst nichts im Netz finde werd ich mir doch
gleich das komplette Buch holen ;) Was das Angebot wegen Mitarbeit
angeht find ich echt nett hier gleich so aufgenommen zu werden aber ich
denke ich hänge dir vom Wissen her noch viel zu sehr hinterher - aber
wenn sich daraus ein weiteres großes Hobby entwickeln sollte gerne mal
;)
Grüße
Chris
Das oben genannte Buch würde ich mir auf keinen Fall kaufen, da wirst du
wohl kaum was über Midi finden. Schau dir lieber mal
http://www.harmony-central.com/MIDI/ an. Note on und Note off sollte
erst mal alles sein was du für die ersten Schritte brauchst. Das
Midi-Protokoll ist wirklich trivial.
Zu der Midi-Clock: ich habe damit keine Erfahrung, aber es wäre doch
wahrscheinlich am einfachsten, wenn du die Clock einfach selber erzeugst
anstatt sie von der Drumstation zu empfangen. Midi-Eingang wäre dann
auch überflüssig.
Den Midi-Ausgang und die paar Tasten und LEDs schafft ein einzelner AVR
mit links. 2 Controller zusammen sind viel zu umständlich.
Andreas
Das wär auch ne Idee ... dann soll sich doch mein Yamaha-Sequenzer
Gedanken machen wie er syncronisieren soll g... lässt sich so
einstellen ... stellt also kein Prob dar.
Denke mit den 2 Links die ich jetzt über Midi hab kann ich schon
ziehmlich viel anfangen.
THX
Chris
jetzt doch noch mal was dazu ob das ein einziger AVR schaffen kann. Da
ich jetzt nicht doppelt posten will guckt einfach unter dem Thread
"Effizienz von Bascom !?" rein. Also nach den Testergebnissen denke ich
hat man zumindest in C geprogged keine Chance, daß das funktioniert wenn
eine simple For ... Next - Schleife schon 125 µs benötigt. Oder ??
Sorry - ich kanns nicht lassen immer wieder mit dem Thema anzufangen ...
was Assemblerprogrammierung angeht nehm ich euch das ja auch ab - aber
bei C ist das so ne Sache lach
Grüße
Chris