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@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev