Midi Clock an PC senden

Gast #1073896
Lesenswert?

Hey!

ich würde gern mit einem AVR ein Midiclock Signal (welches über ein Poti 
eingestellt wird) an den PC senden.
Da ich jeden Beat und jeden 96tel Teil ein Signal schicken muss sollte 
das so aussehen:

150bpm (maximal) --> 2,5 Beats pro Sekunde --> mal 96 Anschläge pro 
Beat: 240 Anschläge pro Sekunde --> aller 4,16ms ein Byte zu übertragen.

Das sollte soweit machbar sein mit einem AVR (hoffe ich). Allerdings 
weiß ich nicht welche Schnittstelle ich am PC verwenden soll. Wollte 
gern USB, allerdings ist der Pollintervall für LowSpeed Devices ja schon 
bei 10ms. Fällt also raus.

Wie ist die Latenzzeit bei anderen Schnittstellen?
Eine Latenzzeit wäre ja wahrscheinlich auch nicht so schlimm, allerdings 
sollte sie relativ konstant bleiben damit man damit arbeiten kann.

Wie sieht es mit RS232 aus? Wie groß und wie konstant ist die 
Verzögerung an dieser Schnittstelle?

Danke schonmal!

Bye
Moderator (Firma: Titel) Persönliche Seite #1073923
Lesenswert?

> Wie groß und wie konstant ist die Verzögerung an dieser Schnittstelle?
Welches Betriebssystem?
Falls du Windows willst, wirst du ohne tiefergehende Programmierung 
keinerlei sinvolle und reproduzierbare Genauigkeit hinbekommen. Nicht, 
dass eine Auflösung von 1ms nicht möglich wäre, aber auf der Ebene, die 
dir die "üblichen" Tools bieten, ist Echtzeit ein schnöder 
Wunschtraum... :-(

Mal ganz davon abgesehen, dass die Midi-Baudrate nicht zu den 
gebräuchlichen Übertragungsraten im PC-Bereich gehört, und es dir schon 
schwerfallen könnte, diese Baudrate überhaupt einzustellen.
Gast #1074037
Lesenswert?

Also wäre es eventuell einfacher das Timing durch den Rechner machen zu 
lassen, und nur per Schnittstelle den aktuellen Timerwert übergeben zu 
lassen. (Der ändert sich ja nicht so schnell und so sprunghaft)

Habe gelesen das es einen VB Timer gibt, welcher bis auf einen Bruchteil 
einer Millisekunde genau arbeitet.

Das sollte dann reichen, oder was meint ihr?
#1074080
Lesenswert?

Wobei diese Midi-Wandler bei mir nur Stress machen. Hatte bisher 2 
verschiedene (auch an verschiedenen PCs versucht). Überall war es so, 
dass dort untolerierbare Laufzeiten drin waren.

Bei Midi-Out, d.h. vom PC zum Instrument gings, wenn ausser diesem 
Instrument nichts anderes (weiteres Instrument, Sounds per Soundkarte) 
gespielt wurde.

Einspielen von Tönen (Instrument => PC) geht garnicht brauchbar; wenn 
eine Taste gedrückt wird, dann kommt der Ton erst so nach ca. >200ms 
beim PC an.
Moderator (Firma: Titel) Persönliche Seite #1074172
Lesenswert?

> Habe gelesen das es einen VB Timer gibt, welcher bis auf einen Bruchteil
> einer Millisekunde genau arbeitet.
> Das sollte dann reichen, oder was meint ihr?
Wenn du dann nur mal die Maus bewegst -->   :-(

Ich zitiere mich nochmal:
>> Falls du Windows willst, wirst du ohne tiefergehende Programmierung
>> keinerlei sinvolle und reproduzierbare Genauigkeit hinbekommen.
VB gilt für mich nicht als tiefergehend.

Ich habe hier mit diversen Chipsätzen und Bios-sen gekämpft, und 
herausgefunden, dass dir bei gleichem Chipsatz sogar schon das Bios 
ansehnlichen Jitter bringen kann.
Wenn du z.B. einen USB-Stick einsteckst, laufen da einige DMA-Transfers 
ab, die bei ungünstiger Bios-Programmierung ohne weiteres 500us Jitter 
bringen können. Bei mir hat da nur noch die zeitweise Abschaltung des 
PCI-Arbiters geholfen.


EDIT:
Auch mein Emagic MT4 USB-MIDI-Interface macht das ganz erträglich gut,
aber ich denke, das ist nicht in VB programmiert ;-)
#1074204
Lesenswert?

Travel Rec. wrote:
> ... E-MU Xmidi 2x2 ...

Ich hab den 1x1... anscheinend stimmt dann irgendwo was mit der Software 
nicht. Oder läuft das Teil nur unter Nicht-Win98-SE vernünftig?
(WinXP geht leider nicht, da die Sampling-Software dort nicht mehr will)

Das davor war irgend so ne Chinagurke, da ging garnix bzw. die Zeiten 
waren random.
#1074321
Lesenswert?

Als Empfänger/Sequencer/Aufnahmesoftware wird der Midi Orchestrator 
(Voyetra) verwendet. Zwar schon uralt, aber tuts. Der gibt die Signale 
an den Nemesys (mittlerweile Tascam) GigaSampler weiter. Und der will 
unter XP nicht mehr.
(Sogar mit eigener Fehlermeldung sinngemäss "This program can not be run 
under Windows XP)

Mit dem Gameport der Soundkarte geht das mit MIDI problemlos. Nur wird 
der Port recht oft anderweitig gebraucht, so dass in diesen Fällen dann 
die Verbindung per USB herhalten muss.
Gast #1074819
Lesenswert?

Hey!

Das ist ja wunderbare Diskussion.
Zu den nicht akzeptierbaren Latenzen über Midi bin ich auch schon 
gekommen.

Wie wäre es ein fertiges Programm zu benutzen? Zum Beispiel Midiox?
Wenn ich irgendwie meinen Speed dort hineinbekomme.

leider hab ich keinen Platz mehr für ne Soundkarte, ansonsten wäre das 
wahrscheinlich die erste Wahl.

Latenzen wären ja nicht mal so schlimm, aber sie müssten halt konstant 
bleiben. Und wenn der Timer auf 0,5ms genau läuft, reicht das glaub ich 
auch, oder?
(Firma: TravelRec.) Persönliche Seite #1074857
Lesenswert?

Also über USB und mit WIN98SE sehe ich eher keine ansprechende Lösung, 
zumal viele Sequenzer-Programme mit WIN98SE ihre eigenen Probleme haben. 
Seit meinem Schwenk auf XP ist meine Arbeit mit HD-Recording und MIDI 
unbeschwert. An früher mag ich nicht denken.

PS: viele Motherboards haben einen Game/MIDI-Port onboard auf einem 
Header, vielleicht kann man den nutzen. Dieser muß im BIOS aktiviert 
werden, falls vorhanden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren