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.

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.
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.

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)
2) Front Right, Front Left. (Stereo)
3) Front Right, Front Left, Center (3 Channel front.)
4) Front Right, Front Left, LFE (3 channel front/LFE)
5) Front Right, Front Left, Rear Right, Rear Left (4 channel front/rear)
6) Front Right, Front Left, Center, Rear Right, Rear Left (5 Channel 
front/rear/center)
7) Front Right, Front Left, Rear Right, Rear Left, LFE (5 Channel 
front/rear/LFE)
8) Front Right, Front Left, Center, Rear Right, Rear Left, LFE (6 
channel "5.1")
9) Future setups with maybe 7,8 or 9 speakers  for home real cinema 
setups. DTS 6.1 etc.

Cheers
James




-------------------------------------------------------
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