Alsa-Devel Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox