Hardware Support

Because Windows 2000 Professional supports USB and the IEEE 1394 bus, it can support digital audio. USB and IEEE 1394 have the bandwidth necessary to support digital audio and have mechanisms to provide synchronization between an audio source and an audio sink. Both provide different forms of isochronous and asynchronous services that distributed audio systems can use.

In Windows 2000 Professional, digital audio is supported by WDM, which enables it to handle multiple streams of audio simultaneously. This means that two applications can play sound at the same time, and you can hear both. Windows 2000 Professional can also redirect audio output. Redirecting audio output to external USB and IEEE 1394 devices has two significant advantages:

  • Higher fidelity . Unlike internal audio devices, external devices are not subject to signal degradation due to high levels of radio-frequency noise.

  • Device visibility . While Plug and Play can configure an internal audio device, it cannot guarantee that the speakers are connected to it. With USB speakers however, Plug and Play can see that they are in fact connected.

How USB Supports Digital Audio

The attributes of USB that allow it to accommodate digital audio devices are as follows:

Capacity    With a total transfer rate of 12 Mbps, USB has enough capacity for consumer audio but is inappropriate for multitrack audio production. Adding nodes to a USB network does not add to the total data-carrying capacity of the network, unlike IEEE 1394.

Synchronization    Although USB uses a 1 millisecond (ms) master clock for synchronization, the burden of synchronization is placed on the host computer. USB provides the following three modes of synchronization:

  • Asynchronous nodes have independent clocks. It is the responsibility of code in the host to add or delete samples to keep a source and data sink synchronized.

  • Synchronous nodes synchronize to the master clock in the host. Two synchronized nodes can communicate without host intervention. The host might need to perform sample rate conversions but can assume that clocks on both devices are synchronized relative to one another.

  • Adaptive nodes derive their clock from the data stream. For example, in an Internet telephone conversation, the nominal data rate might be 8,000 samples per second, but the remote party's sound card might be running at 8,002 samples per second. Every millisecond the computer is expected to send eight samples to the local USB audio device, but because the remote device is sending data faster, the network telephony program can compensate by sending an extra sample every half second. Adaptive nodes can deal with this sort of variance without problems.

Digital Signal Processing (DSP) Capability    With USB, DSP must take place in the end nodes or in the host. For example, if a DVD drive and a home stereo are connected to a host, and the user wants to play an AC-3 audio-encoded stream, the AC-3 decoding can take place in either the host or in the stereo set, but not in an intermediate DSP dongle (a device, attached to a computers I/O port, that adds hardware capabilities). The USB requirement for DSP connection is in contrast to the IEEE 1394 bus requirement, in which DSPs can also be connected as interior members of the daisy-chain or tree.

USB Device Classes    If a device conforms to a defined USB device class, you can use Plug and Play methods to identify the device and load a device driver. This eliminates the need for device manufacturers to ship driver disks with their products.

Appliances as computer peripherals with USB Open Standards    Not only is USB designed for standard devices, such as joysticks, keyboards, printers, and mouse devices, but because of its low production cost and relatively simple implementation, USB enables a wide class of devices to become computer peripherals. For example, a postage meter containing microcontrollers can have a USB port added for a small increase in cost. Connected to a computer, the meter can become part of a company-wide cost-tracking system. Adding voice output to the postage meter for use by a sight impaired user requires connecting the postage meter to a computer containing USB audio hardware. A programmer can add audio by using application programming interfaces (APIs) under Windows 2000 Professional.

If the postage meter conforms to the HID class, Plug and Play support ensures that the device is recognized as soon as it is plugged into the computer. When that occurs, Windows 2000 Professional loads a device driver, configures the device, and makes it available to end-user software. This is particularly useful for telephones. A telephone is both an HID (the keypad) and an audio USB device. It might also include a conventional, ISDN, or high-speed cable modem. If a telephone answering/fax machine has a USB port, the device works well in a stand-alone mode, but when it is plugged into a computer, it becomes a modem, scanner, printer, or more intelligent answering machine.

Home entertainment    The home stereo system is another consumer device that contains a microcontroller and can be easily upgraded to connect to a computer running Windows 2000 Professional with USB. Except for the audio data rates, a stereo system is not much different from a telephone with USB. When equipped with a USB interface, a stereo system becomes a USB audio class device and an HID class device. The microcontroller inside a stereo system is not much different from the microcontroller inside a keyboard. The stereo system microcontroller spends most of its time polling buttons, waiting for the user to change the volume or tone controls.

IEEE 1394 Bus Support for Digital Audio

The attributes of the IEEE 1394 bus that allow it to accommodate digital-audio devices are as follows:

Capacity and Synchronization    With the IEEE 1394 bus, it is possible to put a CD drive on one node and a digital-to-analog converter (DAC) on another node. The clocks of both devices can be synchronized to the master clock on the bus. Because the IEEE 1394 bus is designed to handle video data (a transfer rate of 400 Mbps), handling multiple tracks of audio is a much simpler task. IEEE 1394 networks can be configured using multiple buses and filtering bridges in a leaf-node configuration so many devices can play in parallel without passing data over the same segment of the bus.

DSP capability    Arbitrary amounts of DSP power can be applied to streams of audio by means of IEEE 1394 dongles. DSPs inside a computer are limited by the total memory of the system and must compete with the CPU for this resource. On the IEEE 1394 bus, signals can be passed between nodes containing DSPs. Each DSP node increases delay to the processing time, but the IEEE 1394 bus can string many DSPs together.