- Sound Blaster Pro, Sound Blaster 16, and Sound Blaster AWE32 audio device driver
The Creative Labs Sound Blaster family of audio cards comprises DMA-capable ISA bus plug-in cards that provide 8 and 16 bit mono and stereo digitized sound recording and playback over a wide range of sampling rates. Each card includes a digital sound processor and mixing capability. Some of the cards also support more advanced audio features such as FM synthesis, advanced signal processing, advanced wave effects, and MIDI capability; however, the sbpro driver does not currently support those advanced features. The features and interfaces supported by the Solaris sbpro driver are described here and in audio(7I).
Some Sound Blaster cards support optional non-audio capabilities such as SCSI interfaces and CD-ROM interfaces. These interfaces are not supported by the sbpro driver.
The sbpro driver also supports certain Sound Blaster-compatible audio devices, including some based on the ESS688 audio chip.
In addition, the driver supports some devices based on the Analog Devices AD1847 and AD1848, and Crystal Semiconductor CS4231 chips. Any CS4231-based devices supported by this driver are programmed in AD1848 compatibility mode. There is no special support in this driver for the more advanced CS4231 features. This family of devices will be referred to as the "AD184x family."
The Sound Blaster device is treated as an exclusive resource, meaning that only one process may open the device at a time. Since the Sound Blaster hardware does not support simultaneous sound input and output, the sbpro driver does not allow the simultaneous access of the device by two processes, even if one tries to open it read-only and the other write-only.
The sbpro driver will return "SUNW,sbpro" or "SUNW,sb16" in the name field of the audio_device structure. The version field will contain the version number of the card's DSP chip, and the config field will be set to "SBPRO" or "SB16". The AWE32 is currently identified as an SB16. In all subjects covered in this man page, the Sound Blaster AWE32 behaves the same as the Sound Blaster 16.
The Sound Blaster Pro handles 8-bit samples. In mono mode, audio data may be sampled at rates from 4,000 to 44,100 samples per second. In stereo mode, samples may be handled at the rates of 11,025 and 22,050 samples per second. The SB-16 can sample 8-bit or 16-bit mono or stereo data in the range of 5,000 to 44,100 Hz. Devices in the AD184x family can handle sample rates up to 48,000 Hz.
The Sound Blaster Pro hardware handles 8-bit linear samples in excess-128 format. The Sound Blaster 16 handles that format as well as 16-bit linear samples in two's complement format. The sbpro driver will generate and accept data in these formats if AUDIO_ENCODING_LINEAR is selected in the encoding field of the audio information structure. 16 bit precision is not available on the Sound Blaster Pro. The sbpro driver will also accept and generate mu-law format data (as in the Greek letter mu) if the encoding field is set to AUDIO_ENCODING_ULAW. In this case, driver software performs the translation between linear and mu-law formats. mu-law encoding is designed to provide an improved signal-to-noise ratio at low amplitude levels. To achieve best results when using mu-law encoding, the audio record volume should be set so that typical amplitude levels lie within approximately three-fourths of the full dynamic range. Devices in the AD184x family support both mu-law and A-law in hardware, and the driver allows either of those encodings to be selected.
The Sound Blaster hardware does not support multiple output devices, so the play.port field of the audio information structure only supports AUDIO_HEADPHONE. Output volume is controlled by software. The volume control thumbwheel on the back of the card should be turned all the way up to maximum; otherwise no sound may be audible.
The record.port field of the audio information structure allows selection of which audio source is used for recording, and may be set to one of AUDIO_MICROPHONE, AUDIO_LINE_IN, or AUDIO_CD. These select input from the microphone jack, line-level input jack, or internal CD input, respectively. The microphone input is treated as a mono source by the hardware, although the microphone jack is a stereo jack. If your microphone has a mono plug, you should convert it to a stereo plug using an appropriate adapter. Line and CD are stereo sources. When recording in mono mode, both stereo channels are mixed before recording.
Note - Many audio devices come with a software utility that allows you to select the IRQ and DMA settings. Often, this utility does not record parameters in nonvolatile memory but in a configuration file used by DOS to set the card's configuration at each reboot. This type of configuration file is not used by the Solaris software and does not affect the operation of the card with the Solaris operating environment.
Output volume is controlled by software. If you do not hear sound, turn the volume thumbwheel on the back of the card to the maximum volume setting.
Line-in and aux jacks typically require line level voltages, such as output from a tape or CD player line-out jack or from a powered (battery-operated) microphone. Mic jacks typically require lower voltages. Consult the manufacturer's documentation for your device requirements.
The Sound Blaster Pro card cannot share IRQ settings with any other card installed in your system. If the hardware-jumpered IRQ setting conflicts with any other device, change the IRQ on the Sound Blaster card to one listed under Supported Settings. The most common conflicts occur with the LPT1 parallel port or a network card.
For Sound Blaster 16 cards that have an on-board SCSI subsystem, the audio subsystem needs its own I/O (port) address and an IRQ, distinct from those of the SCSI subsystem.
Note - Default settings differ slightly between the SB Pro, SB Pro-2 and SB 16, SB AWE32, SB Vibra 16 cards. Only the 0x220 and 0x240 settings are supported for SB Pro and SB Pro-2 while additional addresses are supported for the SB 16, SB AWE32, and SB Vibra 16 cards.
If your card supports Plug and Play, your device resources are configured automatically. Use the following settings for devices that don't support Plug and Play. Defaults settings are shown in italics.
IRQ Level: 2, 5, 7, 10
I/O Address: 0x220, 0x240, 0x260, 0x280
8-bit DMA Channel: 0, 1, 3
16-bit DMA Channel: 5, 6, 7
Settings for the Compaq Deskpro XL and Turtle Beach Tropez Card are provided below. For each device, the sbpro driver automatically chooses an unused DMA channel and IRQ line.
Compaq Deskpro XL Business Audio With Built-in AD1847 Chip — I/O Address: 0x530, 0x604, 0xE80, 0xF40
Note - The sbpro support for the AD1848 and compatibles uses one DMA channel for both play and record; simultaneous play/record is not supported.
Turtle Beach Tropez Card With CS4231 Chip — I/O Address: 0x530 (The MWSS I/O address on the Turtle Beach Tropez card is 0x530 at power-up. It can only be changed by software after the system is booted, a function that the Solaris operating environment does not perform. Therefore, the Tropez card is only supported at I/O address 0x530.)
Note - The Tropez card comes with a software utility for selecting the IRQ, DMA, and MWSS compatibility I/O address settings used by the card. However, that utility does not record those parameters in nonvolatile memory, but in a configuration file used by DOS to set the card's configuration at each reboot. This type of configuration file is not used by the Solaris software and does not affect the operation of the card with the Solaris operating environment.
Any Crystal Semiconductor CS4231-based devices supported by this driver are programmed in AD1848-compatibility mode. This driver does not include support for advanced CS4231 features; in particular, simultaneous play/record.
The Sound Blaster card cannot share IRQ settings with any other card installed in your system. The most common conflicts occur with the LPT1 parallel port or a network card.
Some devices can detect that the IRQ is in use by another device in the system. If this occurs, the driver prints an error message:
sbpro: MWSS_AD184x IRQ 7 is 'in use.'
To correct this, change the IRQ setting of either the audio device or the conflicting device. (Some devices are not able to detect such a conflict. The driver will try to use the card, but that will likely result in the system hanging when the card is first used. Thus, it is important to check that the IRQ that does not conflict with another device.)
Although the sbpro driver supports A-law encoding on AD1848 and compatible devices, audiotool does not and produces an error message if you select A-law encoding. Use audioplay(1) to play A-law encoded audio files, or use audioconvert(1) to convert the A-law sample into a format that audiotool will accept, such as 16-bit linear. User-written applications can select A-law format using the sbpro driver on AD1848 and compatible devices.
Note - Some Compaq Deskpro XL Business Audio system units with built-in AD184x chip have the headphone jack wired with its left and right channels reversed. As a result, left and right output is reversed. The line-out jack at the back of the unit works as expected. For optimum sound quality, use external microphone and speakers and not the ones built into the keyboard.
Non-Plug and Play Sound Blaster 16, Sound Blaster Vibra 16, and Sound Blaster AWE32 cards are recognized as Sound Blaster 16 cards.
The ISA version IBM Token Ring and compatible adapters will not work in a system that contains a Sound Blaster card that is configured at the default I/O port address (0x220). If possible, move the Sound Blaster card to port address 0x240; otherwise, remove the Sound Blaster device from the system.
Linked to s/dev/sound/0
Linked to /dev/sound/0ctl
First audio device in the system
Audio control for first audio device
See attributes(5) for descriptions of the following attributes:
Creative Labs, Inc. Sound Blaster Pro User Reference Manual
The current driver implementation does not support the A-law encoding mode for Sound Blaster and compatible devices.
The conversion of mu-law to 8-bit linear format for Sound Blaster and compatible devices can cause a loss of precision, resulting in poor sound quality in cases where the original recording level was well below normal. If this occurs while using the Sound Blaster 16 card, audioconvert(1) can be used to convert the original mu-law data to 16-bit linear format before play. This will preserve all the precision from the original mu-law sample.