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
> 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.
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?
>Allerdings weiß ich nicht welche Schnittstelle ich am PC verwenden soll
Na wie wär´s denn mit der MIDI-Schnittstelle?! Wenn Dein PC keine (mehr)
hat, die sich gemeinhin am Gameport der Soundkarte befindet, kannst Du
einen MIDI <-> USB Wandler käuflich erwerben, zum Beispiel von EMU für
etwa 40 EUR.
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.
Bei meinem E-MU Xmidi 2x2 geht das wunderbar mit nicht spürbarer Latenz. Am besten sind natürlich echte MIDI-Schnittstellen, gerade wenn man etwas damit synchronisieren will.
> 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 ;-)
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.
Gut, mein E-MU XMIDI läuft unter XP, mit den XP-eigenen Treibern für USB-MIDI Devices. Welches Wiedergabemodul für Deine MIDI-Daten benutzt Du unter Win98SE, also was erzeugt den Sound, wenn Du per MIDI Daten einspielst?
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.
>Mit dem Gameport der Soundkarte geht das mit MIDI problemlos. Nur wird >der Port recht oft anderweitig gebraucht, Zum Beispiel wozu?
Andere MIDI-Geräte, die blöderweise nur diesen 15poligen Stöpsel haben, statt den DIN-Buchsen.
Dann bau Dir einen Adapter oder steck eine 2. Soundkarte ´rein, z.B. eine günstige SBLive! oder Audigy, die ist dann auch gleich noch kompatibel zum kX-Treiber.
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.