On Thu, 2010-06-17 at 00:29 -0400, Jeremy wrote:
> 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?
I'm going to assume you're plotting directly within the realtime process