Re: [ecasound] ecasound with alsa

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [ecasound] ecasound with alsa
From: Kai Vehmanen (k_AT_eca.cx)
Date: Wed Sep 26 2001 - 13:52:47 EEST


On Wed, 26 Sep 2001, martijn wrote:

> it is weird indeed, but i think i might have to look into alsa more then
> ecasound for this one. i'm using the cvs version of alsa too now, it still
> doesn't work. when i use "alsa,hw:0,0,0" however, i get different errors:
[...]
> maybe it's because i don't fully understand how to setup my new Midiman
> Audiophile 24/96, it only acceps s32_le and i tried all kinds of channel

This probably explains it. The ALSA design philosophy is that absolutely
no audio format conversions are done in kernel-space (ie. in alsa-driver).
As the alsa,hw:x,y directly accesses to hw-layer, you can only open the
device with audio params supported by the specific soundcard.

The consumer cards typically support cd-quality audio directly
(-f:s16_le,2,44100,i), while many highend soundcards don't.

> so i tried to specify it -f:s32_le,2,96600, but then:
[...]
> ERROR: [ECA-CHAINSETUP] : "Enabling chainsetup: AUDIOIO-ALSA3: Channel count
> 2 is out of range!"

How about "ecasound -i some.wav -f:s32_le,10,96000,i -o alsa,hw:0"?
The 'i' stands for interleaved. So all params have to match. Here's
the appropriate hw-capability struct for playback from
alsa-driver/cards/card-ice1712.c:

--cut--
static snd_pcm_hardware_t snd_ice1712_playback_pro =
{
        info: (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
                                 SNDRV_PCM_INFO_BLOCK_TRANSFER |
                                 SNDRV_PCM_INFO_MMAP_VALID |
                                 SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_SYNC_START),
        formats: SNDRV_PCM_FMTBIT_S32_LE,
        rates: SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_96000,
        rate_min: 4000,
        rate_max: 96000,
        channels_min: 10,
        channels_max: 10,
        buffer_bytes_max: (256*1024),
        period_bytes_min: 10 * 4 * 2,
        period_bytes_max: 131040,
        periods_min: 1,
        periods_max: 1024,
        fifo_size: 0,
};
--cut--

I think this is the right one for Audiophile 24/96. So noninterleaved is
not supported (this is common), s32_le the only sample format, no less or
more than 10 channels and rates from 4000-96000Hz. So based on this info,
-f:s32_le,10,96000,i should work.

-- 
 http://www.eca.cx
 Audio software for Linux!

-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request_AT_wakkanet.fi>.


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Sep 26 2001 - 13:50:42 EEST