1 (edited by Timur 2008-04-24 12:51:33)

Topic: Feature Request: Native DirectMusic support for RME Midi drivers

I am using Ableton Live 7 which features DirectMusic (DM) support. As far as I am aware Cubase also offers DM support and I wouldn't wonder if Sonar does so, too. Unfortunately out of my 6 Midi interfaces (2 x PCI, 1 x FW, 3 x USB) only the PCI ones (MPU-401, Audiophile 24/96) come with native DM drivers. Some time ago I was told by Daniel Fuchs that with Cubase [Emulated] DirectMusic drivers perform best with the RME products, which strikes me odd.

[Emulated] DM is nothing but a software wrapper that translates to MME as far as I know. It's the least best option and on XP it adds an average of 5ms latency to all of my 7 Midi interfaces. RME's MME drivers are very good (with negible latencies and jitter), but the native DirectMusic drivers of my MPU-401 and Audiophile 24/96 offer even 0 (zero, null, nil, nada) Jitter while showing the same good latencies as the FF. I attribute that to the advanced timestamping methods used by DM compared to MME. Microsoft even released a patch (now included into SP1) for Vista that ensures the use of the High Precision Counter (HPC) with DM on Vista.

Here is a comparison of the FF400's performance with both MME and [Emulated] DM. As you can see using [Emulated] DM is absolutely no option compared to MME (high latency on XP, high jitter on Vista).

Fireface 400 - Firewire - MME - XP

Message latency:        0.37 ms    Total time:      61.097 sec
Message jitter:            0.30 ms
Message max deviation:        0.70 ms

Fireface 400 - Firewire - MME - Vista

Message latency:        0.14 ms    Total time:      61.174 sec
Message jitter:            0.30 ms
Message max deviation:        1.76 ms

Fireface 400 - Firewire - [Emulated] - XP

Message latency:        5.63 ms    Total time:    3318.386 sec
Message jitter:            0.30 ms
Message max deviation:        2.84 ms

Fireface 400 - Firewire - [Emulated] - Vista

Message latency:        1.24 ms    Total time:    1277.564 sec
Message jitter:            2.00 ms
Message max deviation:        6.26 ms


Here are the results of my PCI based Midi interfaces. They perform only slightly better (a testify of how good RME's drivers are), but when you consider that at 120 bpm a 1/16th note has a duration of only 2 ms then 0 ms jitter is still preferable to 0.3 ms (which corresponds to as much as 15% of the 1/16 notes duration) and the faster the bpm the worse that correlation gets. <---- forget that argument, its false, based on false math! ed:

Audiophile 24/96 - PCI- MME - XP

Message latency:        0.07 ms    Total time:      61.085 sec
Message jitter:            0.08 ms
Message max deviation:        0.28 ms

Audiophile 24/96 - PCI - DirectMusic - XP

Message latency:        0.33 ms    Total time:    1828.135 sec
Message jitter:            0.00 ms
Message max deviation:        0.10 ms

Audiophile 24/96 - PCI - DirectMusic - Vista

Message latency:        3.75 ms    Total time:    5960.018 sec
Message jitter:            0.10 ms
Message max deviation:        1.23 ms


Onboard MPU-401 - PCI - MME

Message latency:        0.08 ms    Total time:      61.095 sec
Message jitter:            0.09 ms
Message max deviation:        0.53 ms

Onboard MPU-401 - PCI - DirectMusic

Message latency:        0.37 ms    Total time:    3056.020 sec
Message jitter:            0.01 ms
Message max deviation:        0.49 ms

Onboard MPU-401 - PCI - DirectMusic - Vista

Vista does not support MPU-401 devices anymore, but there is a Beta driver for Asus mainboards that offers DirectMusic support for Vista 32 (no MME, no 64-bit).

Message latency:        0.37 ms    Total time:    5720.239 sec
Message jitter:            0.01 ms
Message max deviation:        0.07 ms

Onboard MPU-401 - PCI - [Emulated] - XP

Message latency:        5.63 ms    Total time:    3318.386 sec
Message jitter:            0.30 ms
Message max deviation:        2.84 ms

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Hi!

I can't comment on the issue itself, but the following caught my eye:

Here are the results of my PCI based Midi interfaces. They perform only slightly better (a testify of how good RME's drivers are), but when you consider that at 120 bpm a 1/16th note has a duration of only 2 ms then 0 ms jitter is still preferable to 0.3 ms (which corresponds to as much as 15% of the 1/16 notes duration) and the faster the bpm the worse that correlation gets.

At 120bpm a 1/16th note has actually a duration of 125ms. Maybe you thought of bpm as bps?

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Eki77 wrote:

Hi!

I can't comment on the issue itself, but the following caught my eye:

Here are the results of my PCI based Midi interfaces. They perform only slightly better (a testify of how good RME's drivers are), but when you consider that at 120 bpm a 1/16th note has a duration of only 2 ms then 0 ms jitter is still preferable to 0.3 ms (which corresponds to as much as 15% of the 1/16 notes duration) and the faster the bpm the worse that correlation gets.

At 120bpm a 1/16th note has actually a duration of 125ms. Maybe you thought of bpm as bps?

Yes, you are right. My fault. I did too much math lately trying to convince some of the engineer guys to add missing features. So forget about the 0.3 - 0.4 ms jitter of the FF MME drivers, it doesn't matter. I will forget about it just this very instance and apologize for any nitpicking on behalf of that. smile

Nevertheless I understood that DM is preferable to MME in context of a DAW, because of it's higher priority and precision timestamping. Ableton Live for example does its own jitter-correction (on the cost of higher latency), but in order to do that right it needs the best timestamps it can get. Also as far as I know only DM is able to timestamp OUTgoing Midi events, whereas MME can only timestamp INcoming Midi events.

4

Re: Feature Request: Native DirectMusic support for RME Midi drivers

It is not possible to use MIDITest with anyting else than MME, this has always been the case. Even with the new WDM drivers. But using emulated ports can help in your software. This is a big disaster in the industry, everybody does it a bit different, MS implemented so many different ways to do it. There are so many possible combinations under the hood, that there is no general recommendation how to get the best performance for all interfaces or software.

Regards
Matthias Carstens
RME

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Now I am confused. As you can see yourself I can perfectly use Miditest with both my PCI Midi interfaces with native DirectMusic and [Emulated] additionally to MME and WDM. So why do you state that DirectMusic is not possible with Miditest?

6

Re: Feature Request: Native DirectMusic support for RME Midi drivers

It is not possible to use RME interfaces with MIDITest with anyting else than MME, this has always been the case.

Better?

Regards
Matthias Carstens
RME

7 (edited by Timur 2008-04-25 08:46:44)

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Well, if native DirectMusic drivers don't exists then that's not much of a surprise, is it?

Daniel Fuch wrote:

Es gibt nur MME. In der Praxis zeigt sich, da? emulierte MIDI-Ger?te kombiniert mit der Einstellung "Systemzeit vewenden" das beste MIDI-Timing ergeben.

As far as I know the "Systemzeit verwenden" setting in Cubase makes Cubase use the QPC timer-call instead of the TGT call and is meant to help in those cases where the Midi drivers uses the other since both timers can drift apart (like they seem to do on my computer).

MC wrote:
Timur wrote:

As it seems this also replaces the timer function from TGT to QPC.

Heaven help...it doesn't stop...

I'm not sure what you mean here (I take that part of the discussion over to this thread in order to keep the other thread clean). Knowing that Vista uses High Precision Event Timer (HPET) for QPC calls on those mainboards that support it this looks like an improvement to me. I understand that XP uses just any hardware-timer that it deems suitable which can vary with every different mainboard being used.

Like I wrote before, I am no coder, I only read myself into this in order to know the tools I am using.

PS: MC you are getting up too early in the morn... err... night! wink

8 (edited by Timur 2008-04-25 11:03:14)

Re: Feature Request: Native DirectMusic support for RME Midi drivers

To make clear that I am not just nitpicking but really fearing that the sole use of MME drivers leads to worse performance I did severals runs with Miditest of both the Fireface and MPU-401 MME drivers while putting my system under slight load (running some RMAA tests through the Fireface's 1+2 outs to 5+6 ins). Both showed upto 100 ms (!) maximal deviation in some tests, while the DirectMusic drivers of the MPU-401 reached only a maximum of less than 4 ms in all tests.

The [Emulated] DirectMusic drivers show the very same maximal deviation of around 100 ms. This is no surprise since there's only the software wrapper in between the DM calls and the native MME API drivers anyway. Jitter and Latencies are worst with the [Emulated] API.

Re: Feature Request: Native DirectMusic support for RME Midi drivers

I would too really like DirectMusic support. The midi is a lot tighter with DM!

10

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Here we go:

https://archiv.rme-audio.de/download/w2fire_287.zip

Support for DirectMusic MIDI added.

Regards
Matthias Carstens
RME

11 (edited by Timur 2008-05-19 07:26:43)

Re: Feature Request: Native DirectMusic support for RME Midi drivers

I already replied to Daniel Fuchs' mail: Fantastico!!! :-O :-)

Daniel Fuchs mentioned that "Midi Tick" and large Sysex packages don't work. As far as I know this is a bug in Microsoft's reference implementation of the DirectMusic drivers, which all manufacturers including RME seem to build its own driver upon.

The author of Miditest explained that in detail and managed to rewrite his own drivers for the 8PORT SE so that large Sysex messages work without problem. Addtionally he removed a short misalignment that seems to happen with DM timestamps. Unfortunately the corresponding sub-site link on the Miditest/8PORT SE site is dead now. Anyway, I don't use Midi Tick and Sysex messages upto 200 bytes seem to work properly.

So thanks again for the good support and drivers and cheers to the whole RME team! :-)

12 (edited by dstdean 2008-05-18 01:19:12)

Re: Feature Request: Native DirectMusic support for RME Midi drivers

MC wrote:

Support for DirectMusic MIDI added.

Will this be extended to the HDSP drivers?

--Dean

HDSP9652 w/ AEB4-I/O - FireFace800 - 2 x Presonus Digimax FS - FriendChip DMX16/18

13

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Only if there are no side effects found. First let some people try this driver in real life...we still fear the change will mess up something. Combined audio/MIDI timing, 64 bit support, GSIF etc...lots of possible pitholes.

Regards
Matthias Carstens
RME

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Makes perfect sense to me.  Thanks Matthias!

--Dean

HDSP9652 w/ AEB4-I/O - FireFace800 - 2 x Presonus Digimax FS - FriendChip DMX16/18

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Thanks a lot! The timing is great now. Great support.

16 (edited by Timur 2008-07-02 10:34:03)

Re: Feature Request: Native DirectMusic support for RME Midi drivers

Sorry for not giving feedback earlier, but as you might know I was busy working on some issues. wink

Unfortunately I'm still experiencing problems with Ableton's Direcmusic Midi support. It seems as if it cannot provide the bandwidth necessary.

Nevertheless I noticed in somewhat unrealistic tests that the performance of Fireface Midi 1 is considerable worse than the performance of Fireface Midi 2 or my other two DirectMusic capable Midi interfaces. Fireface Midi 1 uses upto 4 times more DPCs/CPU load than the others. In a realistic enviroment that probably wouldn't matter much, but it's only some small issue with the drivers that can easily be fixed. I will try to give you more informations once I've gotten around Live's own limitations.

Re: Feature Request: Native DirectMusic support for RME Midi drivers

I need to correct myself, after a reboot and trying Vista instead of XP it now seems that Fireface 2 is less performing than 1, so seemingly it's not bound to one specific port, but instead to a random one of the two. I will give you more informations, but at the moment the bandwidth limitations of Live when using DirectMusic is giving me a headache.

Re: Feature Request: Native DirectMusic support for RME Midi drivers

MC wrote:

Here we go:

https://archiv.rme-audio.de/download/w2fire_287.zip

Support for DirectMusic MIDI added.

DirectMusic MIDI = QPC? Do we also have this in the HDSP WDM drivers?

Re: Feature Request: Native DirectMusic support for RME Midi drivers

MC wrote:

Only if there are no side effects found. First let some people try this driver in real life...we still fear the change will mess up something. Combined audio/MIDI timing, 64 bit support, GSIF etc...lots of possible pitholes.

Side effects found? DirectMusic MIDI coming to HDSP(e) drivers?

20

Re: Feature Request: Native DirectMusic support for RME Midi drivers

That was added August 2008 (version 3.066). :roll

Regards
Matthias Carstens
RME

Re: Feature Request: Native DirectMusic support for RME Midi drivers

It's alive! DeadHorse wink

Now all we need is software other than just Cubase to properly support this several year old great Windows feature. ed:

Re: Feature Request: Native DirectMusic support for RME Midi drivers

MC wrote:

That was added August 2008 (version 3.066). :roll

Oops. Nice!