Optimization of the Edirol UA-1EX sound card
I am trying to use a cheap Edirol UA-1EX with my old PC (a 2002 Shuttle with a Pentium 4-B 2.4GHz processor and 1GB of RAM; the OS is Windows XP Pro SP3). This PC has been used intensively in the past (when it had only 512MB of RAM) with RME interfaces and usually works really well.
This setup is intended to run a Max/MSP software sampler. In this project, for some reason the latency has to be as small as possible.
To start with, when using this interface, the Max console always shows this message:
ad_asio: ASIOGetClockSources() returned 1
But everything sounds correct then…
The actual "problem" concerns the available I/O buffer sizes and signal vector sizes (the quote are here because it’s supposed to be normal).
As recommended by the manual, I use the UA-1EX with the ASIO driver in "Advanced Mode" (which means that the driver provided by Roland is used instead of the one provided by Windows).
First, the available I/0 vector sizes are completely weird (they are not powers of 2 as usual but strange numbers like 288, 415, etc). But it’s not really a problem as you can set it to a minimum of 96 samples, which should do it (well, I hope so, as I use 64 smp usually).
But problems arise when it comes to the signal vector size settings. These depend on the I/O vector size, but for an I/O vector size of 96 smp, available settings are: 1, 2, 4, 8, 16 and 32.
If you read carefully the Max/MSP manual, it is written somewhere that it’s usually recommended to use the same value for the signal vector size and the I/O vector size; using a smaller signal vector size is only for allowing very short delays when you use some feedback, and everybody knows that it raises up the CPU load a lot !
So I set the signal vector size to 32 smp, which gives the following result: a huge CPU load of about 50% (in Max) or 60-70% (in Windows). The computer can stand it and the audio still works correctly, but when you choose the sound card of the motherboard (instead of the Edirol) at a smaller latency (I/O VS and SVS set to 64 smp), the CPU is only about 35% / 43%.
Is there a solution for using a bigger signal vector size with this card ? Like, say, installing an alternative driver ?
For sure I will remember the guy who told me "yes, this sound cards works greatly with Max/MSP on Windows" :(
Thanks a lot for any tips about this …