[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Sound card configuration
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] Sound card configuration |
Date: |
Tue, 9 Nov 2004 10:49:28 -0800 |
User-agent: |
Mutt/1.5.6i |
On Tue, Nov 09, 2004 at 08:15:21AM -0500, John R. Ackermann N8UR wrote:
> Hi All --
>
> This may be a little off-topic, but (a) sooner or later I *will* be
> using GnuRadio with this configuration, and (b) I figure the folks here
> are quite likely to have been through this exercise.
Not at all off topic.
I'd rather talk about something besides build problems, anyway ;-)
> I have two sound devices -- the motherboard's VIA8233, which I only
> intend to use for the occasional song played through the speakers, and
> an M-Audio Delta44 which is going to be the main workhorse.
> Now both cards seem to be working properly at the physical interface
> level, but (a) getting both cards working simultaneously is a problem,
> and (b) I can't figure out how to separate the 4 mono inputs from the
> Delta44 into either two stereo pairs or 4 separate channels.
Short answer: Ramakrishnan and I are working on native ALSA support.
All your problems will soon be solved.
Longer answer: ALSA kicks major ass. Right now I've been working with
both a built-in intel8x0 chip and a Creative Labs Audigy LS. This is
not an endorsement for this particular card, it was just the cheapest
thing at Fry's that had 6 24-bit channels outbound and 2 24-bit
channels inbound. I've been able to use it in 2, 4 and 6 channel
output mode and have been able to use the intel8x0 card at the same
time too.
Still a bit of polishing to do on the output side, then the input
needs to be reworked and tested for multiple channels, etc.
Expect a first release by the end of the week.
The i/o model for alsa_sink and alsa_source is this:
The constructor takes a pcm name or a default is provided. pcm names
look like this: "hw:0,0", "hw:1,0", "plughw:0,0", "surround40",
"surround51", "surround71" etc. The mapping of all of this stuff to
hardware and software plugins can be controlled though your ALSA
~/.asoundrc configuration file. ALSA is *extremely* configurable,
and appears to come with reasonable defaults too. See
http://www.alsa-project.org
Our code queries the specified pcm and figures out what it will do.
This includes min and max channels, sample rates, number of bits, etc.
We set up the i/o signature of the alsa_sink/source to match the
hardware. That is, if you specified "surround51" (and your hardware
will do it), we'll give you 6 outputs. All inputs and outputs to
audio sources and sinks are streams of floats in the range [-1, +1].
This allows your application to stay the same regardless of the
resolution of the underlying hardware. It's up to you to interpret
the N channels however you like.
Eric