Re: Inadmissible sound dropouts on 2.2.18

Pavel Machek (pavel@suse.cz)
Sat, 10 Feb 2001 23:32:55 +0100


Hi!

> I found that 2.2.18 probably rudely drops samples (lets ocassionally one sample
> be played several times) on the Gravis Ultrasound output device. I use 2.2.18
> and the native kernel drivers. I wrote this program that should produce a clean
> sine tone. Instead I hear a sine interspaced with crackling. The crackling
> repeats at 100Hz I guess. There runs nothing CPU-consuming. The sound process
> takes 5% CPU. It's funny Linux drops sound samples just at 5% of CPU load. I
> got AMD K6-2 3D 400Mhz at 400Mhz, 4*100MHz, running stably between 20-35 deg C
> of case temperature. I got PCI / AGP board FIC VA-503+. There are three serial
> ports, none of them was transceiving at that time. There is one ISA
> NE2000 NIC

And receiving?

There are tools for measuring latency problems. Look at kernel archives.

> The crackling is not dependent on the buffer size you can set up in the C code.
> The crackling is dependent on the frequency of the sine. It's clearly audible
> (read: annoying) at 10kHz, audible at 1kHz, inaudible at 100Hz. So I think
> they are sample dropouts - the card stops playing and repeats one sample until
> kernel gets the breath and whips itself up to supply next audio
> data.

Or it is just Graivs driver bug...

> There are no custom changes in the drivers - no buffer tweaking, nothing. The
> Gravis plays modules, midules and mp3 with nearly no problems (apart from when
> Loreena Mc Kennith sings too high and too loud, I hear something that looks like
> MP3 frames bounds, but I can't surely tell who's responsible for this - if the
> Fraunhofer Institute or Linux Kernel)

;) Or maybe problem is in your application. Can you generate sample
file than "play" it with cat samples > /dev/dsp? You can do it on
different machines to learn if it is gravis or something else.

Pavel
PS: I think it is your app that is buggy. You write to soundcard, then
you do _lots_ of floating point computation, then you write
again.... If your computtation takes too long, you'll hear
cracking... Of course. You wrote latency critical app!

-- 
I'm pavel@ucw.cz. "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents at discuss@linmodems.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/