MIDI on XP is bad indeed, and I have to run my midi application under linux to get a latency lower than human sound perception, without artefacts, and with a cheap soundcard.
I am running PD on several Windows XP machines with a latency of 3 ms (both souncard and pd). I have RME HDSP, Midiman Audiophile 2494 and AC97 souncards on those machines. Even a cheap (intel) mini itx board with a Celeron 1,33 GHz CPU and an AC97 souncard works flawlessly here at 3 ms.
Actually any combination is working. Of course the RME and Midiman cards have a lot lower CPU consumption (around 20%) than the AC97.
I also have MIDI running with no proplem as long as I don't edit the patch. Editing a patch screws up MIDI timing so bad after some time that I have to restart the entire machine in order to get straight timing back.
BTW I'm working at the moment on a very complex sampling engine that requires a lot of juice. So it's not just a simple MIDI in/out patch I'm doing this with.
The conclusion is: if you don't get pd to run on Windows XP there is something wrong with your Windows configuration! Get a clean install and optimize everything for audio performance and it will work.
Ingo Scherzinger
Ingo Scherzinger a écrit :
MIDI on XP is bad indeed, and I have to run my midi application under linux to get a latency lower than human sound perception, without artefacts, and with a cheap soundcard.
I am running PD on several Windows XP machines with a latency of 3 ms (both souncard and pd). I have RME HDSP, Midiman Audiophile 2494 and AC97 souncards on those machines. Even a cheap (intel) mini itx board with a Celeron 1,33 GHz CPU and an AC97 souncard works flawlessly here at 3 ms.
How do you know it has 3ms latency, I think it's merely impossible.
On Sat, 2008-01-05 at 14:26 +0100, Patrice Colet wrote:
Ingo Scherzinger a écrit :
MIDI on XP is bad indeed, and I have to run my midi application under linux to get a latency lower than human sound perception, without artefacts, and with a cheap soundcard.
I am running PD on several Windows XP machines with a latency of 3 ms (both souncard and pd). I have RME HDSP, Midiman Audiophile 2494 and AC97 souncards on those machines. Even a cheap (intel) mini itx board with a Celeron 1,33 GHz CPU and an AC97 souncard works flawlessly here at 3 ms.
How do you know it has 3ms latency, I think it's merely impossible.
i don't believe either, that 3ms means the round trip. i measured the round trip of pd/jack/linux with a latency of 2.9ms in jack and i got ~7.8ms (which is _very_ ok for me).
roman
___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
Of course there is no latency of 3 ms with a setting of 3 ms!
First it's important to not mix up audio latency with MIDI latency. Audio latency needs twice the latency plus ad/da conversion plus internal processing time of the software. That should be around 9-10 ms with a good soft- and hardware. For audio there is hardly no jitter. Once the system (and software) is set up it stays stable.
With MIDI Latency it's a completely different situation. Let's add this up:
amount of jitter). 2) MIDI transmission needs about 1 ms per note. 3) MIDI recognition and transfer to the software may take up to 1 ms. 4) The latency of the software is only up to the software. 5) The buffer size is 3 ms so you get at the minimum 3 ms. This is the important part: The jitter introduced here is equal to the buffer size of the soundcard. This means latency is total between 3-6 ms. 6) D/A conversion takes 1.5 ms with a good card like the RME HDSP. It can take up to two or three times as long with bad converters. 7) Once the sound gets to the speakers it takes 3 ms to travel through the air to your ears if you are about 1 m away from the speakers.
Adding all of this up means that the time that has passed between pressing the key and the time until the sound arrives at your ears is 10.5 - 13.5 ms with a buffer setting of 3 ms with good hardware no latency of the software and a short distance to the speakers. Having bad converters, extra software buffers and a larger distance to the speakers may easiely double this.
The real reason why it is important to keep the buffersize as low as possible is to obtain th minimum amount of jitter.
Using the above example with a buffersize of 512 samples will result in latencies between 19.5 and 31.5 ms.
It's still no problem to play at 30 ms latency if the latency stays consistent. It's the increasing jitter that will screw up the timing of the musician.
So far we are still talking about an ideal case of a good soundcard with a PCI (low jitter) MIDI interface.
USB MIDI introduces absolutely unpredictable jitter. The jitter with the USB MIDI interface increases as the latency gets lower because the system is busy doing other things and putting the USB MIDI priority at a lower level. In this case - instead of lowering the jitter like in the example above - jitter is going to increase at lower audio buffer settings. So the lower latency you may get from the low audio buffer may be nothing compared to the additional delay and jitter when cpu load gets above a certain level.
You don't even want to start talking about using USB MIDI while using USB audio. That's hi buffers with the highest MIDI jitter.
That is the reason why I use cards like the RME HDSP PCI cards with onboard MIDI and fast converters.
So now you should see clearly that buffer size is only a number that refers merely to the amount of jitter introduced on a PCI based MIDI-/soundsystem. It has nothong to do with "real world" latency.
Ingo Scherzinger
-----Ursprüngliche Nachricht----- Von: Roman Haefeli [mailto:reduzierer@yahoo.de] Gesendet: Sonntag, 6. Januar 2008 05:08 An: Patrice Colet Cc: Ingo Scherzinger; pd-list@iem.at Betreff: Re: [PD] MIDI on Win XP
On Sat, 2008-01-05 at 14:26 +0100, Patrice Colet wrote:
Ingo Scherzinger a écrit :
MIDI on XP is bad indeed, and I have to run my midi application under
linux
to get a latency lower than human sound perception, without
artefacts, and
with a cheap soundcard.
I am running PD on several Windows XP machines with a latency of 3 ms
(both
souncard and pd). I have RME HDSP, Midiman Audiophile 2494 and AC97 souncards on those machines. Even a cheap (intel) mini itx board with a Celeron 1,33 GHz CPU and an
AC97
souncard works flawlessly here at 3 ms.
How do you know it has 3ms latency, I think it's merely impossible.
i don't believe either, that 3ms means the round trip. i measured the round trip of pd/jack/linux with a latency of 2.9ms in jack and i got ~7.8ms (which is _very_ ok for me).
roman
From what I've understood in the link I've posted in this thread, you have to add audio and MIDI latency, to get the result of the delay you get with all the sound hardware.
One thing I didn't figured out in this topic is that if MIDI latency is almost about one second when audio is on, then the audio latency must be be nearly this high latency as well, unless the amount of MIDI information is huge.
Sorry if I'm picky on importance to know exactly how far the informations are delayed, I've been passing a kind of war in the computer just to get a few milliseconds in the PD processes, by reviewing how the objects [trigger] and [until] are used all along the application.
Another point I've been thinking of that only concern latency and not MIDI nor XP, is that the player must have one meter latency (about 1000/320) if he do play with headphones, so 3ms would be perfect.
With OSS driver on linux the delay goes above 5ms. I've got this result with dividing by two the output of [timer] with the two inlet connected to MIDI in and out.
THE TRUTH ABOUT LATENCY http://www.soundonsound.com/sos/Sep02/articles/pcmusician0902.asp