Ticket #81 (closed enhancement: duplicate)

Opened 5 years ago

Last modified 4 years ago

Provide for Mixing N Devices/Streams into One, with Separate Volume Controls

Reported by: jrush Owned by: lennart
Milestone: Component: daemon
Keywords: Cc:

Description

I'd like to have 3 streams being mixed by PulseAudio, going to the same underlying ALSA device, with each stream having its own volume.

music beeps speech (PulseAudio devices)

\ | /

\ | /

+---+---+

|

hw:0,0

Also useful would be to obtain the "hw:0,0".monitor input stream, to be able to record all audio being played, for screencasting/teaching sessions.

In my case, right now it means that turning up the music also turns up the desktop sound effects, annoying my office mates (they don't mind the music). I also use a speech synthesizer to announce things.

Change History

Changed 5 years ago by coling

Am I missing something here?

I thought that this is exactly how PulseAudio currently works.... pavucontrol can control the volume of the streams separately (tho' this is very difficult to adjust for short streams like desktop effects etc. with the current GUI). It should even remember your volume settings for future reference.

Changed 5 years ago by lennart

  • status changed from new to closed
  • resolution set to invalid

PulseAudio can already do this. Actually this is what PA has been invented for.

Changed 4 years ago by jrush

  • status changed from closed to reopened
  • resolution invalid deleted

1. You can only control the volume of streams once they start playing, which can be too late for a loud burst of sound. 2. As commenter coling says, controlling the volume of streams is very difficult for short streams like desktop effects.

Hence the need for 'virtual' sinks constructed tree-like from actual sinks, so they stay around to have their volume tweaked.

Changed 4 years ago by lennart

I am not sure if I get what you want with this "tree-like" structure.

What I will do eventually is provide by-class volume controls. I.e. instead of (or in addition to) changing volumes per application you'd change them per class of streams. I.e. set one volume for telephony, one for music, one for event sounds, and so on. Event sounds should be the only sounds that are have the "shortness" problems, so I will add an explicit volume slider for event sounds to pavucontrol and we should be good without exporting any too complicated "tree-like" structures of some kind to the user.

Changed 4 years ago by lennart

  • status changed from reopened to closed
  • resolution set to duplicate

I think this boils down to being a duplicate of #159.

Note: See TracTickets for help on using tickets.