* dmix plugin problems -- Resend
@ 2003-05-26 22:28 Nathaniel Gray
2003-05-26 23:48 ` David E. Storey
0 siblings, 1 reply; 3+ messages in thread
From: Nathaniel Gray @ 2003-05-26 22:28 UTC (permalink / raw)
To: alsa-devel
I'm sending this again since I got no response the first time and dmix
does not appear to be under heavy development, despite how incredibly
useful it would be if it worked.
[n8gray@golux alsa-lib-0.9.3]$ cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 0.9.3a.
Compiled on May 9 2003 for kernel 2.4.21-0.16mm-mdkcustom.
Using alsa-libs 0.9.3.
The dmix plugin seems to be very unreliable, or else maybe I'm not
setting it up correctly. Here's my asoundrc:
=================== .asoundrc ===================
pcm.intel8x0 {
type hw
card 0
}
ctl.intel8x0 {
type hw
card 0
}
pcm.mydmix {
type dmix
ipc_key 12349
ipc_key_add_uid true
slave {
pcm "hw:0,0"
# Setting this rate to 44100 seems to help
rate 44100
}
}
ctl.mydmix {
type hw
card 0
}
pcm.mixed {
type plug
slave {
pcm mydmix
}
}
ctl.mixed {
type hw
card 0
}
=================================================
If I run this command nothing happens:
[n8gray@golux sounds]$ aplay -D mixed KDE_Beep_ClockChime.wav
Playing WAVE 'KDE_Beep_ClockChime.wav' : Unsigned 8 bit, Rate 7418 Hz,
Mono
I get no sound, no error, aplay uses no cpu time. Here's the tail end
of the same command under strace:
open("KDE_Beep_ClockChime.wav", O_RDONLY) = 5
read(5, "RIFF\256\17\0\0WAVEfmt \20\0\0\0\1\0\1\0", 24) = 24
read(5, "\372\34", 2) = 2
read(5, "\0\0\372\34\0\0\1\0\10\0", 10) = 10
read(5, "data\212\17\0\0", 8) = 8
write(2, "Playing WAVE \'KDE_Beep_ClockChim"..., 41Playing WAVE
'KDE_Beep_ClockChime.wav' : ) = 41
write(2, "Unsigned 8 bit, ", 16Unsigned 8 bit, ) = 16
write(2, "Rate 7418 Hz, ", 14Rate 7418 Hz, ) = 14
write(2, "Mono", 4Mono) = 4
write(2, "\n", 1
) = 1
shmget(IPC_PRIVATE, 49152, 0x1b6|0666) = 10747908
shmat(10747908, 0, 0) = 0x40274000
shmget(IPC_PRIVATE, 12288, 0x1b6|0666) = 10780677
shmat(10780677, 0, 0) = 0x40023000
read(5, "G\214j\313\267hqG\234\250Yn;\206\274[e=t\305\207\217FM"...,
927) = 927
read(5, "\206\177U\217\214\207\211S\201\215\211\231[p\204\201\242"...,
927) = 927
poll([at this point the program just hangs]
If I run this command it completes but I get no sound output:
[n8gray@golux sounds]$ aplay -D mixed pop.wav
Playing WAVE 'pop.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
Mono
The same file plays properly (with sound) if I leave out the "-D mixed"
flag. This command, however, works perfectly:
[n8gray@golux sounds]$ aplay -D mixed info.wav
Playing WAVE 'info.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
Mono
If I actually try to mix two streams, though, I get xruns and cracks in
the sound:
[n8gray@golux sounds]$ aplay -D mixed info.wav & aplay -D mixed info.wav
[1] 12952
Playing WAVE 'info.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
Mono
Playing WAVE 'info.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
Mono
xrun!!! (at least 0.030 ms long)
xrun!!! (at least 0.008 ms long)
[1]+ Done aplay -D mixed info.wav
I've tried this experiment with long sounds to try to eliminate any
startup inefficiency, but the cracks last as long as the streams are
being mixed.
I'll be glad to help debug in any way I can. I've tried using the C
versions of mix_areas1 and mix_areas2 and it doesn't help any of these
problems.
Thanks,
-Nathan
--
>>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu -->
-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: dmix plugin problems -- Resend
2003-05-26 22:28 dmix plugin problems -- Resend Nathaniel Gray
@ 2003-05-26 23:48 ` David E. Storey
2003-05-27 4:16 ` Nathaniel Gray
0 siblings, 1 reply; 3+ messages in thread
From: David E. Storey @ 2003-05-26 23:48 UTC (permalink / raw)
To: Nathaniel Gray; +Cc: alsa
[-- Attachment #1: Type: text/plain, Size: 4693 bytes --]
nice. Your config just helped me make it work for me. I too have an
intel8x0. (I also have some other gear, but in essence I can use
alsaplayer and xmms on my intel8x0 simultaneously.) Not being an expert
in .asound voodoo, I would say that yours is a bit more complicated than
it needs to be. Without changing your .asound file, have you tried:
aplay -D mydmix test.wav
?
The only other difference is that I don't have rate 44100. It is my
understanding that the intel8x0 is locked at 48000 for the hardware I
have. My only gripe with dmix now is normalization. All the music I have
is normalized and when I sum that up, it distorts, so I have to be
careful. Also, jack doesn't like dmix. For starters, dmix is for
playback only. Would be nice to be able to create a composite device
that had dmix and dsnoop.... wait... that's jack! ;-)
d!
On Mon, 2003-05-26 at 18:28, Nathaniel Gray wrote:
> I'm sending this again since I got no response the first time and dmix
> does not appear to be under heavy development, despite how incredibly
> useful it would be if it worked.
>
> [n8gray@golux alsa-lib-0.9.3]$ cat /proc/asound/version
> Advanced Linux Sound Architecture Driver Version 0.9.3a.
> Compiled on May 9 2003 for kernel 2.4.21-0.16mm-mdkcustom.
> Using alsa-libs 0.9.3.
>
> The dmix plugin seems to be very unreliable, or else maybe I'm not
> setting it up correctly. Here's my asoundrc:
> =================== .asoundrc ===================
> pcm.intel8x0 {
> type hw
> card 0
> }
>
> ctl.intel8x0 {
> type hw
> card 0
> }
>
> pcm.mydmix {
> type dmix
> ipc_key 12349
> ipc_key_add_uid true
> slave {
> pcm "hw:0,0"
> # Setting this rate to 44100 seems to help
> rate 44100
> }
> }
>
> ctl.mydmix {
> type hw
> card 0
> }
>
> pcm.mixed {
> type plug
> slave {
> pcm mydmix
> }
> }
>
> ctl.mixed {
> type hw
> card 0
> }
> =================================================
>
> If I run this command nothing happens:
> [n8gray@golux sounds]$ aplay -D mixed KDE_Beep_ClockChime.wav
> Playing WAVE 'KDE_Beep_ClockChime.wav' : Unsigned 8 bit, Rate 7418 Hz,
> Mono
>
> I get no sound, no error, aplay uses no cpu time. Here's the tail end
> of the same command under strace:
> open("KDE_Beep_ClockChime.wav", O_RDONLY) = 5
> read(5, "RIFF\256\17\0\0WAVEfmt \20\0\0\0\1\0\1\0", 24) = 24
> read(5, "\372\34", 2) = 2
> read(5, "\0\0\372\34\0\0\1\0\10\0", 10) = 10
> read(5, "data\212\17\0\0", 8) = 8
> write(2, "Playing WAVE \'KDE_Beep_ClockChim"..., 41Playing WAVE
> 'KDE_Beep_ClockChime.wav' : ) = 41
> write(2, "Unsigned 8 bit, ", 16Unsigned 8 bit, ) = 16
> write(2, "Rate 7418 Hz, ", 14Rate 7418 Hz, ) = 14
> write(2, "Mono", 4Mono) = 4
> write(2, "\n", 1
> ) = 1
> shmget(IPC_PRIVATE, 49152, 0x1b6|0666) = 10747908
> shmat(10747908, 0, 0) = 0x40274000
> shmget(IPC_PRIVATE, 12288, 0x1b6|0666) = 10780677
> shmat(10780677, 0, 0) = 0x40023000
> read(5, "G\214j\313\267hqG\234\250Yn;\206\274[e=t\305\207\217FM"...,
> 927) = 927
> read(5, "\206\177U\217\214\207\211S\201\215\211\231[p\204\201\242"...,
> 927) = 927
> poll([at this point the program just hangs]
>
> If I run this command it completes but I get no sound output:
> [n8gray@golux sounds]$ aplay -D mixed pop.wav
> Playing WAVE 'pop.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
> Mono
>
> The same file plays properly (with sound) if I leave out the "-D mixed"
> flag. This command, however, works perfectly:
> [n8gray@golux sounds]$ aplay -D mixed info.wav
> Playing WAVE 'info.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
> Mono
>
> If I actually try to mix two streams, though, I get xruns and cracks in
> the sound:
> [n8gray@golux sounds]$ aplay -D mixed info.wav & aplay -D mixed info.wav
> [1] 12952
> Playing WAVE 'info.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
> Mono
> Playing WAVE 'info.wav' : Signed 16 bit Little Endian, Rate 44100 Hz,
> Mono
> xrun!!! (at least 0.030 ms long)
> xrun!!! (at least 0.008 ms long)
> [1]+ Done aplay -D mixed info.wav
>
> I've tried this experiment with long sounds to try to eliminate any
> startup inefficiency, but the cracks last as long as the streams are
> being mixed.
>
> I'll be glad to help debug in any way I can. I've tried using the C
> versions of mix_areas1 and mix_areas2 and it doesn't help any of these
> problems.
>
> Thanks,
> -Nathan
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: dmix plugin problems -- Resend
2003-05-26 23:48 ` David E. Storey
@ 2003-05-27 4:16 ` Nathaniel Gray
0 siblings, 0 replies; 3+ messages in thread
From: Nathaniel Gray @ 2003-05-27 4:16 UTC (permalink / raw)
To: David E. Storey; +Cc: alsa
On Monday 26 May 2003 04:48 pm, David E. Storey wrote:
> nice. Your config just helped me make it work for me. I too have an
> intel8x0. (I also have some other gear, but in essence I can use
> alsaplayer and xmms on my intel8x0 simultaneously.) Not being an
> expert in .asound voodoo, I would say that yours is a bit more
> complicated than it needs to be. Without changing your .asound file,
> have you tried:
>
> aplay -D mydmix test.wav
I'm pretty sure that will only work if the sample you're playing is at
the "correct" rate. In other words, dmix doesn't do any resampling, so
if you try to play a file that has the wrong rate you'll get problems.
That's the reason for the extra layer with the "plug" plugin -- it does
rate conversion.
> The only other difference is that I don't have rate 44100. It is my
> understanding that the intel8x0 is locked at 48000 for the hardware I
> have.
Certain files play with the "rate 44100" line and others don't, but more
play with it than without it. I'd recommend testing it with the KDE_*
files in /usr/share/sounds if you have KDE installed. They have lots
of funky sampling rates that aplay seems to choke on.
--
>>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu -->
-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-05-27 4:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-26 22:28 dmix plugin problems -- Resend Nathaniel Gray
2003-05-26 23:48 ` David E. Storey
2003-05-27 4:16 ` Nathaniel Gray
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.