56
Chapter 12
Living in the new age: ASIO & NT.
Yamaha’s SW1000XG and other ‘Factory’ style products form part of an ongoing project family at Yamaha. With
software moving forward into new areas at such a fast pace, it is only correct that we should cover some of our latest
and future developments.
ASIO – Audio Streaming Input Output
1997 saw the introduction of a new type of Audio driver for both Windows and Macintosh computers, from Steinberg.
This new driver model type known as ASIO has grown widely in acceptance throughout the music industry, during
1999 being updated to ASIO 2.0, which increased its functionality yet again. Here is a brief overview of the ASIO
system.
In the late 90‘s Steinberg felt that the current Sound Manager driver model for Macintosh, and the Windows MME
system had reached their limits. They felt that what was missing on the personal computer platform was a relatively
simple way of accessing multiple audio inputs and outputs. They believed that today's operating system's audio
support was designed for stereo input and stereo output only, and offered no real provision to extend this without
creating major problems, i.e. synchronization issues between the different input and output channels.
With the Steinberg Audio Stream I/O (ASIO) Steinberg wanted to help hardware manufactorers create hardware and
driver software which fitted best into the music production world and meet the expectations of the customer (Both
musician and audio engineer).
The Audio Stream I/O system addressed areas relating to efficient audio prcoessing, high data throughput,
synchronization, low latency and extensibility on the audio hardware side. The interface was not bound to any fixed
number of input and output channels. It put no limitation on the sample rate (32 kHz to 96 kHz or higher), sample
format (16, 24, 32 bit or 32/64 bit floating point formats), and it took advantage of todays computer architectures for
high data throughput (PCI, Firewire and Mlan).
ASIO also supported sophisticated hardware solutions for additional audio processing (such as the DS2416). But
remained simple in comparison to other approaches.
Yamaha started work on the ASIO driver model for both PC and Macintosh not long after the MME driver for
Windows was completed. The problem with the existing MME driver within the Cubase environment was primarily
one of latency. If you decided to use the VST mixer (rather than the XGEDIT one which as we discussed moves
audio playback levels etc. in realtime with zero latency), you would find that the level response itself appeared to be
sluggish in comparison to the movements of the sliders. This is because the time for the card to respond using the
mme subsystem drivers could be as much as 557ms.
With ASIO you are effectively talking at a lower level to the hardware using features of the hardware itself to reduce
latency times. With the Yamaha ASIO driver you could also support the SW1000XG in its full 32bit mode, rather than
the 16-bit mode supported by some Windows applications. Yamaha provided 2 drivers for ASIO support, one at 16
bit and one for 32bit mode (VST currently records audio data at 24bit resolution). These drivers reduced the latency
of the DS2416 and SW1000XG cards, by approximately a factor of 5, lowering them from 557ms to 106ms.
The Yamaha ASIO driver was also unique in the fact that it was the first driver in the world to support 2 independent
pieces of hardware (being the DS2416 and SW1000XG) at the same time, using just the 1 common driver model.
This meant that for users of the 2 card system via linkup, they could access all of the wave ports, and functionality of
both cards at the same time. This is true of both the Macintosh and Windows versions of Yamaha‘s ASIO driver.
To install the Yamaha ASIO drivers you must first make sure you have the latest version of Yamaha‘s MME drivers
for Windows (Mac users just install the ASIO driver). These are always available from our Xgfactory website. The
installation is very simple being just a simple setup.exe routine once the MME drivers have been updated. Once