1 |
1275 |
phoenix |
/proc/sound, /dev/sndstat
|
2 |
|
|
-------------------------
|
3 |
|
|
|
4 |
|
|
/proc/sound and /dev/sndstat is not supported by the
|
5 |
|
|
driver. To find out whether the driver succeeded loading,
|
6 |
|
|
check the kernel log (dmesg).
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
ALaw/uLaw sample formats
|
10 |
|
|
------------------------
|
11 |
|
|
|
12 |
|
|
This driver does not support the ALaw/uLaw sample formats.
|
13 |
|
|
ALaw is the default mode when opening a sound device
|
14 |
|
|
using OSS/Free. The reason for the lack of support is
|
15 |
|
|
that the hardware does not support these formats, and adding
|
16 |
|
|
conversion routines to the kernel would lead to very ugly
|
17 |
|
|
code in the presence of the mmap interface to the driver.
|
18 |
|
|
And since xquake uses mmap, mmap is considered important :-)
|
19 |
|
|
and no sane application uses ALaw/uLaw these days anyway.
|
20 |
|
|
In short, playing a Sun .au file as follows:
|
21 |
|
|
|
22 |
|
|
cat my_file.au > /dev/dsp
|
23 |
|
|
|
24 |
|
|
does not work. Instead, you may use the play script from
|
25 |
|
|
Chris Bagwell's sox-12.14 package (available from the URL
|
26 |
|
|
below) to play many different audio file formats.
|
27 |
|
|
The script automatically determines the audio format
|
28 |
|
|
and does do audio conversions if necessary.
|
29 |
|
|
http://home.sprynet.com/sprynet/cbagwell/projects.html
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
Blocking vs. nonblocking IO
|
33 |
|
|
---------------------------
|
34 |
|
|
|
35 |
|
|
Unlike OSS/Free this driver honours the O_NONBLOCK file flag
|
36 |
|
|
not only during open, but also during read and write.
|
37 |
|
|
This is an effort to make the sound driver interface more
|
38 |
|
|
regular. Timidity has problems with this; a patch
|
39 |
|
|
is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html.
|
40 |
|
|
(Timidity patched will also run on OSS/Free).
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
MIDI UART
|
44 |
|
|
---------
|
45 |
|
|
|
46 |
|
|
The driver supports a simple MIDI UART interface, with
|
47 |
|
|
no ioctl's supported.
|
48 |
|
|
|
49 |
|
|
|
50 |
|
|
MIDI synthesizer
|
51 |
|
|
----------------
|
52 |
|
|
|
53 |
|
|
The card both has an OPL compatible FM synthesizer as well as
|
54 |
|
|
a wavetable synthesizer.
|
55 |
|
|
|
56 |
|
|
I haven't managed so far to get the OPL synth running.
|
57 |
|
|
|
58 |
|
|
Using the wavetable synthesizer requires allocating
|
59 |
|
|
1-4MB of physically contiguous memory, which isn't possible
|
60 |
|
|
currently on Linux without ugly hacks like the bigphysarea
|
61 |
|
|
patch. Therefore, the driver doesn't support wavetable
|
62 |
|
|
synthesis.
|
63 |
|
|
|
64 |
|
|
|
65 |
|
|
No support from S3
|
66 |
|
|
------------------
|
67 |
|
|
|
68 |
|
|
I do not get any support from S3. Therefore, the driver
|
69 |
|
|
still has many problems. For example, although the manual
|
70 |
|
|
states that the chip should be able to access the sample
|
71 |
|
|
buffer anywhere in 32bit address space, I haven't managed to
|
72 |
|
|
get it working with buffers above 16M. Therefore, the card
|
73 |
|
|
has the same disadvantages as ISA soundcards.
|
74 |
|
|
|
75 |
|
|
Given that the card is also very noisy, and if you haven't
|
76 |
|
|
already bought it, you should strongly opt for one of the
|
77 |
|
|
comparatively priced Ensoniq products.
|
78 |
|
|
|
79 |
|
|
|
80 |
|
|
Thomas Sailer
|
81 |
|
|
t.sailer@alumni.ethz.ch
|