All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Revell <rlrevell@joe-job.com>
To: Clemens Ladisch <clemens@ladisch.de>
Cc: Patrick Dumais <pat@dumaisnet.ca>,
	alsa-devel <alsa-devel@lists.sourceforge.net>,
	perex@suse.cz
Subject: Re: hardware channel mixing
Date: Fri, 03 Sep 2004 19:30:22 -0400	[thread overview]
Message-ID: <1094254221.6575.94.camel@krustophenia.net> (raw)
In-Reply-To: <Pine.HPX.4.33n.0409031451550.24397-100000@studcom.urz.uni-halle.de>

On Fri, 2004-09-03 at 08:59, Clemens Ladisch wrote:
> Patrick Dumais wrote:
> > When I read a description of what the soundblaster Live features, I notice
> > they say "131 hardware channels". Now is this what I think it is? does it
> > mean that I can actualy write multiple (upto 131) sounds and let the card
> > mix it by itself?
> 
> Essentially, yes, but the real number is 64 voices, and each stereo
> stream needs two of them, so you can play 32 streams simultaneously.
> 

Not quite, it's 32 mono substreams, 21 stereo.  Each mono substream
requires 2 voices, each stereo substream, three.  There is an extra
voice allocated per playback substream that is silent, and is just used
to generate the period interrupts.

I have pored over the code, and I don't understand exactly why the extra
voice is needed, Jaroslav said something like "if you don't use the
extra voice the interrupts are going faster than the voice position".  I
think it might be needed so that multiple can playback, each with
different period sizes.

There is currently no way to open an 8 or 16 channel playback
substream.  There are the various plughw surround plugins, but these
seem to work by allocating several mono/stereo streams.  This is
certainly wasteful - 5.1 surround wastes 2 voices.
 
I have been planning to add another playback device to the emu10k1
driver with one 16-63 channel substream, to correspond to the hw:0,2
capture device which can record up to 64 channels.

> > If so, I haven't seen any documentation about this.
> 
> On the SB Live, the PCM device has 32 subdevices.  The subdevice
> number can be specified as the third number in the "hw:x,y,z" device
> name when opening the device.  If you don't specify a subdevice
> number, the default is -1 which means "pick the first free one".

There is some documentation, but nothing that gives a high level
overview of the emu10k1's design and how the driver works, maybe I will
write one at some point.  For now you have to use the source.

Lee



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click

  parent reply	other threads:[~2004-09-03 23:30 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-29 15:03 hardware channel mixing Patrick Dumais
2004-09-03 12:59 ` Clemens Ladisch
2004-09-03 13:15   ` Patrick Dumais
2004-09-03 13:24     ` Clemens Ladisch
2004-09-03 13:58     ` Florian Schmidt
2004-09-03 14:04       ` Patrick Dumais
2004-09-03 14:31         ` Florian Schmidt
2004-09-03 14:34           ` Patrick Dumais
2004-09-03 15:23             ` Florian Schmidt
2004-09-07  5:04         ` Glenn Maynard
2004-09-03 23:30   ` Lee Revell [this message]
2004-09-04  1:19     ` Manuel Jander
2004-09-04 23:28       ` Lee Revell
2004-09-05  3:02         ` Manuel Jander
2004-09-05  5:06           ` Lee Revell
2004-09-05 18:12             ` Manuel Jander
2004-09-05 18:39               ` Lee Revell
2004-09-05 18:28       ` Lee Revell
2004-09-06 11:54         ` Jaroslav Kysela
2004-09-06 20:41           ` Lee Revell
2004-09-07  1:09             ` hardware channel mixing [EMU10K1 DMA] Manuel Jander
2004-09-07  4:47               ` Lee Revell
2004-09-07  6:53                 ` Lee Revell
2004-09-07  8:23                 ` Jaroslav Kysela
2004-09-07 18:26                   ` Lee Revell
2004-09-07 19:16                     ` Jaroslav Kysela
2004-09-07 19:34                       ` Lee Revell
2004-09-07 19:41                         ` Jaroslav Kysela
2004-09-07 19:46                           ` Lee Revell
2004-09-07 19:48                           ` Lee Revell
2004-09-07 19:52                             ` Jaroslav Kysela
2004-09-07 20:06                               ` Lee Revell
2004-09-08 22:49                       ` Lee Revell

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=1094254221.6575.94.camel@krustophenia.net \
    --to=rlrevell@joe-job.com \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=clemens@ladisch.de \
    --cc=pat@dumaisnet.ca \
    --cc=perex@suse.cz \
    /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.