* Suggestion: Multichannel enharnacements to alsa-lib.
@ 2002-10-02 7:44 James Courtier-Dutton
2002-10-02 8:49 ` Matthias Saou
2002-10-02 9:01 ` Jaroslav Kysela
0 siblings, 2 replies; 3+ messages in thread
From: James Courtier-Dutton @ 2002-10-02 7:44 UTC (permalink / raw)
To: alsa-devel
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Suggestion: Multichannel enharnacements to alsa-lib.
2002-10-02 7:44 Suggestion: Multichannel enharnacements to alsa-lib James Courtier-Dutton
@ 2002-10-02 8:49 ` Matthias Saou
2002-10-02 9:01 ` Jaroslav Kysela
1 sibling, 0 replies; 3+ messages in thread
From: Matthias Saou @ 2002-10-02 8:49 UTC (permalink / raw)
To: alsa-devel
Once upon a time, James wrote :
> I am currently helping to write a media application in linux that plays
> DVDs that have 5.1(e.g 6 channels) audio tracks.
Doesn't ogle already allow that?
http://www.dtek.chalmers.se/groups/dvd/
> 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.
Indeed. I think you still have to indicate the number of speakers to use
with ogle, obviously.
> 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 means adding some Dolby(C)(R)(TM)(etc.) Surround code into alsa-lib,
is that really possible?
Matthias
--
Clean custom Red Hat Linux rpm packages : http://freshrpms.net/
Red Hat Linux release 7.3 (Valhalla) running Linux kernel 2.4.18-10acpi
Load : 0.07 0.23 0.22
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Suggestion: Multichannel enharnacements to alsa-lib.
2002-10-02 7:44 Suggestion: Multichannel enharnacements to alsa-lib James Courtier-Dutton
2002-10-02 8:49 ` Matthias Saou
@ 2002-10-02 9:01 ` Jaroslav Kysela
1 sibling, 0 replies; 3+ messages in thread
From: Jaroslav Kysela @ 2002-10-02 9:01 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel@lists.sourceforge.net
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 <perex@suse.cz>
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-10-02 9:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-02 7:44 Suggestion: Multichannel enharnacements to alsa-lib James Courtier-Dutton
2002-10-02 8:49 ` Matthias Saou
2002-10-02 9:01 ` Jaroslav Kysela
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.