Thread: [Alsa-user] routing sound from one to another alsa device
Brought to you by:
perex
From: Christian L. <chr...@le...> - 2006-01-29 12:26:13
|
Hello, I would like to redirect the sound data from one (tv card) alsa card to another alsa card, is there a way to do this in a working way? At the moment I'm using ecasound, but after a few minutes there is a buffer underrun and the sound gets really dissorted. Christian -- "Omnis enim res, quae dando non deficit, dum habetur et non datur, nondum habetur, quomodo habenda est." (Aurelius Augustinus) Translation: <http://gnuhh.org/work/fsf-europe/augustinus.html> |
From: Frank B. <fb...@fo...> - 2006-01-29 16:35:11
|
Hallo, Christian Leber hat gesagt: // Christian Leber wrote: > I would like to redirect the sound data from one (tv card) alsa card > to another alsa card, is there a way to do this in a working way? > > At the moment I'm using ecasound, but after a few minutes there is a > buffer underrun and the sound gets really dissorted. You may want to tune your system a bit and play with ecasound's buffering opions ("-z,db"). I almost never have buffer underruns with ecasound and we're using it daily to record several hours of a radio program directly to mp3 for about four or five years now. We get maybe one messed up up recording in three months. Or less. It's that solid. You also may want to look at jackd. Ciao -- Frank Barknecht _ ______footils.org_ __goto10.org__ |
From: Steffen S. <ste...@ar...> - 2006-01-30 05:10:25
|
Am Sonntag, 29. Januar 2006 17:35 schrieb Frank Barknecht: > Hallo, > > Christian Leber hat gesagt: // Christian Leber wrote: > > I would like to redirect the sound data from one (tv card) alsa card > > to another alsa card, is there a way to do this in a working way? > > > > At the moment I'm using ecasound, but after a few minutes there is a > > buffer underrun and the sound gets really dissorted. > > You may want to tune your system a bit and play with ecasound's > buffering opions ("-z,db"). Since I have an similar problem: My tv-soundcard seems to use an other sample-rate. If I record from the tv-soundcard to a file, playing the file hears way to high.. (frequency doubled?, don't know) If I try to do an ecasound -i:/dev/dsp1, -o:alsahw,0 , there are a lot of buffer underruns. Is there a way to prevent this? Steffen |
From: Frank B. <fb...@fo...> - 2006-01-30 10:25:36
|
Hallo, Steffen Schwientek hat gesagt: // Steffen Schwientek wrote: > My tv-soundcard seems to use an other sample-rate. If I record from the > tv-soundcard to a file, playing the file hears way to high.. (frequency > doubled?, don't know) How do you record? > If I try to do an ecasound -i:/dev/dsp1, -o:alsahw,0 , there are a lot of > buffer underruns. > Is there a way to prevent this? Maybe "ecasound -i::alsahw,1 -o:alsahw,0" works better? Did you try "-z,db"? And you may want to run ecasound with raised priority. You also could tune your kernel for low latency operation. Finally I think, jackd would be a better application to use in this case. (It may also possible to set up a connection using ALSA's plugin system, but I'm not sure how to do it. You can try to play with the "route" or "copy" plugins decribed here: http://alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html ) Ciao -- Frank Barknecht _ ______footils.org_ __goto10.org__ |
From: Raja M. <raj...@mo...> - 2006-01-30 11:17:29
|
Hi all, I have downloaded alsa-driver-1.0.11rc3.tar.bz2 to work for UDA1341 codec and I2S for ARM board. I am working on uda1341 codec intrefacing with I2S interface. UDA1341 codec provides L3 interface which needs to have L3 firmware which can be used by alsa driver uda1341 codec( already code is there in alsa CVS) By going through the code , I am not able to fine some API uda1341.c is using like "/linux/l3/l3.h" which is missing in kernel-2.6 tree.. Also calls like: 1) l3_read(); 2) l3_write(); Is there any reference for such to look for? Kindly share your experience.. Regards Raja Mallik |
From: Steffen S. <ste...@ar...> - 2006-01-30 11:50:56
|
Am Montag, 30. Januar 2006 11:25 schrieb Frank Barknecht: > Hallo, > > Steffen Schwientek hat gesagt: // Steffen Schwientek wrote: > > My tv-soundcard seems to use an other sample-rate. If I record from the > > tv-soundcard to a file, playing the file hears way to high.. (frequency > > doubled?, don't know) > > How do you record? ecasound -i:/dev/dsp1 -o:~/out.wav > > > If I try to do an ecasound -i:/dev/dsp1, -o:alsahw,0 , there are a lot > > of buffer underruns. > > Is there a way to prevent this? > > Maybe "ecasound -i::alsahw,1 -o:alsahw,0" works better? This doesn't work at all. Nees to use the oss layer. The tv-card has only a crippled sound-card, since it lacks the pcm device. Alsamix only sees 2 line and one video input on the SAA7134. > Did you try > "-z,db"? And you may want to run ecasound with raised priority. You > also could tune your kernel for low latency operation. Tried both. In normal operation the sound is interrupted in miliseconds (can hear part of words), with low latency I only hear staccato. > Finally I > think, jackd would be a better application to use in this case. > > (It may also possible to set up a connection using ALSA's plugin > system, but I'm not sure how to do it. You can try to play with > the "route" or "copy" plugins decribed here: > http://alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html ) As far as I see, it expect an pcm-device in both cards... Regards, Steffen |
From: Christian L. <chr...@le...> - 2006-01-30 12:00:09
|
On Mon, Jan 30, 2006 at 06:08:17AM +0100, Steffen Schwientek wrote: > Since I have an similar problem: > My tv-soundcard seems to use an other sample-rate. If I record from the > tv-soundcard to a file, playing the file hears way to high.. (frequency > doubled?, don't know) try something like this in your .asoundrc: pcm.tv { type rate # Rate PCM slave { # Slave definition pcm "hw:2,0" # Slave PCM name rate 32000 # Slave rate } } ecasound -i alsa,tv ... Christian -- "Omnis enim res, quae dando non deficit, dum habetur et non datur, nondum habetur, quomodo habenda est." (Aurelius Augustinus) Translation: <http://gnuhh.org/work/fsf-europe/augustinus.html> |
From: Steffen S. <ste...@ar...> - 2006-01-31 10:48:57
|
Am Montag, 30. Januar 2006 13:00 schrieb Christian Leber: > On Mon, Jan 30, 2006 at 06:08:17AM +0100, Steffen Schwientek wrote: > > Since I have an similar problem: > > My tv-soundcard seems to use an other sample-rate. If I record from the > > tv-soundcard to a file, playing the file hears way to high.. (frequency > > doubled?, don't know) > > try something like this in your .asoundrc: > > pcm.tv { > type rate # Rate PCM > slave { # Slave definition > pcm "hw:2,0" # Slave PCM name > rate 32000 # Slave rate > } > } > > ecasound -i alsa,tv ... And what can I do if there is no PCM device on the tv-soundcard? alsamixer only shows 2 line and an video interface. Steffen |
From: Frank B. <fb...@fo...> - 2006-01-31 12:10:58
|
Hallo, Steffen Schwientek hat gesagt: // Steffen Schwientek wrote: > Am Montag, 30. Januar 2006 13:00 schrieb Christian Leber: > > On Mon, Jan 30, 2006 at 06:08:17AM +0100, Steffen Schwientek wrote: > > > Since I have an similar problem: > > > My tv-soundcard seems to use an other sample-rate. If I record from the > > > tv-soundcard to a file, playing the file hears way to high.. (frequency > > > doubled?, don't know) > > > > try something like this in your .asoundrc: > > > > pcm.tv { > > type rate # Rate PCM > > slave { # Slave definition > > pcm "hw:2,0" # Slave PCM name > > rate 32000 # Slave rate > > } > > } > > > > ecasound -i alsa,tv ... > > And what can I do if there is no PCM device on the tv-soundcard? alsamixer > only shows 2 line and an video interface. What alsamixer shows has nothing to do with the PCMs on a card. Many cards don't have a mixer at all, but of course they still have a PCM, otherwise there wouldn't be no sound. I think, you first should find out if your tv-card can properly recorded from with "arecord" like: $ arecord -D plughw:1 -f cd /tmp/test-cd-quality.wav $ arecord -D plughw:1 -f dat /tmp/test-dat-quality.wav Do you get distorted sound with that, too? Ciao -- Frank Barknecht _ ______footils.org_ __goto10.org__ |
From: Steffen S. <ste...@ar...> - 2006-02-01 03:58:47
|
Am Dienstag, 31. Januar 2006 13:10 schrieb Frank Barknecht: > > What alsamixer shows has nothing to do with the PCMs on a card. Many > cards don't have a mixer at all, but of course they still have a PCM, > otherwise there wouldn't be no sound. > > I think, you first should find out if your tv-card can > properly recorded from with "arecord" like: > > $ arecord -D plughw:1 -f cd /tmp/test-cd-quality.wav don't work: ALSA lib pcm_mmap.c:363:(snd_pcm_mmap) mmap failed: Das Argument ist ung=FC= ltig If I work with ecasound I get the same message.. > $ arecord -D plughw:1 -f dat /tmp/test-dat-quality.wav Works, but the frequency is wrong. arecord -D plughw:1 -f S16_LE -c2 -r32000 /tmp/test-dat-quality.wav works much better. OK, I still need something to glue this together. Simply piping arecord | aplay results in a delay between tv and sound... Ciao |
From: Steffen S. <ste...@ar...> - 2006-02-02 22:38:31
|
Am Mittwoch, 1. Februar 2006 04:55 schrieb Steffen Schwientek: > > If I work with ecasound I get the same message.. > > > $ arecord -D plughw:1 -f dat /tmp/test-dat-quality.wav > > Works, but the frequency is wrong. > > arecord -D plughw:1 -f S16_LE -c2 -r32000 /tmp/test-dat-quality.wav > > works much better. > > OK, I still need something to glue this together. Simply piping arecord | > aplay results in a delay between tv and sound... I don't get it. If I simply put this informations in an .asoundrc, ecasound refuse to work. Here is my .asound: pcm.tv { type rate # Rate PCM slave { # Slave definition format "S16_LE" rate 32000 pcm "hw:1,0" # Slave PCM name } } And this happens, if I run ecasound -i alsa,tv: - [ Session created ] ---------------------------------------------------------- - [ Chainsetup created (cmdline) ] --------------------------------------------- - [ Connecting chainsetup ] ---------------------------------------------------- (eca-chainsetup) 'rt' buffering mode selected. (audioio_alsa) Warning! Period-size differs from current client buffersize. ALSA lib pcm_mmap.c:363:(snd_pcm_mmap) mmap failed: Invalid argument ERROR: Connecting chainsetup failed: "Enabling chainsetup: AUDIOIO-ALSA: Error ... when setting up hwparams: Invalid argument" Somehow there is an error in .asoundrc... Steffen |
From: Lee R. <rlr...@jo...> - 2006-02-02 22:50:09
|
On Thu, 2006-02-02 at 23:36 +0100, Steffen Schwientek wrote: > Am Mittwoch, 1. Februar 2006 04:55 schrieb Steffen Schwientek: > > > > If I work with ecasound I get the same message.. > > > > > $ arecord -D plughw:1 -f dat /tmp/test-dat-quality.wav > > > > Works, but the frequency is wrong. > > > > arecord -D plughw:1 -f S16_LE -c2 -r32000 /tmp/test-dat-quality.wav > > > > works much better. > > > > OK, I still need something to glue this together. Simply piping arecord | > > aplay results in a delay between tv and sound... > > I don't get it. If I simply put this informations in an .asoundrc, ecasound > refuse to work. > > Here is my .asound: > pcm.tv { > type rate # Rate PCM > > slave { # Slave definition > format "S16_LE" > rate 32000 > pcm "hw:1,0" # Slave PCM name > } > } Well, it looks like your sound hardware doesn't support S16_LE at 32000Hz. What soundcard is this? Does it work if you change hw to plughw? Lee |
From: Steffen S. <ste...@ar...> - 2006-02-02 23:36:57
|
Am Donnerstag, 2. Februar 2006 23:50 schrieb Lee Revell: > On Thu, 2006-02-02 at 23:36 +0100, Steffen Schwientek wrote: > > Am Mittwoch, 1. Februar 2006 04:55 schrieb Steffen Schwientek: > > > If I work with ecasound I get the same message.. > > > > > > > $ arecord -D plughw:1 -f dat /tmp/test-dat-quality.wav > > > > > > Works, but the frequency is wrong. > > > > > > arecord -D plughw:1 -f S16_LE -c2 -r32000 /tmp/test-dat-quality.wav > > > > > > works much better. > > > > > > OK, I still need something to glue this together. Simply piping > > > arecord | aplay results in a delay between tv and sound... > > > > I don't get it. If I simply put this informations in an .asoundrc, > > ecasound refuse to work. > > > > Here is my .asound: > > pcm.tv { > > type rate # Rate PCM > > > > slave { # Slave definition > > format "S16_LE" > > rate 32000 > > pcm "hw:1,0" # Slave PCM name > > } > > } > > Well, it looks like your sound hardware doesn't support S16_LE at > 32000Hz. I can record a stream from the tv (saa7134_alsa driver) using arecord -D plughw:1 -f S16_LE -c2 -r32000 I need to translate this to ecasound .asoundrc or jack (or whatever) to get it working, since piping the arecord output to aplay results in a delay between tv and sound. However, I can use ecasound -d 1 -i alsahw,1 -o alsa, but I'll get a lot of playback underruns. Withoud the debug option I'll get an simple Invalid argument. > What soundcard is this? Sound of the pcmcia tc-card (saa7134_alsa). Damned card... Steffen |
From: Theodoros V. K. <th...@so...> - 2006-02-02 23:48:19
|
On Fri, 3 Feb 2006, Steffen Schwientek wrote: > I need to translate this to ecasound .asoundrc or jack (or whatever) to get it > working, since piping the arecord output to aplay results in a delay between > tv and sound. Have you tried using sox ? IIRC it has ALSA support and since it is only one process it may not have as big a delay as an arecord/aplay pipe. I have not tried it myself, but it is a common suggestion in the V4L lists... |