Emagic Unitor-8 / Midi Interface latency tweaking

Origineel geplaatst door Catalunya
Hanz!

Ga je nog een vergelijking doen tussen USB en Serieel? Ben wel benieuwd eigenlijk

groet Erik

Origineel geplaatst door rvooh
waarom is dat nodig?

iedereen weet dat serieel beter zal zijn...

... nou ja, dat was ik wel van plan. Het juiste kabeltje laat nog even op zich wachten maar wordt geregeld, inmiddels beetje druk wegens privé-dingetjes, maar dat gaat vanzelf wel weer over (binnen nu en 18 jaar, verwacht ik... ;))

Of serieel beter is, dat "iedereen het weet" schijnt inderdaad zo te zijn. Maar ik vind nergens bevindingen van mensen die het echt hebben geprobeerd en nagemeten (dus niet op "gevoel")... En het staat nog altijd haaks op de bewering van Michael Haydn, die stelt dat USB de beste aansluiting is... kortom, dat lijkt me nog altijd de moeite van het uitzoeken waard. Ik post wel in deze thread als ik wat heb gevonden! :)
 
Nou weet ik niet hoe snel serieel is of zelfs USB, maar ik meen me te herinneren dat de bewering van M. Haydn sloeg op het feit dat USB zoveel sneller is dan serieel, dus meer dan genoeg tijd zodat de Unitor/AMT8 wanneer volbelast over alle 8 poorten toch met gemak zijn werk kon doen. En zelfs dat, maar dat weet ik niet zeker, het AMT protocol in feite overbodig was geworden.
 
Origineel geplaatst door bronswerk
Nou weet ik niet hoe snel serieel is of zelfs USB, maar ik meen me te herinneren dat de bewering van M. Haydn sloeg op het feit dat USB zoveel sneller is dan serieel, dus meer dan genoeg tijd zodat de Unitor/AMT8 wanneer volbelast over alle 8 poorten toch met gemak zijn werk kon doen.

Die redenatie kan ik tot op zekere hoogte volgen, als je het hebt over rauwe doorvoersnelheid. Maar dan zou Haydn het hele non-realtime USB verhaal hebben vergeten, d.w.z. de oorzaak van jitter.
Goeie kans inderdaad dat de latency met USB iets lager zal zijn, maar wel bijv. een hogere jitter of peak jitter...

Origineel geplaatst door bronswerk
En zelfs dat, maar dat weet ik niet zeker, het AMT protocol in feite overbodig was geworden.

In feite zou het zo moeten zijn, dat dankzij het opnemen van timestamping in DirectMusic het bestaan van 'custom' protocols als AMT en LTB niet langer nodig zouden zijn; immers, zolang de sequencer DirectMusic drivers ondersteunt, en de interface een native DirectMusic driver (met timestamping) heeft, is ook de hele 'keten' gemaakt.
Zover ik begrepen had was dat nog wel eens de onderbouwing van het 'verdwijnen' van deze speciale timing protocols uit sequencer software (alles wordt onder de motorkap geregeld) - de praktijk blijkt helaas nogal weerbarstig.
 
snelheid is nooit alles, maar de manier waarop data verstuurd word (neem het aan van een informaticus in spe)
hier volgt wat technische blabla:

1° USB IS OOK SERIEEL (universal serial bus)

2° bij serieel wordt elke bit verzonden na de vorige, bit per bit (tegengestelde parallel)
de snelheid van seriele verbindingen kan enkel maar toenemen naargelang de technologische mogelijkheiden (cfr. SATA, Firewire)

3° USB heeft 127 apparaten op 1 bus maximum, serieel maar 1 apparaat.. de snelheden zijn als volgt:
USB 1.1 -> 12 megabits per seconde,
USB 2.0 -> 480 megabits per seconde
serieel (RS-232C) -> 115200 bits per seconde (±0,92 megabits per seconde)
midi -> 31250 bits per seconde

4° nadelen van USB: max 5m kabel toegestaan
serieel daarentegen kan enorme kabellengtes aan.
Communicatie via serieel kan op 3 manieren gebeuren:
synchroon (in mainframes), asynchroon (alle gegevens voorzien van pariteitsbit om ruis/storingen op je verbinding op te lossen)
en isochroon: wordt gebruikt bij realtime-toepassingen zoals beeld en geluid, en waarschijnlijk dus ook MIDI op de AMT-8
dit isochroon verkeer kan zowel synchroon als asynchroon zijn. Er worden dus meer fouten voor de ontvanger getolereerd, een lagere ontvangstkwaliteit is minder van belang als haperingen.

En met dit laatste komen we weer bij USB, die ook isochroon verkeer ondersteund..
Nu denk ik dat hier het probleem zit, waarschijnlijk gebruikt de AMT USB1.1 FULL SPEED, alhoewel deze dus uiterst snel is in vgl met gewoon serieel gaat alles hier volgens First Come First Served principe, maw, er is geen constante stream van data, elk verkeer op je USB-bus maakt de verbinding met de amt dus ontstabiel, dit in tegenstelling tot serieel waar enkel 1 apparaat per bus mogelijk is en dus wel een constante stroom gegarandeerd wordt.
In ieder geval (zie snelheid hierboven) voldoet serieel ruim voor midi.


Denk ik toch :geslaagd:
 
Origineel geplaatst door rvooh
Denk ik toch

Dat is ongeveer wel het verhaal ja... de snelheid over USB is niet het probleem, maar wel dat het (i.t.t. audio over usb, bijv.) niet realtime is, maar inderdaad 'first come first serve'.

Zover ik begrepen heb; hoewel de bandbreedte van USB groot genoeg is, is het niet mogelijk hier meerdere 'virtual circuits' (om maar even een term te lenen) te definieren. Dat kan bijv. wel weer bij Firewire, waar het gewoon mogelijk schijnt te zijn om binnen één verbinding één of meerdere 'virtual circuits' aan te leggen op precies de juiste bitrate, die vervolgens ook gegarandeerd wordt. Dit laatste is natuurlijk wel iets waar de driver-leverancier specifiek rekening mee zou moeten houden (gebeurt vast niet altijd).
 
Origineel geplaatst door Hanz

In feite zou het zo moeten zijn, dat dankzij het opnemen van timestamping in DirectMusic het bestaan van 'custom' protocols als AMT en LTB niet langer nodig zouden zijn; immers, zolang de sequencer DirectMusic drivers ondersteunt, en de interface een native DirectMusic driver (met timestamping) heeft, is ook de hele 'keten' gemaakt.

Ik meen me te herinneren dat de makers van Ableton het hierover hadden en zeiden dat deze direct music timestamp in v6 nog niet wordt ondersteund, omdat ze daarvoor het hele midi gedeelte moeten herprogrammeren.
 
Origineel geplaatst door Hanz
Dat kan bijv. wel weer bij Firewire, waar het gewoon mogelijk schijnt te zijn om binnen één verbinding één of meerdere 'virtual circuits' aan te leggen op precies de juiste bitrate, die vervolgens ook gegarandeerd wordt. Dit laatste is natuurlijk wel iets waar de driver-leverancier specifiek rekening mee zou moeten houden (gebeurt vast niet altijd).

idd,
daarom dat Firewire veel gebruikt wordt voor videotransfer en in de praktijk FW400 sneller is dan USB2.O (=480)


maarrr.. dat wil niet zeggen dat de klok op mn m-audio firewire stabieler is dan de klok op mijn AMT-8, in tegendeel
 
Origineel geplaatst door Hanz
de snelheid over USB is niet het probleem, maar wel dat het (i.t.t. audio over usb, bijv.) niet realtime is, maar inderdaad 'first come first serve'.

audio over usb is ook niet realtime.... is hetzelfde first come first serve principe.. zo werkt usb nu eenmaal.

door de enorme transferrates zullen we hier nooit iets van merken uiteraard.
 
Out of the box midex8 performance zonder LTB.
Voor de duidelijkheid alle data vermeld.

Vind de waardes overigen nog hoog maar denk dat als je via LTB je die latency kan terugbrengen met bufferen je toch nog kan compenseren. Of LTB dan ook invloed op het afwijken van de latency weet ik niet maar op zich is die nu al behoorlijk strak blijkt. Denk dat dit voor bijv bezitters van Ableton toch een interessant verhaal oplevert.

Code:
--------------------------------------------------------------------------
		 MidiTest Results
--------------------------------------------------------------------------



================ Info ====================================================

Date:		28 Nov 2006
Time:		23:42:05
AppVersion:	4.4.226
OS:		Microsoft Windows XP Professional, Service Pack 2 (Build 2600)
Processor(s):	AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
Speed:		2264 MHz
Number:		1
API:		MultiMedia Extensions (MME)
Test type:	Advanced
Use timestamp:	no
Errors:		None



================ Tested Message Types ====================================

		Note off:					yes
		Note on:					yes
		Key aftertouch:					yes
		Controller:					yes
		Program change:					yes
		Channel aftertouch:				yes
		Pitchbend:					yes
		System exclusive:				yes
		MIDI time code quarter frame:			yes
		Song position pointer:				yes
		Song select:					yes
		Tune request:					yes
		MIDI clock:					yes
		MIDI tick:					yes
		Start:						yes
		Continue:					yes
		Stop:						yes
		Active sensing:					yes
		System reset:					yes
		System exclusive mixed with realtime messages:	yes



================ Ports ===================================================

MIDI Output:	Midex8 8
Description:	Steinberg Midex 8 USB Midi Driver
Provider:	Steinberg
DriverDate:	Not available
DriverVersion:	1.9.0.3


MIDI Input:	Midex8 8
Description:	Steinberg Midex 8 USB Midi Driver
Provider:	Steinberg
DriverDate:	Not available
DriverVersion:	1.9.0.3



================ Results Per Message =====================================

MESSAGES		   Snd		   Rcv		    Snd+Rcv

Message TotalTime:	 1492.46 ms	122066.13 ms	123558.59 ms
Message MaximumTime:	    0.26 ms	    5.01 ms	    5.14 ms
Message MinimumTime:	    0.04 ms	    2.82 ms	    2.95 ms
Message AverageTime:	    0.05 ms	    3.91 ms	    3.95 ms
SysexTime:		   22.95 ms	 3532.78 ms	 3555.73 ms
SysexAverage:		    0.00 ms	    0.35 ms	    0.36 ms

    <   1 ms:		   31250	       0	       0
  1 -   2 ms:		       0	       0	       0
  2 -   3 ms:		       0	     657	      67
  3 -   4 ms:		       0	   17243	   17326
  4 -   5 ms:		       0	   13346	   13812
  5 -  10 ms:		       0	       4	      45
 10 -  20 ms:		       0	       0	       0
 20 -  50 ms:		       0	       0	       0
 50 - 100 ms:		       0	       0	       0
    > 100 ms:		       0	       0	       0

Message count:		   31250	Sysex count:	     159
Sysex size:		    9999	Sysex passed:	    9999

Message latency:	    3.95 ms	Total time:	 143.331 sec
Message jitter:		    0.57 ms
Message max deviation:	    1.19 ms



================ Results Per Byte ========================================

BYTES

Byte TotalTime:		49032.41 ms
Byte MaximumTime:	    4.08 ms
Byte MinimumTime:	    0.98 ms
Byte AverageTime:	    1.57 ms

    <   1 ms:		      29
  1 -   2 ms:		   30137
  2 -   3 ms:		      83
  3 -   4 ms:		     997
  4 -   5 ms:		       4
  5 -  10 ms:		       0
 10 -  20 ms:		       0
 20 -  50 ms:		       0
 50 - 100 ms:		       0
    > 100 ms:		       0

Byte count:		   82378

Byte latency:		    1.57 ms
Byte jitter:		    0.43 ms
Byte max deviation:	    2.51 ms

En voor de grap heb ik de midi interfacing (via USB welliswaar) van een van m'n 01v96's getest door hem in de mixer intern door te lussen en daarna een te testen.
De uitkomst is behoorlijk veel slechter dan het bovenstaande.
Theoretisch zou dit dan hoger moeten liggen omdat je alles via USB blijft houden, maar kan zijn dat in de mixer intern toch de bitrates getempered worden.

Maar toch als ik een nieuw OS flash in die mixer dan gaat midi via USB vele malen sneller dan via de 'outboard' midi. En dan in de orde groote van een factor 10 (heb geen stopwatch gebruikt, maar puur gevoelsmatig). Iets waar ik overigens maar wat blij mee ben omdat ik in Cubase dan ook gewoon de remote layers van m'n mixers kan gebruiken om een rij faders aan te sturen en/of mix automation op te nemen voor de andere faders. Dit zal dan wel niet oneindig kunnen maar ben zelf nog nooit tegen dit probleem aangelopen.

Wat serieel vs USB betreft kan het ook wel zo zijn dat er fabeltjes zijn onstaan omdat destijds dat USB midi interfaces op de markt kwamen het algemeen bekend was dat zo'n beetje alleen de moederborden met Intel chipsets een goede stabiele 1.1 USB hadden en anderen veel problemen gaven met diverse merken interfaces.

Theoretisch en praktisch gezien heeft USB meer bandbreedte maar dat geeft nog niet automatisch aan dat je latency laag en stabiliteit van je midi hoog hoeft te zijn.

Wat kan dan de invloed zijn van een UART gestuurde seriele aansluiting tov een CPU dependant USB aansluiting? Zou je evt tijdens het testen je een CPU Strain programma hiernaast moeten draaien om CPU dependancy uit te sluiten? (Heb die in het verleden wel eens in C geschreven tijdens een stage van me bij Tulip in Den Bosch om HD performances tov CPU straining te meten en daar toch wel wat van geleerd.) Immers In een sequencer kan je ook veel VST's gebruiken en dat kan een negatieve invloed hebben op de midi performance.

Yoonchi had overigens ook een interessante ontdekking gedaan qua gebruik van meerdere midi poorten tegelijkertijd.

En op zich krijg je dan redelijk veel parameters die elkaar tijdens het testen kunnen beinvloeden. Verschillende aansluitingen, type midi berichten, aantal aansluitingen, CPU load, type midi API, midin interface(met ook nog eens andere firmware) en midi drivers.
 
Origineel geplaatst door fuse
Out of the box midex8 performance zonder LTB.
Voor de duidelijkheid alle data vermeld.

...

Code:
--------------------------------------------------------------------------
		 MidiTest Results
--------------------------------------------------------------------------

================ Info ====================================================

Date:		28 Nov 2006
Time:		23:42:05
AppVersion:	4.4.226
OS:		Microsoft Windows XP Professional, Service Pack 2 (Build 2600)
Processor(s):	AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
Speed:		2264 MHz
Number:		1
API:		MultiMedia Extensions (MME)
Test type:	Advanced
Use timestamp:	no
Errors:		None


Interessante materie. Wat me opvalt is dat je hebt getest met MME drivers, zonder timestamping.
Ben erg benieuwd wat de DirectMusic drivers doen, omdat deze bij Steinberg voor de verandering nu eens native zijn en niet emulated. En ben ook benieuwd wat spelen met timestamp aan/uit doet, zowel bij MME als bij DirectMusic.

Dat er veel variabelen zijn ben ik met je eens. Kwestie van elimineren door te blijven werken met dezelfde dataset (grootte, samenstelling van MIDI messages etc.) en dan alleen de onderscheidende parameter varieren.
 
Valt er hier iemand met het vaderschap te feliciteren ??

'Het juiste kabeltje laat nog even op zich wachten maar wordt geregeld, inmiddels beetje druk wegens privé-dingetjes, maar dat gaat vanzelf wel weer over (binnen nu en 18 jaar, verwacht ik... )'

Kan zijn dat ik de plank flink mis sla. Heb dan ook slechts voorbereidende bewaarschool genoten
 
tnx ;)

... sorry voor de OT ;)
 
Laatst gewijzigd:
OK, ik ben even stevig aan het testen geweest.
Omdat ik geen 'risico's' wil lopen met het testen van ongelijke situaties heb ik alle tests gisteren nogmaals uitgevoerd.
Om te garanderen dat ik hier een betrouwbare test uitvoer met representatieve resultaten, heb ik de testset enigszins aangepast t.o.v. de vorige metingen; ik test hier met de meest recente versie (v4.4) van MIDItest, met inzet van een testset van 50.000 MIDI events van de volgende typen:

Code:
================ Tested Message Types ====================================

		Note off:					yes
		Note on:					yes
		Key aftertouch:					yes
		Controller:					yes
		Program change:					yes
		Channel aftertouch:				yes
		Pitchbend:					yes
		System exclusive:				   no
		MIDI time code quarter frame:			yes
		Song position pointer:				yes
		Song select:					yes
		Tune request:					   no
		MIDI clock:					yes
		MIDI tick:					yes
		Start:						yes
		Continue:					yes
		Stop:						yes
		Active sensing:					   no
		System reset:					yes
		System exclusive mixed with realtime messages:	   no

Kortom, dat zijn vrijwel alle gangbare MIDI instructies minus sysex - dit met de overweging dat sysex amper wordt gebruikt in timing-kritische gevallen, en sommige MIDI-interfaces moeite hebben met het mixen van sysex en realtime messages.

Ik test zelf op een AMD Athlon 64 X2 4400+ met 2048 MB geheugen, Windows XP SP2 met alle recente patches en hotfixes. Testen werden uitgevoerd onder minimale overige systeembelasting, om verstoring van de resultaten te voorkomen.
MIDI interface is een Emagic Unitor8 mkII (met RS232 en USB connectors), meest recente driver v2.27.

Achtereenvolgens heb ik getest:
-USB verbinding ("special USB chipset optimization" optie aangevinkt) mét "System Timestamp", MME Driver
-USB verbinding ("special USB chipset optimization" optie aangevinkt) zonder "System Timestamp", MME Driver
-RS232 verbinding mét "System Timestamp", MME Driver
-RS232 verbinding zonder "System Timestamp", MME Driver
-RS232 verbinding mét "System Timestamp", DirectMusic Driver
-RS232 verbinding zonder "System Timestamp", DirectMusic Driver

(ik heb nog meer scenario's getest, maar die zijn minder relevant)

Op deze manier zal ik vergelijken tussen:
-USB en RS232 aansluiting van de Unitor8
-System Timestamp ON en OFF
-MME en DirectMusic driver van de Unitor8
 
Laatst gewijzigd:
De resultaten:

USB "special" mét System Timestamp, MME:
Code:
================ Results Per Message =====================================

MESSAGES		   Snd		   Rcv		    Snd+Rcv

Message TotalTime:	  321.76 ms	319928.45 ms	320250.21 ms
Message MaximumTime:	    0.22 ms	   10.72 ms	   10.73 ms
Message MinimumTime:	    0.00 ms	    1.50 ms	    1.50 ms
Message AverageTime:	    0.01 ms	    6.40 ms	    6.41 ms
SysexTime:		    0.00 ms	    0.00 ms	    0.00 ms
SysexAverage:		    0.00 ms	    0.00 ms	    0.00 ms

    <   1 ms:		   50000	       0	       0
  1 -   2 ms:		       0	      95	      88
  2 -   3 ms:		       0	    1345	    1307
  3 -   4 ms:		       0	    3144	    3097
  4 -   5 ms:		       0	    7081	    7074
  5 -  10 ms:		       0	   38082	   38170
 10 -  20 ms:		       0	     253	     264
 20 -  50 ms:		       0	       0	       0
 50 - 100 ms:		       0	       0	       0
    > 100 ms:		       0	       0	       0

Message count:		   50000	Sysex count:	       0
Sysex size:		       0	Sysex passed:	       0

Message latency:	    6.41 ms	Total time:	 270.405 sec
Message jitter:		    1.71 ms
Message max deviation:	    4.90 ms

USB "special" zonder System Timestamp, MME:
Code:
================ Results Per Message =====================================

MESSAGES		   Snd		   Rcv		    Snd+Rcv

Message TotalTime:	  323.02 ms	222200.74 ms	222523.77 ms
Message MaximumTime:	    0.22 ms	    6.00 ms	    6.01 ms
Message MinimumTime:	    0.00 ms	    1.17 ms	    1.17 ms
Message AverageTime:	    0.01 ms	    4.44 ms	    4.45 ms
SysexTime:		    0.00 ms	    0.00 ms	    0.00 ms
SysexAverage:		    0.00 ms	    0.00 ms	    0.00 ms

    <   1 ms:		   50000	       0	       0
  1 -   2 ms:		       0	     116	     113
  2 -   3 ms:		       0	    2251	    2154
  3 -   4 ms:		       0	    9436	    9522
  4 -   5 ms:		       0	   26588	   26478
  5 -  10 ms:		       0	   11609	   11733
 10 -  20 ms:		       0	       0	       0
 20 -  50 ms:		       0	       0	       0
 50 - 100 ms:		       0	       0	       0
    > 100 ms:		       0	       0	       0

Message count:		   50000	Sysex count:	       0
Sysex size:		       0	Sysex passed:	       0

Message latency:	    4.45 ms	Total time:	 270.315 sec
Message jitter:		    0.86 ms
Message max deviation:	    3.28 ms

RS232 mét System Timestamp, MME:
Code:
================ Results Per Message =====================================

MESSAGES		   Snd		   Rcv		    Snd+Rcv

Message TotalTime:	 1866.29 ms	173169.95 ms	175036.24 ms
Message MaximumTime:	    3.37 ms	    5.89 ms	    5.92 ms
Message MinimumTime:	    0.02 ms	    0.12 ms	    0.76 ms
Message AverageTime:	    0.04 ms	    3.46 ms	    3.50 ms
SysexTime:		    0.00 ms	    0.00 ms	    0.00 ms
SysexAverage:		    0.00 ms	    0.00 ms	    0.00 ms

    <   1 ms:		   49995	      94	      62
  1 -   2 ms:		       4	    4426	    4161
  2 -   3 ms:		       0	   12959	   12645
  3 -   4 ms:		       1	   15996	   16039
  4 -   5 ms:		       0	   12575	   12802
  5 -  10 ms:		       0	    3950	    4291
 10 -  20 ms:		       0	       0	       0
 20 -  50 ms:		       0	       0	       0
 50 - 100 ms:		       0	       0	       0
    > 100 ms:		       0	       0	       0

Message count:		   50000	Sysex count:	       0
Sysex size:		       0	Sysex passed:	       0

Message latency:	    3.50 ms	Total time:	 154.543 sec
Message jitter:		    1.05 ms
Message max deviation:	    2.74 ms

RS232 zonder System Timestamp, MME:
Code:
================ Results Per Message =====================================

MESSAGES		   Snd		   Rcv		    Snd+Rcv

Message TotalTime:	 1820.19 ms	88054.96 ms	89875.15 ms
Message MaximumTime:	    1.13 ms	    2.24 ms	    2.31 ms
Message MinimumTime:	    0.02 ms	    0.00 ms	    1.05 ms
Message AverageTime:	    0.04 ms	    1.76 ms	    1.80 ms
SysexTime:		    0.00 ms	    0.00 ms	    0.00 ms
SysexAverage:		    0.00 ms	    0.00 ms	    0.00 ms

    <   1 ms:		   49999	      11	       0
  1 -   2 ms:		       1	   46629	   40934
  2 -   3 ms:		       0	    3360	    9066
  3 -   4 ms:		       0	       0	       0
  4 -   5 ms:		       0	       0	       0
  5 -  10 ms:		       0	       0	       0
 10 -  20 ms:		       0	       0	       0
 20 -  50 ms:		       0	       0	       0
 50 - 100 ms:		       0	       0	       0
    > 100 ms:		       0	       0	       0

Message count:		   50000	Sysex count:	       0
Sysex size:		       0	Sysex passed:	       0

Message latency:	    1.80 ms	Total time:	 155.898 sec
Message jitter:		    0.25 ms
Message max deviation:	    0.74 ms

RS232 mét System Timestamp, DirectMusic:
Code:
================ Results Per Message =====================================

MESSAGES		   Snd		   Rcv		    Snd+Rcv

Message TotalTime:	  990.43 ms	589333.28 ms	590323.71 ms
Message MaximumTime:	    0.72 ms	   17.29 ms	   17.31 ms
Message MinimumTime:	    0.02 ms	    6.06 ms	    6.08 ms
Message AverageTime:	    0.02 ms	   11.79 ms	   11.81 ms
SysexTime:		    0.00 ms	    0.00 ms	    0.00 ms
SysexAverage:		    0.00 ms	    0.00 ms	    0.00 ms

    <   1 ms:		   50000	       0	       0
  1 -   2 ms:		       0	       0	       0
  2 -   3 ms:		       0	       0	       0
  3 -   4 ms:		       0	       0	       0
  4 -   5 ms:		       0	       0	       0
  5 -  10 ms:		       0	   15240	   15129
 10 -  20 ms:		       0	   34760	   34871
 20 -  50 ms:		       0	       0	       0
 50 - 100 ms:		       0	       0	       0
    > 100 ms:		       0	       0	       0

Message count:		   50000	Sysex count:	       0
Sysex size:		       0	Sysex passed:	       0

Message latency:	   11.81 ms	Total time:	 449.426 sec
Message jitter:		    2.69 ms
Message max deviation:	    5.72 ms

RS232 zonder System Timestamp, DirectMusic:
Code:
================ Results Per Message =====================================

MESSAGES		   Snd		   Rcv		    Snd+Rcv

Message TotalTime:	 1022.29 ms	380806.75 ms	381829.05 ms
Message MaximumTime:	    0.62 ms	  261.74 ms	  261.76 ms
Message MinimumTime:	    0.02 ms	    6.15 ms	    6.17 ms
Message AverageTime:	    0.02 ms	    7.62 ms	    7.64 ms
SysexTime:		    0.00 ms	    0.00 ms	    0.00 ms
SysexAverage:		    0.00 ms	    0.00 ms	    0.00 ms

    <   1 ms:		   50000	       0	       0
  1 -   2 ms:		       0	       0	       0
  2 -   3 ms:		       0	       0	       0
  3 -   4 ms:		       0	       0	       0
  4 -   5 ms:		       0	       0	       0
  5 -  10 ms:		       0	   49999	   49999
 10 -  20 ms:		       0	       0	       0
 20 -  50 ms:		       0	       0	       0
 50 - 100 ms:		       0	       0	       0
    > 100 ms:		       0	       1	       1

Message count:		   50000	Sysex count:	       0
Sysex size:		       0	Sysex passed:	       0

Message latency:	    7.64 ms	Total time:	 447.621 sec
Message jitter:		    1.16 ms
Message max deviation:	  254.12 ms
 
Laatst gewijzigd:
Analyse:

1) Voor de Unitor8 (en waarschijnlijk ook de andere Emagic MIDI interfaces) is het absoluut af te raden de (emulated) DirectMusic drivers te gebruiken i.p.v. de standaard MME drivers.
Niet alleen leveren deze een beduidend slechtere performance dan de MME drivers, ook zijn ze minder stabiel (er traden onduidelijke fouten op bij het versturen van sommige MIDI commando's).
Met name in sequencers waar zowel de DirectMusic als de MME drivers te selecteren zijn is het dus van groot belang hierop te letten.

2) In het algemeen lijkt het erop, dat het beter is om 'system timestamp' uit te schakelen (zelfs onder MME) als de sequencer deze optie biedt. Op deze manier wordt zowel in USB mode als in RS232 mode een aanmerkelijke performance verbetering verkregen, op zowel latency als jitter waarden.
NB. de meeste sequencers op Windows maken niet gebruik van timestamping (m.u.v. Cubase).

3) Het is beter om de Unitor8 aan te sluiten via de RS232 poort dan via de USB poort. Dit in tegenstelling tot eerdere uitspraken van M. Haydn, de ontwerper van deze MIDI interface.

4) Op het moment dat de Unitor8 wordt aangesloten via RS322, en "system timestamp" niet wordt gebruikt, worden er zéér goede resultaten behaald, waarbij zowel de latency als de jitter waarden erg laag liggen.

Even "for the record", we hebben het over deze waarden:

Code:
Message latency:	    1.80 ms
Message jitter:		    0.25 ms
Message max deviation:	    0.74 ms

Het is dus absoluut niet zo dat de Unitor8 een slechte MIDI interface is die je beter in de prullenbak kan gooien. Als je geen Cubase gebruikt zijn de Emagics nog altijd een verantwoorde keuze. Gebruik je wèl Cubase, dan is het even letten op de juiste instellingen om toch zeer acceptabel te kunnen werken.

NB. wordt de Unitor8 alsnog aangesloten via de USB poort, dan is het aan te raden de optie "Special USB Mode optimization" eens uit te proberen. In mijn configuratie werden hier consistent betere resultaten behaald (zie startpost), waarbij het ook interessant is dat zonder dat deze optie werd gebruikt, de Unitor behoorlijk meer schommeling liet zien qua MIDI performance.

5) Het is nog even interessant in hoeverre de timestamping functionaliteit van de Unitor nu eigenlijk werkt. Volgens de ontwerper ondersteunt de Unitor8 wel degelijk timestamping op driverniveau, maar tot nu toe heb ik dit nog niet zien functioneren.
Op het moment dat timestamping werkend is te krijgen, worden de latency en jitter waarden uit de test van kleiner belang, omdat deze dan door de sequencer automatisch kunnen worden gecompenseerd. Ik wil hier zelf nog wat verder induiken...

6) Het zou in de toekomst misschien nog interessant zijn om eens te kijken wat het effect van systeembelasting (zwaar gebruik van de audio interface, zware CPU belasting) zou zijn op de MIDI benchmarks latency en jitter, en of hier zelfs tegenwoordig nog verschil in bestaat tussen USB en RS232, en of dit nog uitmaakt qua leverancier van de interface.

Ik ben benieuwd of er nog vragen / opmerkingen zijn! :D
 
Laatst gewijzigd:
Origineel geplaatst door rvooh
toch maar logisch dat timestamping ism cubase niet gaat werken?

Hoe bedoel je dat precies?
 
welja, Cubase ondersteund de timestamping technologie in de AMT niet, en vice versa..

is dan toch maar logisch dat je het afzet?
ik dacht gehoord te hebben dat het in het verleden wel de bedoeling was dat cubase dit zou gaan ondersteunen, maar dat het er niet van gekomen is...

weet er trouwens iemand vanaf welke versie van Logic timestaming ism de AMT ondersteund is?
 
Back
Top