All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Courtier-Dutton <James@superbug.demon.co.uk>
To: alsa-devel@lists.sourceforge.net
Subject: Suggestion: Multichannel enharnacements to alsa-lib.
Date: Wed, 02 Oct 2002 17:44:59 +1000	[thread overview]
Message-ID: <3D9AA3FB.5000104@superbug.demon.co.uk> (raw)

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

             reply	other threads:[~2002-10-02  7:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-02  7:44 James Courtier-Dutton [this message]
2002-10-02  8:49 ` Suggestion: Multichannel enharnacements to alsa-lib Matthias Saou
2002-10-02  9:01 ` Jaroslav Kysela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D9AA3FB.5000104@superbug.demon.co.uk \
    --to=james@superbug.demon.co.uk \
    --cc=alsa-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.