[LAD] Real-time plotting of audio/ oscilloscope.

Jeremy jeremybubs at gmail.com
Thu Jun 17 04:29:44 UTC 2010


Hi,

When I'm programming, I find it immensely helpful to be able to plot audio
data at different points in its processing, for debugging, and to test new
ideas.

Essentially I want an oscilloscope, which plots each chunk of 1024 samples.

I've tried using libplot, but it seems too slow.  It's causing constant
xruns, even when I only plot every 5th sample.

I thought that maybe libplot was too abstract, and that I needed to draw the
pixels on the screen directly.  I tried using SDL, but it caused excessive
xruns also.  Simply setting 48000 pixels per second was enough to cause the
flow of xruns.  This is  *not* erasing the screen, just drawing the points.
 I'd expect that erasing the screen is the slow part, but apparently not.

At this point I'm not sure if it's even possible to plot the audio data in
realtime.  I did a rough calculation, that on my 2 Ghz cpu, it should have
roughly 40,000 cycles to process each sample.  It seems to me that
considering running the whole plugin only uses 1/4 of my cpu, the other
30000 cycles should be plenty to put a pixel on the screen.

So I would guess that something else is the bottleneck, like my video chip,
or maybe the libraries I'm using.

So basically my question is:  Has anyone else had any luck with plotting
audio data in real time, and if so, how?  Is it not possible to plot every
sample, but only a certain percentage of them?  Is there a fundamental
restriction on doing so, or is my problem in software?

Jeremy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20100617/76a318d2/attachment.html>


More information about the Linux-audio-dev mailing list