Zum Thema Oszilloskop: Wenn ich die Gesamtabweichung eines Systems messen möchte, dann ist die Messung mit dem Oszilloskop nur eine Scheingenauigkeit, da viel Jitter auch in den jeweiligen Firmwares der zu messenden Geräte erzeugt wird.
Ist zwar schon fast ein Jahr alt. Aber...
Eine Gesamtabweichung zu messen ist zwar nett, aber bis auf die Aussage: dass ist oft(!) scheiße, bringt sie garnichts. Wenn man Pech hat, dann erwischt man mit dem Messvorgang genau den Moment wo sich ein negativ-Abweichung und eine positiv-Abweichung gegenseitig aufheben. Dann hat man einen scheinbar hervorragenden Gesamtwert, von zwei total schlechten Geräten. Hätte man zehn Sekunden später gemessen, so bekäme man ein völlig mieses Ergebnis.
Hier werden dauernd zwei Baustellen vermengt:
1.) Wie stark ist der "Jitter" einer Clock-Quelle?
2.) Wie genau reagiert ein ein Clock-Empfänger auf Clock (welchen Jitter erzeugt die Firmware im empfangenden Gerät zwischen MIDI-In und Klangerzeugung.
Meine Forderung nach Oszilloskop-Messung bezieht sich auf Punkt eins.
Für Punkt zwei muss man zudem vorher erst mal messen, welchen Jitter das Gerät mit internem Clock macht. Also zB vier viertel mit einen Rimshot.
Jetzt misst man folgende Werte (ich schreib nur Nummern. 2-1 soll halt immer heißen Abstand zwischen zweitem und ersten Schlag. ):
2-1
3-2
4-3
(3-1)/2
(4-2)/2
(4-1)/3
Das Gerät ist mit interner Clock nur dann Jitterfrei, wenn all diese Werte identisch sind.
Ich vermute offengestanden, dass die meisten Geräte hier schon einen Ungenauigkeit an den Tag legen. Je stärker hier die Abweichungen sind, umso aussageloser werden alle folgenden Messungen.
Das baut auf der exzellenten Midi Clock des Midipal auf,
Die ist auch nur bedingt exzellent. Der Arduino kann kein Multithreading. Das bedeutet, dass die Ausgabe fürs Display und die Abfrage des Encoders keinerlei Rücksicht darauf nehmen, ob da jetzt ein Clock-Tick erzeugt werden muss oder nicht.
Exzellent wäre ein Quarz-Oszillator, der hardwaremäßig runtergeteilt wird, und dessen Ausgang dann in eine Prozessor geschickt wird der nichts anderes macht als MIDI-Clock-Ticks aus den Interrupt-Inputs zu erzeugen, kein Display, keine Tempoeinstellung, garnix. Nur MIDI-Bytes rausschreiben.