Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Looking for advice on audio/MIDI I/O that works with standard Win32 API.
This may have been thrashed to death, but I'll risk asking because the need is very specific..
First, background: it is usually claimed that ASIO or DirectSound or some other 'layer' is needed to get lower latency, with 'MME', which uses standard API calls, being generally considered diabolical! 300~750 ms latency cited by many. I have found this to be false, under certain (excellent) conditions.
An example is the the old Echo Layla PCI-based system, on WXP, using the WDM driver with its 'PureWave' enabled. A standard WaveOut API call can get audio latency down to 1ms without a glitch when controlled by MIDI input to the same system. Better than ASIO, let alone DirectSound. The problem is that I did more than ten years of development on older systems using W98 SE because they were cheap, solid, and excellent, and the software I make will run on any newer Windows too.. These systems are not available now, so I need to consider what others might be using now, and I've been out of touch with developments other than my own, for a LONG time.
My question: What products exist as moderately priced, widely available hardware with excellent audio and MIDI drivers for a single I/O device that can replace an Echo Layla while still working that well?
Having good W98 SE drivers is a bonus I'd like to get too, but I won't insist on it. Nor will I insist on lots of channels, but more than two in and out would be nice. What IS critical is that the device must not depend on anything other than standard Win32 API calls and its own drivers, to get excellent results.
First, background: it is usually claimed that ASIO or DirectSound or some other 'layer' is needed to get lower latency, with 'MME', which uses standard API calls, being generally considered diabolical! 300~750 ms latency cited by many. I have found this to be false, under certain (excellent) conditions.
An example is the the old Echo Layla PCI-based system, on WXP, using the WDM driver with its 'PureWave' enabled. A standard WaveOut API call can get audio latency down to 1ms without a glitch when controlled by MIDI input to the same system. Better than ASIO, let alone DirectSound. The problem is that I did more than ten years of development on older systems using W98 SE because they were cheap, solid, and excellent, and the software I make will run on any newer Windows too.. These systems are not available now, so I need to consider what others might be using now, and I've been out of touch with developments other than my own, for a LONG time.
My question: What products exist as moderately priced, widely available hardware with excellent audio and MIDI drivers for a single I/O device that can replace an Echo Layla while still working that well?
Having good W98 SE drivers is a bonus I'd like to get too, but I won't insist on it. Nor will I insist on lots of channels, but more than two in and out would be nice. What IS critical is that the device must not depend on anything other than standard Win32 API calls and its own drivers, to get excellent results.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
The normal advice is to look at RME if you want decent drivers. They are certainly better than the Zoom drivers if you want guaranteed glitch free audio at low latency.
Win98SE is over 25 years old - things have moved on a little since then (although admittedly not much when it comes to audio interface drivers).
MIDI is a completely separate issue to audio.
Win98SE is over 25 years old - things have moved on a little since then (although admittedly not much when it comes to audio interface drivers).
MIDI is a completely separate issue to audio.
- James Perrett
Moderator -
Posts: 16991 Joined: Mon Sep 10, 2001 12:00 am
Location: The wilds of Hampshire
Contact:
JRP Music - Audio Mastering and Restoration. JRP Music Facebook Page
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
It might prove tough to find new products that work under Win 32 bit.
That leaves only used stuff. Perhaps a used RME.
That leaves only used stuff. Perhaps a used RME.
-
- Philbo King
Regular - Posts: 383 Joined: Thu Oct 11, 2018 10:07 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
True. I'd begun to realise this when I looked recently at the possibility of writing serial port code to use an FTDI-based USB serial, which can have its Baud set to 31025, leaving only the MIDI optoisolation and 5mA loop drive to be managed by a dedicated board (Nextion do a nice one, if still in business.) I'd still have to learn to make a driver to present the signals (solving for running status) and present as virtual MIDI ports. It's doable though, and pretty much universal with some very cheap hardware too.
I think my insistence on MIDI and audio in same device is a hangover from my early fights with Soundblasters needing 3 IRQ's, let alone whatever a MIDI device needed. When I got the Layla device it was like what Saul felt on the road to Damascus. After six months fighting with broken bits that came in brand new boxes, I had an ex-demo device that immediately gave me a working multitrack studio! It's hard to forget something like that, it shapes thinking and expectations for the rest of a lifetime.
Thanks, both of you, for the RME tip. I'll look into that. Then again, what would your answers be if the OS were to be 64 bit? I imagine the OS could use newer drivers, and still run my 32-bit code's output into its audio driver using only the standard API calls to get great results.. If this is viable, it might tempt me more, to get one of the Windows 10 based Mini-PC's I've wondered about recently.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Lostgallifreyan wrote: ↑Sat Mar 16, 2024 12:50 am
Thanks, both of you, for the RME tip. I'll look into that. Then again, what would your answers be if the OS were to be 64 bit? I imagine the OS could use newer drivers, and still run my 32-bit code's output into its audio driver using only the standard API calls to get great results.. If this is viable, it might tempt me more, to get one of the Windows 10 based Mini-PC's I've wondered about recently.
Windows 10 64bit certainly handles 32 bit software with no problem and I'm fairly sure that Windows 11 is similar. I'd suggest RME for both 32 and 64 bit systems. However, if you think that you will want to run Linux then check that your chosen RME interface has a class compliant mode - not all of their interfaces do.
- James Perrett
Moderator -
Posts: 16991 Joined: Mon Sep 10, 2001 12:00 am
Location: The wilds of Hampshire
Contact:
JRP Music - Audio Mastering and Restoration. JRP Music Facebook Page
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
James Perrett wrote: ↑Sat Mar 16, 2024 5:46 pm Windows 10 64bit certainly handles 32 bit software with no problem and I'm fairly sure that Windows 11 is similar.
Thanks, that fits with something someone said last week in a different context. (One of my programs found to work there, indicating that I might be in luck with Windows 11.) Good to get some confirmation of their similarity..
I'd suggest RME for both 32 and 64 bit systems. However, if you think that you will want to run Linux then check that your chosen RME interface has a class compliant mode - not all of their interfaces do.
I did a first look yesterday at something RME, a Hugh Robjohns review. A different interface but it gave me a good notion of general build quality. If RME make lots of stuff, then with older stuff to consider as well, it puts me in a bewilderment, so bearing in mind your mention of Linux, and class compliance (which I will understand better once I start looking, though I guess you mean like 'Human Interface Device' or similar, in case of USB). It might help me narrow it down before I go deep.
With serial, and MIDI, perhaps audio as well, USB3 looks like a good choice, probably with some degree of futureproofing. Does this sound realistic to you? It can be hard to make good choices, so maybe aiming for futureproofing is wise, whatever the choice, just to avoid having to rethink this often. If people will use my synth, they might not want to get older gear as a requirement, be it W98 and Echo's Layla, or an older RME device. If USB gives a greater shot at the long haul, then that might narrow this down in a very useful way. I just tend to worry about driver quality, given the bad rep that WaveOut API usually gets regarding latency. Many past USB audio devices were considered almost disposable too, so I don't know if high end gear uses it much. USB3 seems to make it worth while..
We'd be in a sad strange world if ultra-low latency with standard Windows API calls was possible very early in this millennium, but is never possible again. I worry that makers might not do it because they all believe everyone else thinks it's impossible so will not buy!
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
You need to use ASIO drivers for audio if you want low latency rather than the standard Windows MME or WASAPI drivers. MIDI is fine with the standard Windows drivers.
USB2 is fast enough for audio if you are using an RME interface. I have a 22 year old RME interface here which is still compatible with 32 bit Windows 10 although not with 64 bit versions. However, the next newer model from 2003 is still compatible with the latest versions of Windows and was actually still available new up until a couple of years ago.
USB2 is fast enough for audio if you are using an RME interface. I have a 22 year old RME interface here which is still compatible with 32 bit Windows 10 although not with 64 bit versions. However, the next newer model from 2003 is still compatible with the latest versions of Windows and was actually still available new up until a couple of years ago.
- James Perrett
Moderator -
Posts: 16991 Joined: Mon Sep 10, 2001 12:00 am
Location: The wilds of Hampshire
Contact:
JRP Music - Audio Mastering and Restoration. JRP Music Facebook Page
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
James Perrett wrote: ↑Sat Mar 16, 2024 11:56 pm You need to use ASIO drivers for audio if you want low latency rather than the standard Windows MME or WASAPI drivers.
That's the standard advice about MME, but it's not universally true, and this is the basis of my question.
Remember, I cited the specific example of Echo's Layla (the first one, with 20-bit converters), running with WXP, using Echo's WDM driver with its 'PureWave' setting enabled. My own synth code using standard WaveOut API gets clean output with audio latency at 1ms. Response snaps as cleanly as it did on the original DX7. No ASIO, and ASIO is said to be doing VERY well if latency goes below 3ms.
If one combination of stuff can do this, there must be others, and I'm trying to see if anyone can help narrow the search, because the usual assertion that without ASIO, it's not possible, is a tough assumption to overcome. It's VERY driver-dependent, I know, but it's possible. If Echo could do it, others can. Seer Systems 'Reality' could do it, but that used its own internal wave driver, it's not available for other software to use. Same applies to CakeWalk's 'WavePipe', but again, it's only available within CakeWalk (and likely Sonar has it too). Maybe RME make a driver which does this for generic access via MME, as Echo did. I live in hope..
USB2 is fast enough for audio if you are using an RME interface. I have a 22 year old RME interface here which is still compatible with 32 bit Windows 10 although not with 64 bit versions. However, the next newer model from 2003 is still compatible with the latest versions of Windows and was actually still available new up until a couple of years ago.
That's great news, because if RME are that efficient with USB2, and have overcome the potential for glitching with that older variant, then the odds are that their drivers may well be good enough that WaveOut (MME, whatever people want to call it) may work well. I think this is a goal for anyone to try to find, because if THAT works well, it's likely anything else the maker claims is going to work well.
I'll start looking for details about RME devices with USB tomorrow, but I hope that anyone seeing this will post because direct anecdotal evidence is very useful. It can help me figure out what people are likely to continue using, which also helps.
I wonder what RME might replace the 2003 variant with. Such a USB device might give a long future scope for general use. It's weird if a firm 'deprecates' something like that!
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
I looked into that further, having decided it's a good basis to separate into different subsystems, different hardware.
I can now solve general future and cross-platform MIDI for my needs, because FTDI serial devices do 31250 Baud, and are cheap and very widely available with good USB driver support, even on W98! I don't even have to code a driver for MIDI because I can just use the same API code I use in my synth, and use a tool like MIDIyoke (on W98). These tools abound for late Windows, and Linux. All I have to do is read a serial port quickly (done lots of things with that), then use running status to form complete MIDI short messages to pump into the virtual MIDI cable, with the other end connected to anything that can use it.
From this point on, I'll focus on audio. That should widen the scope for hardware that does what my previous post describes.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Do you still have this 1ms latency system set up? I think if you check, you'll find the latency is more than 1ms. MIDI itself can have more latency than that.
But ... it's mostly OK as we can't notice latency of less than 5ms. With just the audio side ... at 48000 samples per second one millisecond is 48 samples. That is a small buffer, even now. If you could run a synth with a small buffer like that back in the day, the synth must have been pretty light.
But ... it's mostly OK as we can't notice latency of less than 5ms. With just the audio side ... at 48000 samples per second one millisecond is 48 samples. That is a small buffer, even now. If you could run a synth with a small buffer like that back in the day, the synth must have been pretty light.
It ain't what you don't know. It's what you know that ain't so.
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
merlyn wrote: ↑Sun Mar 17, 2024 4:49 pm Do you still have this 1ms latency system set up? I think if you check, you'll find the latency is more than 1ms. MIDI itself can have more latency than that.
But ... it's mostly OK as we can't notice latency of less than 5ms. With just the audio side ... at 48000 samples per second one millisecond is 48 samples. That is a small buffer, even now. If you could run a synth with a small buffer like that back in the day, the synth must have been pretty light.
Yes, at least, one Ghost file away on my backup machine.
A few bugfixes recently improved the W98 SE performance, I'm getting around 11 ms as clean as a whistle for extended periods of playing. Previous best was about 22ms. But the WDM driver on WXP is where the standard MME looks even better than ASIO, given the right hardware and drivers.
If you or anyone else want to try it, my post sig has a web link that will reach the synth I use to get these results. I have no idea what systems it might balk on, but any descriptions of systems that it fails on, or works well with very low latency, are equally welcome to me.
For the record, the Echo Layla driver versions I use are v5.06 on W98 SE, and v6.11 on WXP. Once I have some idea where my synth works well as it is, I might buy some computer and audio I/O that will let me test it further. I'm limited by not having a lot of access to modern systems, I just try to code so my software runs on them..
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Echo open sourced libraries for their soundcards. You can see the code in the Linux kernel :
https://github.com/torvalds/linux/blob/ ... choaudio.h
Not a hell of a lot to it.
There are other files that make up the Layla driver -- layla20.c, layla20_dsp.c ...
https://github.com/torvalds/linux/blob/ ... choaudio.h
Not a hell of a lot to it.
There are other files that make up the Layla driver -- layla20.c, layla20_dsp.c ...
It ain't what you don't know. It's what you know that ain't so.
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
I have an archive of the original release, but I don't think it will help me. It's specific to their hardware, but I'm looking for other hardware that has a similar ability to do what Echo's can do: use a driver method that gives low latency when a software synthesiser uses Windows MME (WaveOut) API functions.
If you or anyone else reading this wants to test to see if their hardware will do it using the same software I tested with, there's a URL in my sig below that will get to it.
In the case of Echo's 'PureWave' method, on WXP, I set the PureWave buffer size as small as possible (64 samples) and set the same buffer size on the synthesiser. That detail is important, the sizes must match, whatever setting is chosen. The result is clean even with the smallest buffer size. I set up a test system yesterday to confirm these details. I'm interested in any hardware that gets a result this good with the synth I used for testing.
Re latency, my estimates were a bit off, so by calculation (two buffers, 64 samples each, 48 KHz sample rate) it's 2.666 ms on WXP, 10.666 ms on W98, for lowest clean setting. Echo's layla can be set to 50000 Hz sample rate too, so a very slight improvement can be had. Their 96 KHz hardware might halve these values, but I've not got a system to test that on.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Lostgallifreyan wrote: ↑Tue Mar 19, 2024 4:13 pm ... Re latency, my estimates were a bit off, so by calculation (two buffers, 64 samples each, 48 KHz sample rate) it's 2.666 ms on WXP, 10.666 ms on W98, for lowest clean setting. ...
What's going on there? I don't think Echo's drivers are the only factor in W98 being crap for audio.
By posting the source code I was intending to demonstrate that there is nothing supernaturally fantastic about Echo drivers. I'm sure they're good drivers, as all drivers should be. There's no reason for a driver to be bad. That's a Windows thing ...
If you want your synth to have widespread use, then most Windows users use ASIO. Also, synths are usually used as plugins these days. So for maximum uptake a cross platform (Windows, Mac and Linux) plugin (and standalone if you want) would have the widest user base.
It ain't what you don't know. It's what you know that ain't so.
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
merlyn wrote: ↑Tue Mar 19, 2024 5:58 pm What's going on there? I don't think Echo's drivers are the only factor in W98 being crap for audio.
By posting the source code I was intending to demonstrate that there is nothing supernaturally fantastic about Echo drivers. I'm sure they're good drivers, as all drivers should be. There's no reason for a driver to be bad. That's a Windows thing ...
If you want your synth to have widespread use, then most Windows users use ASIO. Also, synths are usually used as plugins these days. So for maximum uptake a cross platform (Windows, Mac and Linux) plugin (and standalone if you want) would have the widest user base.
The point being that my synth is relative UNcrap on W98, given decent hardware I/O and drivers.
I know that people resort to ASIO and plugins, but I want to see how much mileage people might get on their hardware with my synth as it IS. Though I do understand what the Philospher Jagger had to say on the subject of want..
Not all synths are plugins, or use ASIO. Before I contemplate making mine something it's not, I want to see how far it can go being what it IS.
Can't try to please everyone, but I might take on board what those people have to say. I'm not after saturation coverage. Better to do it like Vegas: build it, and they will come. Maybe... Depends if it's good enough, and until I see some tests of other hardware, I won't be able to make many decisions about a solid base.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
I'm bumping this thread to add that on Windows 10, I found the MME performance of the Focusrite 2nd generation 2i4 box a lot worse than the native audio in the Zotac CI320 computer I tested. The Focusrite driver offered a more complex settings detail that worked less well than the simpler inbuilt one.
I'd like to try an RME USB device to see if their drivers do better than all others, but I can't afford to spend £300+ for a ten minute experiment.
I'd like to try an RME USB device to see if their drivers do better than all others, but I can't afford to spend £300+ for a ten minute experiment.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
I can maybe save you £300 ...
Any hardware used with MME drivers isn't going to be the best. MME drivers come with the OS, no? So they're nothing to do with Focusrite, or RME. It's the ASIO drivers that are written by the manufacturer.
As far as I know Charlie Steinberg didn't want anything to do with Windows back in the day. Eventually he relented, and Steinberg rewrote the entire Windows audio stack, which gave us ASIO.
Any hardware used with MME drivers isn't going to be the best. MME drivers come with the OS, no? So they're nothing to do with Focusrite, or RME. It's the ASIO drivers that are written by the manufacturer.
As far as I know Charlie Steinberg didn't want anything to do with Windows back in the day. Eventually he relented, and Steinberg rewrote the entire Windows audio stack, which gave us ASIO.
It ain't what you don't know. It's what you know that ain't so.
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
There were/are also WDM drivers as part of the OS that promised lower latency than MME through using kernel streaming (according to MS). I used WDM for a while with Cakewalk Sonar maybe 20 years ago. I switched to ASIO when I went RME but (I’ll have to check) I have a memory of seeing the option to use WDM with either my Fireface 800 or UFX. I’m quickly reaching the end of my technical competence here but pass it on in case it’s useful.
Life is wealth. (John Ruskin)
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Greg Hendershott at Cakewalk understood Windows and the PC very well so they worked with Microsoft to establish standard software. Karl Steinberg didn't understand the PC - Steinberg were forced to use it because everyone else was - so they ignored all the existing standards and established their own driver and plug-in systems.
In the mid 90s I got the impression that Steinberg were hoping that the PC would go away and that they wouldn't have to support it. Certainly Cubase 1.0 for the PC was atrociously unreliable and, when I asked about this, Karl Steinberg's response was to tell me to move to a different platform.
In the mid 90s I got the impression that Steinberg were hoping that the PC would go away and that they wouldn't have to support it. Certainly Cubase 1.0 for the PC was atrociously unreliable and, when I asked about this, Karl Steinberg's response was to tell me to move to a different platform.
- James Perrett
Moderator -
Posts: 16991 Joined: Mon Sep 10, 2001 12:00 am
Location: The wilds of Hampshire
Contact:
JRP Music - Audio Mastering and Restoration. JRP Music Facebook Page
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
merlyn wrote: ↑Sat Apr 06, 2024 8:39 am I can maybe save you £300 ...
Any hardware used with MME drivers isn't going to be the best. MME drivers come with the OS, no? So they're nothing to do with Focusrite, or RME. It's the ASIO drivers that are written by the manufacturer.
As far as I know Charlie Steinberg didn't want anything to do with Windows back in the day. Eventually he relented, and Steinberg rewrote the entire Windows audio stack, which gave us ASIO.
I must stress that by MME (WaveOut) I mean the API calls. The driver can interpret those how it likes!
If you or James have RME in easy reach, any chance you could try a quick test for me? Trying some standalone synth program and setting to normal waveout, no ASIO, no Wasapi, no kernelstreaming, no DirectShow, but then looking at what your hardware's driver offers as control, can you get low latency, good enough for playing rapid staccato sounds?
Re Steinberg, I agree. Atari first for Cubase, then Mac. I don't think Windows was a 'thing' until sheer demand convinced them some years later, but Cakewalk was always rooted firmly in Windows, and their 'WavePipe' driver is a nice example of a low latency driver. It impressed me because it seemed to work regardless of hardware, though in my case I used it with Echo's Layla so maybe they just got on very well..
EDIT. Adrian, it is useful. That test above, can you try it too? You said you had RME...
I just want to know if I'm flogging a dead horse here aiming to get low latency USB based purely on the hardware driver's support for it. It may well be that what I got only ever worked on a PCI buss.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Lostgallifreyan wrote: ↑Sat Apr 06, 2024 1:39 pm EDIT. Adrian, it is useful. That test above, can you try it too? You said you had RME...
I just want to know if I'm flogging a dead horse here aiming to get low latency USB based purely on the hardware driver's support for it. It may well be that what I got only ever worked on a PCI buss.
OK I have just looked at the RME control panel for the UFX (USB connected), I cannot see any option to change the driver type to anything other than ASIO, either on the control panel itself (no options) or in the driver selection of my DAW (ASIO only).
Life is wealth. (John Ruskin)
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Thanks for trying. If you want to try a standalone synth (works on Windows 98 through to Windows 10, on 32 or 64 bit systems) the one on the software page of my web site (link in signature below) might do it. If it can see an RME output port in the config setting for port, then trying buffer size might get useful results. If there is NOT an audio port showing as available to select, I'd like to know because that would eliminate RME as a contender. It's a very decisive test at this point.
It appears that makers may have absolutely given up writing dedicated drivers in favour of using ASIO.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
I tried your software with my Zoom U-44 on Windows 10. Unfortunately it doesn't work with a buffer size any smaller than 1024 samples. Reaper was the same with the MME drivers. The WINASPI drivers had also much the same delay. Only ASIO could go down to a sensible latency. I know the RME's ASIO drivers are better than the Zoom's but I've not tried their MME driver in a direct comparison.
Unfortunately the new RME is in a rack that isn't accessible at the moment though, if I remember, I'll have a quick try with the ancient RME in the studio computer when I go over there tomorrow.
Unfortunately the new RME is in a rack that isn't accessible at the moment though, if I remember, I'll have a quick try with the ancient RME in the studio computer when I go over there tomorrow.
- James Perrett
Moderator -
Posts: 16991 Joined: Mon Sep 10, 2001 12:00 am
Location: The wilds of Hampshire
Contact:
JRP Music - Audio Mastering and Restoration. JRP Music Facebook Page
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
James Perrett wrote: ↑Sat Apr 06, 2024 7:49 pm I tried your software with my Zoom U-44 on Windows 10. Unfortunately it doesn't work with a buffer size any smaller than 1024 samples. Reaper was the same with the MME drivers. The WINASPI drivers had also much the same delay. Only ASIO could go down to a sensible latency. I know the RME's ASIO drivers are better than the Zoom's but I've not tried their MME driver in a direct comparison.
Unfortunately the new RME is in a rack that isn't accessible at the moment though, if I remember, I'll have a quick try with the ancient RME in the studio computer when I go over there tomorrow.
Nice! Thanks, that's encouraging, tells me lots. 1024 samples is not too shabby, 21.9ms (double buffering). Better than I expected. I get similar on the Zotac Z-box CI320's internal audio. Focusrite Scarlett 2i4 (2nd generation) did badly, maybe because its own driver made things more complex (I could never make that work well with any setting it offered). Echo Layla 20 bit interface on W98 lets me go down to 128 samples before it starts to glitch, but same gear on WXP, using WDM driver with 'PureWave' setting lets me go down to 64 samples, provided I set the PureWave buffers the same size. (64 is as low as PureWave will go, for 1.3ms, which beat the 2ms best case someone once told me ASIO could do, but maybe it is better now.)
Getting the results you did on Windows 10 is good, consistent with what I saw, and suggests the memory allocation for buffers is good, because that's partly what helps on the early systems too.
These results are all better than the hundreds of milliseconds usually associated with MME. I'm just hoping that I get as good with USB as I get with an Echo PCI device.. Could be some real future-proofing if I can.
EDIT: Because it's curious info worth adding... On W98, I can halve the buffer size with clean results if I make my synth the shell, instead of loading Windows Explorer! That's a nice trick for a dedicated machine if it's got the Echo hardware with it.
-
- Lostgallifreyan
Regular - Posts: 342 Joined: Thu Mar 14, 2024 2:18 pm
Re: Looking for advice on audio/MIDI I/O that works with standard Win32 API.
Lostgallifreyan wrote: ↑Sat Apr 06, 2024 9:02 pm Nice! Thanks, that's encouraging, tells me lots. 1024 samples is not too shabby, 21.9ms (double buffering).
It felt really laggy to me when I was playing your synth - but then I have a real Wurlitzer piano sitting underneath my Midi keyboard and it is hard for an electronic instrument to feel as responsive as that. Only the ASIO driver came close.
- James Perrett
Moderator -
Posts: 16991 Joined: Mon Sep 10, 2001 12:00 am
Location: The wilds of Hampshire
Contact:
JRP Music - Audio Mastering and Restoration. JRP Music Facebook Page