aboutsummaryrefslogtreecommitdiff
path: root/Documentation/sound/oss/sonicvibes
blob: 84dee2e0b37df218dfed0e46c8d4e91a0024b8a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/proc/sound, /dev/sndstat
-------------------------

/proc/sound and /dev/sndstat is not supported by the
driver. To find out whether the driver succeeded loading,
check the kernel log (dmesg).


ALaw/uLaw sample formats
------------------------

This driver does not support the ALaw/uLaw sample formats.
ALaw is the default mode when opening a sound device
using OSS/Free. The reason for the lack of support is
that the hardware does not support these formats, and adding
conversion routines to the kernel would lead to very ugly
code in the presence of the mmap interface to the driver.
And since xquake uses mmap, mmap is considered important :-)
and no sane application uses ALaw/uLaw these days anyway.
In short, playing a Sun .au file as follows:

cat my_file.au > /dev/dsp

does not work. Instead, you may use the play script from
Chris Bagwell's sox-12.14 package (available from the URL
below) to play many different audio file formats.
The script automatically determines the audio format
and does do audio conversions if necessary.
http://home.sprynet.com/sprynet/cbagwell/projects.html


Blocking vs. nonblocking IO
---------------------------

Unlike OSS/Free this driver honours the O_NONBLOCK file flag
not only during open, but also during read and write.
This is an effort to make the sound driver interface more
regular. Timidity has problems with this; a patch
is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html.
(Timidity patched will also run on OSS/Free).


MIDI UART
---------

The driver supports a simple MIDI UART interface, with
no ioctl's supported.


MIDI synthesizer
----------------

The card both has an OPL compatible FM synthesizer as well as
a wavetable synthesizer.

I haven't managed so far to get the OPL synth running.

Using the wavetable synthesizer requires allocating
1-4MB of physically contiguous memory, which isn't possible
currently on Linux without ugly hacks like the bigphysarea
patch. Therefore, the driver doesn't support wavetable
synthesis.


No support from S3
------------------

I do not get any support from S3. Therefore, the driver
still has many problems. For example, although the manual
states that the chip should be able to access the sample
buffer anywhere in 32bit address space, I haven't managed to
get it working with buffers above 16M. Therefore, the card
has the same disadvantages as ISA soundcards.

Given that the card is also very noisy, and if you haven't
already bought it, you should strongly opt for one of the
comparatively priced Ensoniq products.


Thomas Sailer
t.sailer@alumni.ethz.ch