Please Explain ASIO Support

My software is Jam Origins guitar tone recognition input, MIDI instrument out. It requires ASIO for low latency. My device is a TASCAM US-224 USB/MIDI/line/instrument mixer. The driver comes with ASIO. However, the driver is so old that it allows only 44.1 mHz sampling and 1024 bit buffer. TASCAM provides onlu unofficial support documentation on how to install the drivers in Vista instead of XP, which was current at the time of production. I’ve since installed ASIO4ALL and gotten a whole range of sampling rates and buffer size selections. When ASIO4ALL is being used, the input and output options on both Audacity and Guitar-To-MIDI appear somewhat different than with the original ASIO. Thus, ASIO4ALL works with my software and is at least recognized by Audacity, as is the native ASIO apparently. And despite having the proper device selected for input and output, I still cannot activate it via the Audio Host pull down. So while I can make my guitar sound like anything I want, when I record it all I get is normal guitar tones.

So, I’m trying to understand here, why I can’t select ASIO (or ASIO4ALL for that matter) in Audacity. I see various statements such as “ASIO is not built into” and “ASIO support is not built into”, and I’m wondering if these are the same statements, or referring to different things. Not embedding proprietary code I can understand. If instead it is not including hooks to that code elsewhere, that I cannot understand. I own my ASIO drivers, and just want Audacity to be able to use them.

I’m further befuddled by lack of inclusion/support/or what ever it takes, of ASIO4ALL instead of ASIO. It is clearly superior to my ASIO (to be honest, a lot of that is age) and everything I’m using can at least recognize it (including previously unmentioned LMMS). Since I’m using a combination of cutting edge software and paleolithic hardware and drivers, it would likely work with most things currently in use. There is obviously no problem with proprietary poopieheadedness on Steinberg’s part regarding ASIO4ALL, because two commercial competitors of Steinberg’s, Image Line and Native Instruments, provide it and builds its products to make use of it, and not an infringement sounding peep has come from Steinberg.

So if I may, could I please have a bit more in depth description and explanation on this? Even right down to the blank paper as it were, if possible. I may not be able to code, but I can darn sure find my way through legalese mazes and engage real people in straight talk for getting permissions, work-arounds and such. I’ve used Audacity for three albums and a symphony so far, it’s about time I offered to give back, and this long standing barrier is one I need to see fall.

not an infringement sounding peep has come from Steinberg.

That’s different from Steinberg putting it into open source.
Audacity doesn’t come with MP3 Export either for similar reasons.

Koz

The driver comes with ASIO. However, the driver is so old that it allows only 44.1 mHz sampling and 1024 bit buffer…

I’ve since installed ASIO4ALL and gotten a whole range of sampling rates and buffer size selections…

…I’m further befuddled by lack of inclusion/support/or what ever it takes, of ASIO4ALL instead of ASIO. It is clearly superior to my ASIO

I don’t understand all the details of how it works and the ASIO4ALL documentation is limited. But ASIO4ALL is not a true ASIO driver. It replaces part of the driver stack so that an ASIO application can work with Windows hardware. On the application-side, the driver uses the ASIO protocol. On the hardware-side, the Windows drivers are “talking to” the hardware.

True ASIO doesn’t do resampling, so it only works at sample rates actually supported by the hardware. With ASIO4ALL I’d guess the resampling is being done by the Windows drivers (while the hardware runs at 44.1kHz).

So, I think it’s “superior” because it’s using some of the Windows drivers.

That is not really the problem.
This issue has been discussed many times in many places, but the reference information is here: Missing features - Audacity Support

Essentially the problem is that Audacity is released under the GPL v2 license (which ensures that it is and always will be “open source” software). An essential part of the GPL license is that the source code must be available. To build Audacity with ASIO support (even ASIO4ALL) requires using code (the ASIO SDK) from Steinberg. Currently there is no open source alternative for ASIO support (though there are open source low latency sound systems. “Jack Audio System” is one such low latency sound system, and in several ways it is superior to ASIO, but it is not ASIO). The ASIO SDK is available for free (requires registering with Steinberg) but the license specifically states that the source code may not be distributed.

Everyone involved in developing and supporting Audacity (and the vast majority of users) agree that Audacity should be free open source software, but therein lies a direct contradiction with ASIO. Audacity can be build with ASIO support (everything other than the ASIO SDK is available as source code), but when built with ASIO support it ceases to be free open source software. The search for a workaround continues…