Release notes for the Ensoniq AudioPCI driver of OSS
====================================================
Note! There are two rather different AudioPCI cards. The original Ensoniq
AudioPCI (as well as earlier models of the SB PCI128) is based on the
ES1370 chip. The Ensoniq AudioPCI97 and newer models of the SBPCI128
are based on the ES1371 device which also has an AC97 codec.
Using the audio driver
----------------------
First of all you should check that PCI/PnP support is enabled in the PCI/PnP
setup screen of BIOS. Usually this means that the "PnP compatible OS installed"
option (or similar) should be set to NO. After this BIOS will take care of
initializing the PCI devices.
AudioPCI card contains actually two independent audio devices. The first
one (usually /dev/dsp->/dev/dsp0) has both recording and playback capability.
The second one (usually /dev/dsp1) is a playback only device. It supports just
few sample rates (5512, 11025, 22050 and 44100 Hz).
It's possible to use both of these devices simultaneously. For example with
VAT you can use /dev/dsp1 for playback and /dev/dsp0 for recording.
AudioPCI97 Audio Corruption Problems
------------------------------------
With certain revisions of the AudioPCI97 (ES1371/ES1373,etc) there are
cases where after a while audio channels get out of sync resulting in
distortion. This can be solved by setting the apci97_latency parameter
in options.cfg to some value like 64 or 96. By default this option is
disabled and the AudioPCI97 is configured at the default bus latency
of the PC. See README.ConfigOptions for other details.
Digital Speaker Output on ES1371
--------------------------------
Certain Gateway models have a digital output capability which can support
digital speakers. In order to enable this feature on the ES1371 device,
you must edit the file /usr/lib/oss/options.cfg and add the line:
apci_spdif=1
Then save the file and run soundon.
Extended mixer for ES1371
-------------------------
The ES1371 is now capable of playing two separate stereo streams and
route them to the front and rear speakers independantly. There are two
new features in the ES1371 mixer:
SPKMODE: This control will mirror the front audio to the rear audio speaker
output. The volume of the rear speakers is controlled by the PCM2
volume slider.
DUALDAC: This control will allow you to play one audio stream to the front
speaker and a different audio stream to the rear speaker.
The volume of the rear speakers is controlled by the PCM2 channel.
Extended mixer for ES1370
-------------------------
There are some mixer features which can be controlled only by using the ossmix
program included in the OSS package. These features include microphone
bias/boost and mute controls for various inputs. The microphone bias should
be enabled (default) when using electret/condenser microphone and disabled
when using dynamic ones.
In addition it's possible to connect the second audio device to use separate
output pins (for true 4 channel playback). Most ES1370 based cards have
capability to switch the line in connector to work as another stereo output.
However all cards don't have this feature. OSS has _limited_ support for the
second output connector. There is no volume control for this output (it
bypasses the mixer) so you will need to use an external mixer for setting
the volumes. Also the outputs are not syncronized together so there may be
some drift in sampling rates. Use 5512, 11025, 22050 or 44100 Hz as the
sampling rate when attempting to play with both devices in sync. Please note
that this feature is _not_ officially supported by 4Front Technologies.
See README.ossmix for more info on using ossmix.
Playing MIDI
------------
NOTE! AudioPCI family doesn't have hardware wave table capability. For this
reason MIDI playback is implemented using software emulation (this
is true also in Windows). So the wave table hardware of AudioPCI
is not supported by OSS simply just because there is no wave table
hardware available (in other words this is not a limitation of OSS but
a limitation of the AudioPCI chipset).
For MIDI playback you can use the SoftOSS MIDI engine. When SoftOSS is
in use (/dev/music or /dev/sequencer is open) it allocates the second audio
port for itself. The primary one can be used simultaneously for audio.
When SoftOSS is not being used (opened) the secondary device is free for use
in audio applications. When more than two AudioPCI cards are used the secondary
device of the last card will be used by SoftOSS. Unfortunately SoftOSS doesn't
yet support the sound banks that come with the Windows drivers for AudioPCI
(Ensoniq has refused to give us the format specs for the bank files).
Another way to play MIDI is to use an external MIDI sound module connected to
the MIDI port.