[alsa-devel] Softvol for Independent Volume Control

Cameron Barfield cbarfield.cd at gmail.com
Tue Apr 8 00:34:17 CEST 2008

Well, I think I am actually on the right track.

I'm using a Blackfin BF537 with an AD1980BL (AC97) codec. All seems well with it. I'm 
running it with MMAP and DMIX appears to work beautifully.

I'm trying to add the volume controls to the mixer so that my application can adjust the 
volumes of its audio streams.

I've been playing around with /etc/asound.conf and so far I have:

pcm.mychan1 {
     type            softvol
     slave.pcm       "default"
     control.name    "mychan1"
     control.card    0

I can play WAV files (48K) no problem using aplay -D mychan1 file.wav. If I play any 
wav/au files that need rate conversion, I get:

aplay: set_params:904: Sample format non available

If I don't specify a device for aplay, I can play pretty much any wav/au file I have. DMIX 
also still works.

If I adjust the volume of my new channel, it does adjust independently of Master,0 and PCM,0

Am I just grossly misunderstanding how asound.conf works?

Cameron Barfield wrote:
> Hi --
> I've got an application that receives multiple network audio streams. 
> Using DMIX, I am able to play back all the streams through my sound card.
> The problem is that I would like to be able to independently adjust the 
> volume of each audio stream. Would Softvol work for this? All the 
> examples I've found only show Softvol working as a replacement for a 
> master volume control (and that's all I've been able to get it to do).
> If Softvol won't work for independent volume controls, is there any 
> other ALSA plugin or API call that I'm missing? Switching to something 
> like Pulseaudio would probably not be an option since I'm running in an 
> embedded environment.
> Regards,
> Cameron

More information about the Alsa-devel mailing list