On Wed, 2 Oct 2002, James Courtier-Dutton wrote:

> Hello
> It would be nice if there was a feature in alsa that would let the user 
> tell alsa which speakers are plugged into which sound card sockets.
> E.g. On sound card 0, I have: -
> Left speaker in Stereo Jack 1-Left
> Right speaker in Stereo Jack 1-Right
> Rear Left in Stereo Jack 2 - Left
> Rear Right in Stereo Jack 2 - Right
> Center in Stereo Jack 3 - Right
> LFE in Stereo Jack 3 - Left.
> 
> 
> This would tell alsa-lib that if it was sent 5.1 channel audio, it would 
> not change it.
> If it was send 2-channel PCM, it would up-mix it using the dolby 2->4 
> channel sound method and also generate the Center and LFE channels.
> 
> If the user did not have 6 speakers, they could tell alsa :-
> Left speaker in Stereo Jack 1-Left
> Right speaker in Stereo Jack 1-Right
> LFE in Stereo Jack 2 - Left.
> 
> alsa-lib would then accept 6 channels from the user's application and 
> automatically downmix it for the 3 speakers the user had.
> The user could also have 2 sound cards, with Front speakers on one sound 
> card, and rear speakers on another sound card.

Note that user could do all things you've described though configuration 
files. Application should only generate a stream and it's up to user, how 
it the PCM device / virtual PCM device configured.

We're missing probably only some dolby enhancements from 2 to 4 channels, 
or you had in your mind a simple copying?

> Another feature for alsa-lib could be adding volume and delay controls in.
> For example, the user might want to adjust the volume of the LFE without 
> changing the volume of the other channels.

It's possible with modern hardware, but I agree, it would be a really goot 
to add real-time possibility to drive the real-time behaviour of various 
plugins. If I have unlimited time to do my work... ;-(

> Also, depending on where the speakers are in the room, the user might 
> want to add certain delays to certain channels so that the sound is in 
> sync when it gets to the user's ears.

It's no problem to write this plugin.

> The reason I think that this would be good to have in alsa-lib is so it 
> would only have to be implemented once, and then all audio applications 
> could use the features.
> 
> I am currently helping to write a media application in linux that plays 
> DVDs that have 5.1(e.g 6 channels) audio tracks. It would be nice if my 
> audio application did not have to care about what speakers the user has, 
> and just output 6 channels every time and let alsa-lib adjust. Also, if 
> I used another audio application that could play CD-Digital Audio, 
> alsa-lib could automatically upmix it to 5.1 using dolby surround 2->4 
> upmix, and alsa-lib could then fill in the center and lfe channels. This 
> way, all the current linux applications that use ALSA would not have to 
> be changed, but the user would get much better sound output as alsa-lib 
> would convert the sound to make full use of the users speaker layout.
> 
> Supported speaker formats needed are: -
> 1) Center (Mono)

a) we can add this definition: 'center' and 'plug:center'

> 2) Front Right, Front Left. (Stereo)

'front' is the implemented device name, or 'plug:front' to hide hardware constraints

> 3) Front Right, Front Left, Center (3 Channel front.)

no problem, see a), suggested name = 'front3_center'

> 4) Front Right, Front Left, LFE (3 channel front/LFE)

no problem, suggested name = 'front3_lfe'

> 5) Front Right, Front Left, Rear Right, Rear Left (4 channel front/rear)

implemented as 'surround40'

> 6) Front Right, Front Left, Center, Rear Right, Rear Left (5 Channel 
>front/rear/center)

no problem, suggested name = 'surround50'

> 7) Front Right, Front Left, Rear Right, Rear Left, LFE (5 Channel front/rear/LFE)

no problem, suggested name = 'surround41'

> 8) Front Right, Front Left, Center, Rear Right, Rear Left, LFE (6 channel "5.1")

implemented as 'surround51'

> 9) Future setups with maybe 7,8 or 9 speakers  for home real cinema setups. DTS 6.1 
>etc.

we can implement this later

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project  http://www.alsa-project.org
SuSE Linux    http://www.suse.com



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to