[linux-audio-user] ALSA -> OSS DSP question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Akos Maroy wrote:
[...]
> # cat /etc/modules.conf
> alias eth0 8139too
> alias char-major-81 bttv
> alias usb-controller usb-uhci
> alias ieee1394-controller ohci1394
> alias char-major-195 nvidia
> alias sound-slot-0 via82cxxx_audio
> post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L
>  >/dev/null 2>&1 || :
> pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S
>  >/dev/null 2>&1 || :
>
> # ALSA portion
> alias char-major-116 snd
> alias snd-card-0 snd-ice1712
> # module options should go here
>
> # OSS/Free portion
> alias char-major-14 soundcore
> alias sound-slot-1 snd-card-0
>
> # card #1
> alias sound-service-1-0 snd-mixer-oss
> alias sound-service-1-1 snd-seq-oss
> alias sound-service-1-3 snd-pcm-oss
> alias sound-service-1-8 snd-seq-oss
> alias sound-service-1-12 snd-pcm-oss
>

Hmmm, I have no experience with an OSS/ALSA mixed system.
At first glance I would say your modules.conf looks correct.

What does 'cat /proc/asound/oss/sndstat' say?

>> You shouldn't have to edit asound.conf to achieve what you want.
>
> well, this is what I read earlier, that I'd have to define an ALSA
 device named
> dsp0 or dsp1
>

Generally, there are two ways to achieve OSS compatibility.
1) You can load snd-*-oss kernel modules which will generate /dev/dsp* and friends.
This is what you obviously did.
2) You can make an app believe that there is a /dev/dspX by preloading the aoss
library. This is what you did in addition to 1).

So currently you have a native OSS device, some emulated devices and you try to use
aoss.
Are you sure you need both of the latters?
Have you any reason for using aoss in favour of the kernel level emulation?

Assuming your snd-*-oss modules are setup correctly you should be able to access
your alsa card through /dev/dsp1, leading to
sox -t ossdsp -r 44100 -c 2 -w /dev/dsp1 -t wav tmp.wav

If /dev/dsp1 is mapped to the wrong channels of your card use the module parameters
listed below to adjust the mapping.

For further information see the OSS-Emulation.txt file contained in the alsa-driver
documentation.

>> You can pass the snd-pcm-oss module parameters which determine how to
 map alsa
>> pcm to oss devices.
>
> and what are those parameters?
>

/sbin/modinfo snd-pcm-oss
filename:    /lib/modules/2.4.20-8/kernel/sound/acore/oss/snd-pcm-oss.o
description: "PCM OSS emulation for ALSA."
author:      "Jaroslav Kysela <perex@xxxxxxx>, Abramo Bagnara
<abramo@xxxxxxxxxxxxxxxx>"
license:     "GPL"
parm:        dsp_map int array (min = 1, max = 8), description "PCM device number
assigned to 1st OSS device."
parm:        adsp_map int array (min = 1, max = 8), description "PCM device number
assigned to 2nd OSS device."
parm:        nonblock_open int, description "Don't block opening busy PCM devices."

Good luck,

Jan




[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux