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

From: Robin Gareus <robin@email-addr-hidden>
Date: Thu Jun 17 2010 - 17:23:14 EEST

On 06/17/2010 06:29 AM, 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?
>
> Jeremy

There's jack.scope that comes with jackd, jack_oscrolloscope[1] and
QoscC[2] which display the wave-form in realtime on-screen (but IIRC
won't save the graphic to file).
"bitscope" is nice for detecting value-range issues (sticky bits,
Nan..); "baudline" has a waveform option.. and a more generic
Oscilloscope: "xoscope"

As for "plotting" the signal: most audio-editors will do. just fire up
ardour or any sound-editor, record the signal & take a screenshot :)
Well, there's a couple of utilities to render wave-forms but all tools I
know there operate on files and not real-time.

http://apps.linuxaudio.org/apps/categories/scopes_and_realtime_visualizers

[1] http://das.nasophon.de/jack_oscrolloscope/
[2] http://flup.homelinux.org/qoscc.html
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Thu Jun 17 20:15:02 2010

This archive was generated by hypermail 2.1.8 : Thu Jun 17 2010 - 20:15:03 EEST