got a little bit of a confusion here.

got a nice new TerraTec EWX 24/96

recording and playback via analog in/out works just great, sound-quality
is awesome.

digital output via spdif works as well, very nice.

digital input via spdif works in the sense that I can re-route it to
analog out and listen to whatever I plug in.

but I want to record that stuff.

so I did arecord -L to find out which devices I got:
(sorry, big listing coming up)

PCM list:
hw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
        type hw
        card $CARD
        device $DEV
        subdevice $SUBDEV
}
plughw {
        @args.0 CARD
        @args.1 DEV
        @args.2 SUBDEV
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
        }
        @args.DEV {
                type integer
                default {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
        }
        @args.SUBDEV {
                type integer
                default {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
        type plug
        slave.pcm {
                type hw
                card $CARD
                device $DEV
                subdevice $SUBDEV
        }
}
plug {
        @args.0 SLAVE
        @args.SLAVE {
                type string
        }
        type plug
        slave.pcm $SLAVE
}
shm {
        @args.0 SOCKET
        @args.1 PCM
        @args.SOCKET {
                type string
        }
        @args.PCM {
                type string
        }
        type shm
        server $SOCKET
        pcm $PCM
}
tee {
        @args.0 SLAVE
        @args.1 FILE
        @args.2 FORMAT
        @args.SLAVE {
                type string
        }
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm $SLAVE
        file $FILE
        format $FORMAT
}
file {
        @args.0 FILE
        @args.1 FORMAT
        @args.FILE {
                type string
        }
        @args.FORMAT {
                type string
                default raw
        }
        type file
        slave.pcm null
        file $FILE
        format $FORMAT
}
null {
        type null
}
default {
        type plug
        slave.pcm {
                type hw
                card {
                        @func getenv
                        vars {
                                0 ALSA_PCM_CARD
                                1 ALSA_CARD
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.card'
                        }
                }
                device {
                        @func igetenv
                        vars {
                                0 ALSA_PCM_DEVICE
                        }
                        default {
                                @func refer
                                name 'defaults.pcm.device'
                        }
                }
                subdevice {
                        @func refer
                        name 'defaults.pcm.subdevice'
                }
        }
}
cards 'cards.pcm'
front 'cards.pcm.front'
rear 'cards.pcm.rear'
center_lfe 'cards.pcm.center_lfe'
surround40 'cards.pcm.surround40'
surround51 'cards.pcm.surround51'
iec958 'cards.pcm.iec958'
spdif 'cards.pcm.iec958'



so normally, when I record via line-in, I do:
ecasound -f:s16_le,2,44100 -i:alsa,default -o:somefile.raw

which, as I said, works nicely.

so I tried to record something via spdif.
naively, I tried:
ecasound -f:s16le,2,44100 -t:15 -i:alsa,spdif -o:test.raw

but the only output I get is:
eye@lormoral wav $ ecasound -f:s16_le,2,44100 -t:15 -i:alsa,spdif -o:test.raw
****************************************************************************
*               ecasound v2.1dev11 (C) 1997-2002 Kai Vehmanen
****************************************************************************
- [ Session created ] ------------------------------------------------------
- [ Chainsetup created (cmdline) ] -----------------------------------------
(eca-chainsetup-parser) Set processing time to 15.00.
- [ Connecting chainsetup ] ------------------------------------------------
(eca-chainsetup) 'rt' buffering mode selected.
Aborted


so apparently this doesn't work.
so I tried with arecord
eye@lormoral wav $ arecord -D spdif -t wav -f cd -d 15 -v test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
arecord: set_params:759: Sample format non available

yeah, I know, I get an error-message. but I don't understand what it
means ...

I even tried using envy24control to route the spdif-input to the
"digital mixer" and record using alsa,default, but that gives me a
silent file.

Does anyone have any hints on how to record from the optical input?

-- 
Michael Hellwig  aka  The Eye                 olymp.idle.at admin
check out http://homepage.uibk.ac.at/~csaa5128 for gpg public key
                       and some other info


-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to