KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q75632: Anatomy of the Sound Blaster

Article: Q75632
Product(s): Microsoft Windows Software Development Kit
Version(s): WINDOWS:3.0
Operating System(s): 
Keyword(s): kbmm
Last Modified: 04-NOV-1999

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Windows Software Development Kit (SDK) 3.0 
-------------------------------------------------------------------------------


SUMMARY
=======

This article is a brief overview of the Sound Blaster card hardware and how it
works with the Multimedia Extensions to Microsoft Windows.

MORE INFORMATION
================

The following is a list of features that the Sound Blaster card offers.
Differences between the version 1.0 and version 1.5 boards are noted where
appropriate. Differences between the versions 1.x and version 2.0 digital signal
processors (DSPs) are also noted.

1. 12-Voice Stereo C/MS Music

  C/MS stands for creative music synthesizer. C/MS is a low-end synthesizer
  that is compatible with the Game Blaster. As the name implies, it synthesizes
  music by taking a basic waveform and manipulating it (note that this is a
  generalization).

  This particular synthesizer uses a technique called square wave synthesis. It
  is similar to a synthesizer found in an inexpensive toy; but the Sound
  Blaster does not have a keyboard attached. Instead using of keys, notes are
  turned on and off by writing commands to hardware registers on the Sound
  Blaster board.

  When C/MS is marketed as having 12 voices, reference is being made to the
  number of different sounds the C/MS synthesizer can play at the same time
  (commonly referred to as "polyphony").

  The Sound Blaster uses two C/MS chips, each with six voices. In this way, the
  first chip can be assigned to the left channel and the second chip can be
  assigned to the right channel. Thus, the Sound Blaster can produce stereo
  sound.

  The version 1.0 Sound Blaster board was shipped with the C/MS chip set
  installed. However, Creative Labs removed the chips from the version 1.5
  board and sells the C/MS chips separately. The version 1.0 box sells the
  Sound Blaster as the "24-Voice All-in-One Sound Card." The version 1.5 box
  shortened this to "The All-in-One Sound Card" because they removed 12 of the
  "voices."

  To determine if the C/MS chips are in place, run TEST-SBC.EXE. If the chips
  are present, the features list will list them. The Multimedia Extensions to
  Windows currently does not use the C/MS feature.

2. 11-Voice FM Music (AdLib Compatible)

  FM stands for frequency modulation, which is how the sound is produced. The
  Sound Blaster has 11 FM-voices (11 notes polyphony), and unlike FM-stereo
  radio, the sound is mono only. FM-synthesis produces slightly better sounds
  than square wave synthesis, which is what the C/MS chip set does.

  The Sound Blaster's FM synthesizer is "AdLib" compatible. AdLib is the brand
  name of an FM synthesizer chip set; many different companies (including
  Creative Labs) clone these chips. The AdLib driver in Multimedia Windows will
  work with any AdLib-compatible synthesizer, which, of course, includes the
  Sound Blaster.

3. 1 Digitized Voice Channel

  This can be called many things: sampled sound, digitized sound, and so forth.
  The Sound Blaster refers to it as a digitized voice, which is not the same as
  the voices mentioned above. The Multimedia Extensions to Windows calls this
  digitized sound output "waveform output," which is confusing because all
  sound is comprised of waves! Digital enthusiasts call this pulse code
  modulation (PCM), which is actually a more accurate title.

  Digitized sound is real sound (human voice, music, effects, and so forth) that
  is sampled and digitized with a digital-to-analog converter (DAC). This is
  the same type of data stored on audio compact discs (CDs); however, CDs have
  a much greater resolution both in sample rate (44.1 KHz) and sample word size
  (12 to 16 bits).

  PCM is a simple technique of encoding analog audio in a digital format, where
  the waveform amplitude is sampled periodically (at the sampling frequency)
  and stored as a number. The term "8 bit" means that the stored number can
  have one of 256 discrete values; 12 bit has 4096 discrete values; and 16 bit
  has 65535.

  The Sound Blaster has one mono 8-bit DAC that can be set to a sample rate
  between ~4 KHz and ~23 KHz. This does not produce very high quality but it
  can be fun none the less. Incidentally, this is where that 24th voice of the
  version 1.0 card came from: 12 C/MS + 11 FM + 1 DAC = 24.

  The Multimedia Extensions require a minimum of 11 KHz and 22 KHz 8-bit wave
  output, which the Sound Blaster can do.

  Another interesting thing about the Sound Blaster is that it supports three
  different adaptive differential pulse code modulation (ADPCM) decompression
  ratios (as well as no compression) in hardware. Below is a list of these
  ratios:

   - 2 to 1 data compression: 4 bit ADPCM

   - 3 to 1 data compression: 2.6 bit ADPCM

   - 4 to 1 data compression: 2 bit ADPCM

  This may be the only justification for Creative Labs's use of the term digital
  signal processor (DSP) for its programmable logic array (PLA). Keep in mind
  that the greater the ratio, the greater the degradation in sample quality.

  The Multimedia Extensions to Windows does not make use of ADPCM at this time.
  Also note that Multimedia Windows uses the direct memory access (DMA) mode of
  the Sound Blaster for recording and playing digitized sound.

  If a board with the versions 1.x DSP is installed and Multimedia Windows is
  running in enhanced mode, a periodic click is audible when playing a wave
  file. This is caused by interrupt latency, meaning that interrupts are not
  serviced immediately. This causes the Sound Blaster to click because the
  versions 1.x DSP produce an interrupt when the current DMA buffer is
  exhausted. The click is the time it takes for the interrupt to be serviced by
  the Sound Blaster driver (which is delayed by the 386 enhanced mode of
  Windows).

  The click is still present in standard mode, although it is much less
  pronounced because the interrupt latency is less. The click is more
  pronounced for pure tones.

  The version 2.0 DSP solves this problem by using the auto- initialize mode of
  the DMA controller (the 8237). In this mode, the DMA controller automatically
  reloads the start address and count registers with the original values. In
  this way, the Sound Blaster driver can allocate a 4K DMA buffer; using the
  lower 2K as the "ping" buffer and the upper 2K as the "pong" buffer.

  While the DMA controller is processing the contents of the ping buffer, the
  driver can update the pong; and vice versa. Therefore, when the DMA
  controller auto-initializes, it will already have valid data available. This
  removes the click from the output sound.

  However, the 386 enhanced mode of Windows 3.0 does not support the
  auto-initialize mode of the DMA controller. Therefore, Multimedia Windows
  provides a virtual device driver (VxD) called VADMAD.386 (virtual
  auto-initialize DMA device) that attaches itself to the virtual DMA device
  (VDMAD). Its purpose, as the name implies, is to support the auto-initialize
  mode of the DMA controller. However, VADMAD.386 does not fully support this
  mode -- it was designed only to correct the problem with the Sound Blaster.
  Because Windows 3.1 supports auto-initialize DMA, do not use VADMAD with
  Windows 3.1.

4. Voice Input (Digital Sampling) Capability

  This is more commonly referred to as a digitizer. The Sound Blaster supports
  an 8-bit analog-to-digital converter (ADC) with a variable sampling rate of
  ~4 KHz to ~12 KHz. The Multimedia Extensions to Windows requires a minimum
  sampling rate of 11 KHz. This provides sound quality approximately equal to
  that of normal voice phone lines.

  The Sound Blaster has a built-in microphone jack and amplifier with auto-gain
  control (AGC) for direct input (sampling) of sound. The microphone used
  should be ~600 ohms; AGC range 10 mV to 100 mV. This translates to "an
  inexpensive, low-end microphone."

5. Built-In Stereo Power Amplifier

  The Sound Blaster has a built-in amplifier that provides a maximum output of
  4 watts per channel into a 4 ohm load. This is enough to drive an inexpensive
  set of headphones or some "Walkman" style speakers.

  And although the output is "stereo," the ONLY thing that is truly stereo on
  the Sound Blaster is the C/MS chip set (which Multimedia Windows does not
  use). All of those neat sounds played in Multimedia Windows are mono.

6. Built-in Game I/O Port

  This is a standard 15-pin D-Sub PC analog joystick adapter port. The Sound
  Blaster allows two joysticks to be connected through this port with the aid
  of a Y-cable (sold separately). The Multimedia Extensions to Windows can be
  configured to use this as two normal two-dimensional joysticks or one
  three-dimensional joystick.

  The only confusing part is Creative Lab's use of "I/O" for this joystick port.
  Joysticks are input devices only. The only output that this port provides is
  for MIDI (see part 7 below); this must be what Creative Labs was referring
  to.

7. Built-in MIDI Interface

  MIDI stands for musical instrument digital interface. Simply put, this is a
  protocol for connecting intelligent musical instruments and computers for the
  purpose of controlling the instruments in real time.

  To use the MIDI interface on the Sound Blaster, the MIDI connector box is
  required (sold separately). It plugs into the joystick port and has a
  pass-through for the joystick (so the joystick remains available). The MIDI
  connector box gives one MIDI-in and five MIDI-out connectors.

  With the version 1.x DSP, the MIDI port can be used only in half-duplex mode
  (one direction at a time). The version 2.0 DSP allows full-duplex operation,
  which allows playing and recording simultaneously (with the option of other
  accompanying instruments).

  The MCI-sequencer in Multimedia Windows allows use of the MIDI port or the
  AdLib (FM) synthesizer to play MIDI data. An external synthesizer will
  probably sound much better than the AdLib synthesizer and is therefore
  recommended.

Additional query words: 3.00 soundblaster

======================================================================
Keywords          : kbmm 
Technology        : kbAudDeveloper kbWin3xSearch kbSDKSearch kbWinSDKSearch kbWinSDK300
Version           : WINDOWS:3.0

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.