All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Samad <alex@samad.com.au>
To: Lee Revell <rlrevell@joe-job.com>
Cc: alsa-devel <alsa-devel@lists.sourceforge.net>,
	alsa-user@lists.sourceforge.net
Subject: Re: [Alsa-user] [PATCH] emu10k1 multichannel support
Date: Thu, 20 Jan 2005 06:51:54 +1100	[thread overview]
Message-ID: <20050119195154.GR27550@samad.com.au> (raw)
In-Reply-To: <1106091073.24484.60.camel@krustophenia.net>

[-- Attachment #1: Type: text/plain, Size: 8835 bytes --]

Hi

Interested in this, been trying to get multi channel output from audigy2
card


I tried the quick start but it seemed to fail

multimedia:~# jackd -R -v -d alsa -P hw:0,3 -C hw:0,2 -S
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_alsa.so
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_dummy.so
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_oss.so
jackd 0.99.0
Copyright 2001-2003 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

registered builtin port type 32 bit float mono audio
running with uid=0 and euid=0, will not try to use capabilites
loading driver ..
new client: alsa_pcm, id = 1 type 1 @ 0x80578b0 fd = -1
creating alsa driver ...
hw:0,3|hw:0,2|1024|2|48000|0|0|nomon|swmeter|-|16bit
ALSA lib pcm_hw.c:1172:(snd_pcm_hw_open) open /dev/snd/pcmC0D3p failed:
No such device
ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to
capture-only mode
control device hw:0
configuring for 48000Hz, period = 1024 frames, buffer = 2 periods
new buffer size 1024
registered port alsa_pcm:capture_1, offset = 4096
registered port alsa_pcm:capture_2, offset = 8192
++ jack_rechain_graph():
client alsa_pcm: internal client, execution_order=0.
-- jack_rechain_graph()
13828 waiting for signals
load = 0.0141 max usecs: 6.000, spare = 21327.000
jack main caught signal 2
stopping driver
detaching driver
unloading driver
freeing shared port segments
stopping server thread
stopping watchdog thread
freeing engine shared memory
max usecs: 6.000, engine deleted




This is the output from aplay -l
multimedia:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Audigy2Value [Sound Blaster Audigy2_Value], device 0: emu10k1
[EMU10K1]
  Subdevices: 32/32
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
  Subdevice #8: subdevice #8
  Subdevice #9: subdevice #9
  Subdevice #10: subdevice #10
  Subdevice #11: subdevice #11
  Subdevice #12: subdevice #12
  Subdevice #13: subdevice #13
  Subdevice #14: subdevice #14
  Subdevice #15: subdevice #15
  Subdevice #16: subdevice #16
  Subdevice #17: subdevice #17
  Subdevice #18: subdevice #18
  Subdevice #19: subdevice #19
  Subdevice #20: subdevice #20
  Subdevice #21: subdevice #21
  Subdevice #22: subdevice #22
  Subdevice #23: subdevice #23
  Subdevice #24: subdevice #24
  Subdevice #25: subdevice #25
  Subdevice #26: subdevice #26
  Subdevice #27: subdevice #27
  Subdevice #28: subdevice #28
  Subdevice #29: subdevice #29
  Subdevice #30: subdevice #30
  Subdevice #31: subdevice #31
card 0: Audigy2Value [Sound Blaster Audigy2_Value], device 2: emu10k1
efx [EMU10K1 EFX]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: I82801BAICH2 [Intel 82801BA-ICH2], device 0: Intel ICH [Intel
82801BA-ICH2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


cat /proc/asound/cards
0 [Audigy2Value   ]: Audigy2 - Sound Blaster Audigy2_Value
                     Sound Blaster Audigy2_Value (rev.0,
serial:0x10011102) at 0xc000, irq 18
1 [I82801BAICH2   ]: ICH - Intel 82801BA-ICH2
                     Intel 82801BA-ICH2 with ALC200/200P at 0xdc00, irq
17


multimedia:~# cat /proc/asound/version 
Advanced Linux Sound Architecture Driver Version 1.0.8.
Compiled on Jan 19 2005 for kernel 2.6.9-6-ntf.

multimedia:~# cat /proc/asound/devices 
  4: [0- 0]: hardware dependent
  9: [0- 1]: raw midi
  8: [0- 0]: raw midi
 18: [0- 2]: digital audio playback
 26: [0- 2]: digital audio capture
 25: [0- 1]: digital audio capture
 16: [0- 0]: digital audio playback
 24: [0- 0]: digital audio capture
  0: [0- 0]: ctl
 33:       : timer
 57: [1- 1]: digital audio capture
 48: [1- 0]: digital audio playback
 56: [1- 0]: digital audio capture
 32: [1- 0]: ctl

i have had a play around with .asoundrc but to no avail I can still only
see 2 channels on the card!

Alex


On Tue, Jan 18, 2005 at 06:31:12PM -0500, Lee Revell wrote:
> As promised, here's an updated patch to add real multichannel playback
> support (and improved multichannel capture) to the emu10k1 driver.
> 
> http://www.alsa-project.org/~rlrevell/emu10k1-multichannel-v001.patch
> 
> Please test it and report any problems.  I am especially interested in
> any regressions that impact regular PCM playback (the hw:0,0 device).
> 
> QuickStart:
> 
> $ jackd -R -v -d alsa -P hw:0,3 -C hw:0,2 -S
> 
> This also adds some new register info including a per channel half loop
> interrupt that I have discovered by reverse engineering the Windows
> drivers.
> 
> Improvements over previous versions:
> 
>  - Routes the 16 channels to the 16 FX buses by default.
> 
>  - Enables the first 16 FX capture outputs by default, required for 
> full duplex operation at latencies lower than 512 frames.
> 
>  - Rewrote the voice allocator to use a more efficient round 
> robin algorithm, eliminating the need to reserve the
> first 16 voices for the multichannel device.  The next free voice 
> is maintained in the card record and the search starts from there.
> 
>  - Use an extra voice for playback timing rather than the EFX capture
> interrupt.  I was only ever able to get that to work at 64 frames.  Also
> there are definite advantages to being able to use the capture and
> playback devices independently.
> 
>  - Use the newly discovered per-channel half loop interrupt source for
> the extra voice rather than the channel loop interrupts.  For unknown
> reasons, this works better for multichannel playback, and does not seem
> to affect regular PCM playback at all.
> 
> TODO:
> 
>  - Fix the send routing and volume controls for the multichannel device.
> The current (copy and paste) solution assumes either one or two voices
> per PCM.  So the default settings work fine but changing them with the
> mixer is likely to have unpredictable effects.  
> 
>  - EFX capture should capture output channels 16-32 (mostly unused now)
> by default, so that we only capture the sources the user has connected
> to the multichannel recording inputs in the DSP manager.  Typically FX
> buses 0-15 would be connected directly to FX outputs 16-32 so the
> capture channels would correspond directly to the playback channels.  In
> order for this to work the default DSP configuration has to be changed
> slightly.
> 
> I tested this and it works well with 16in/16out at 128, 256, 512 frames.
> 32 and 64 should work too but I can't test as I'm running a stock 2.6.10
> kernel for now ;-).  You can check that the routing is correct by
> connecting a JACK client to the playback ports corresponding to the FX
> buses described in Documentation/Audigy-mixer.txt and
> Documentation/SB-Live-mixer.txt, and verifying that the output appears
> on that channel (the FX buses are numbered from 0 but JACK numbers
> clients from 1).  For example (from SB-Live-mixer.txt):
> 
>     name='Music Playback Volume',index=0
> 
>     This control is used to attenuate samples for left and right MIDI FX-bus
>     accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
>     The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
> 
> So "alsaplayer -o jack -d alsa_pcm:playback_5,alsa_pcm:playback_6"
> should output to FX buses 4 and 5, which you can test by lowering the
> 'Music' control in alsamixer.  With an SBLive, use ports 1 and 2 for the
> front channels, 3 and 4 for the rear channels.  The Audigy uses
> different channels, see the above docs for more info.
> 
> In addition to multichannel recording applications, this should also be
> useful for OpenAL implementations, which are currently restricted to
> using 21 sources due to the use of an extra voice per stereo PCM.  This
> should allow up to 63 sources.
> 
> Lee
> 
> 
> 
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Alsa-user mailing list
> Alsa-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-user
> 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2005-01-19 19:51 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-18 23:31 [PATCH] emu10k1 multichannel support Lee Revell
2005-01-19 14:38 ` William
2005-01-19 16:10   ` Lee Revell
2005-01-19 16:59   ` Lee Revell
2005-01-19 17:49     ` William
2005-01-19 18:20     ` William
2005-01-19 18:24       ` Lee Revell
2005-01-19 16:48 ` Takashi Iwai
2005-01-19 19:10   ` Lee Revell
2005-01-21 21:45   ` Lee Revell
2005-01-23  0:49     ` James Courtier-Dutton
2005-01-26 18:05       ` Lee Revell
2005-01-23 20:05     ` Lee Revell
2005-01-29  3:54   ` Lee Revell
2005-01-31 16:09     ` Bug in " Mikael Magnusson
2005-02-10 22:17       ` Lee Revell
2005-02-10 23:26         ` Mikael Magnusson
2005-02-11  1:55           ` Lee Revell
2005-02-11 18:41             ` Lee Revell
2005-02-11 20:32               ` Mikael Magnusson
2005-02-10 23:33         ` Shayne O'Connor
2005-02-11  0:59           ` Lee Revell
2005-02-11  1:35             ` Shayne O'Connor
2005-02-11  1:33               ` Lee Revell
2005-02-11  2:31                 ` Shayne O'Connor
2005-02-11  3:55                   ` Lee Revell
2005-02-11  9:54                     ` Takashi Iwai
2005-01-19 19:51 ` Alexander Samad [this message]
2005-01-19 21:11   ` [PATCH] " Lee Revell
2005-01-19 21:25     ` Alexander Samad
2005-01-19 22:16     ` Alexander Samad
2005-01-19 22:19     ` Alexander Samad
2005-01-19 22:54       ` [Alsa-user] " Lee Revell
2005-01-21 21:41       ` Lee Revell
2005-01-22  0:49         ` James Courtier-Dutton
2005-01-23 20:31         ` [Alsa-devel] " Alexander Samad
2005-01-25 17:09 ` Brian L Scipioni
2005-01-25 18:43   ` [Alsa-user] " Lee Revell
     [not found]     ` <1106743059.30763.21.camel@radium.gaugetheory.org>
     [not found]       ` <1106756424.2935.1.camel@krustophenia.net>
     [not found]         ` <s5hu0p3nimh.wl@alsa2.suse.de>
2005-01-27 18:41           ` [Alsa-user] emu10k1 alsamixer items Lee Revell
2005-01-28 15:33             ` Takashi Iwai
     [not found]     ` <1108148365.4267.22.camel@radium.gaugetheory.org>
2005-02-11 19:41       ` [PATCH] emu10k1 multichannel support Lee Revell
2005-02-11 20:11         ` Brian L Scipioni
2005-02-11 20:14           ` [Alsa-user] " Lee Revell
2005-02-15 14:20         ` Brian L Scipioni
     [not found]     ` <1108148630.4267.28.camel@radium.gaugetheory.org>
2005-02-11 19:44       ` emu10k1 MIDI record Lee Revell
2005-02-11 20:06         ` Brian L Scipioni
2005-02-11 20:12           ` [Alsa-user] " Lee Revell
2005-02-12 15:34             ` Brian L Scipioni
2005-02-12 23:51               ` [Alsa-user] " Lee Revell
2005-02-15 14:44                 ` Brian L Scipioni
2005-01-25 21:33   ` [Alsa-user] [PATCH] emu10k1 multichannel support Lee Revell
  -- strict thread matches above, loose matches on Subject: below --
2005-02-15 14:48 Peter Zubaj

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=20050119195154.GR27550@samad.com.au \
    --to=alex@samad.com.au \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=alsa-user@lists.sourceforge.net \
    --cc=rlrevell@joe-job.com \
    /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.