Sound card scope SW with smooth roll mode?

Joerg said:
However, there is no default mechanism for grabbing WAVE data from the
Windwows environment. Dang!

Does DAQFactory have some way that you can pipe data (in whatever
format) into it for display? If so, I think sox can run in a pipeline;
it understands WAVE format input data and can turn that into raw samples
of various sizes on the output. I know on Linux it can listen to the
soundcard directly; don't know about Windows as I've never tried it.
Somehow hardware is easier. One goes to the wires drawer, gets a wire,
strips both ends, solders it in, done. No drivers to write, no DLLs,
just a spool of Kester 8806.

And then when the problem requirements change a little... more wire,
more solder.

At least when the problem grows to the point that it requires hardware
*and* software development, the hardware guy usually gets to go first,
so he gets to dump prototype hardware on the software guy two days
before deadline and say "Now go do all that software stuff, it's easy,
right?" :D

Matt Roberds
 
Joerg said:
Thanks, Matt, I'll check this out.

To be clear, I don't think Audacity will do what you want. The smooth-
scrolling item is from their wishlist (suggestions for future features),
not from the list of current features. The download link I gave is for
the whole program, not a smooth-scrolling add-on.
Yeah, but I am definitely not a software guru.

Protip: *Everything* has software in it, these days. :)
Else I'd probably program it all in C.

In my experience, lashing things together with scripts (shell, Perl,
batch, whatever) works pretty well for prototype-y and one-off things.
The time it takes you to learn how to do this is way less than the
number of man-hours of software development that you get for free when
you download an existing package.

Every once in a while, the lash-up it works well enough that you can put
it in production. If it doesn't (usually either it's not fast enough or
needs a slicker user interface), then yeah, it's time to break out the
compiler. Even in that case, the lash-up often shows you something you
didn't think of about the problem you are trying to solve.

Matt Roberds
 
T

Tim Williams

Jan 1, 1970
0
At least when the problem grows to the point that it requires hardware
*and* software development, the hardware guy usually gets to go first,
so he gets to dump prototype hardware on the software guy two days
before deadline and say "Now go do all that software stuff, it's easy,
right?" :D

But the managers told him to do that, 'cuz hardware, gosh, that's going to
take some time to build, but software, *whooosh*, it's like magic!
Right?! ;-)

Tim
 
G

George Herold

Jan 1, 1970
0
With one software (Azeotech DAQFactory) I was able to get that part
going. One of their support engineers explained the trick. You have to
set up a dummy trace and set the X-axis for that to systime(). That
somehow cajoles it into a 10Hz update mode which is better than 2Hz. Not
as good as most of my other stuff but at least you can look at the plot
for many minutes without getting a headache.

However ... no link to the soundcard or even the winamp (WAVE)
whatsoever. That jinxes it for this case.

I am pretty close to doing the whole chebang in hardware.

Well what are ya doing?

A degree of phase difference at ~10kHz... that's not hard.

George H.
 
M

miso

Jan 1, 1970
0
You can use the soundcard to create a stimulus, but you should be using
one channel of the soundcard input to record the stimulus, and then the
other channel to record the output. Your description doesn't read like
that.

This itself is confusing:
"I (hopefully ...) can
feed this into some other display spftware via the WAVE function in
MS-Windows, the one where a device can read audio from some other source
instead of the physical sound card jack. Because the sound card data
processing is already done at that point."

Wave is a format, not a function. It is found in windows and linux.

You digitize the two channels. You process the audio in something like
Audacity and can produce another wave file. With sox, you can read the
file and plot it if need be.

There is really nothing great about sound on windows. In fact, the
drivers suck so badly that you need asio drivers if you expect low latency.

Linux is far more flexible. Further, the programming tools on windows
are either lame if free or expensive if good. [Try pricing Visual
Studio.] Not so with Linux, which has free development tools and
libraries. But nothing you have mentioned thus far sounds like you need
to write any software. Just pipe stuff between existing programs, at
least on linux.
 
You can use the soundcard to create a stimulus, but you should be using
one channel of the soundcard input to record the stimulus, and then the
other channel to record the output. Your description doesn't read like
that.

This itself is confusing:
"I (hopefully ...) can
 > feed this into some other display spftware via the WAVE function in
 > MS-Windows, the one where a device can read audio from some other source
 > instead of the physical sound card jack. Because the sound card data
 > processing is already done at that point."

Wave is a format, not a function. It is found in windows and linux.

Wave is also the name of some audio multimedia functions in the Win32
api

as in WaveIn, WaveOut etc.

You digitize the two channels. You process the audio in something like
Audacity and can produce another wave file. With sox, you can read the
file and plot it if need be.

There is really nothing great about sound on windows. In fact, the
drivers suck so badly that you need asio drivers if you expect low latency.

Not surprising that a desktop OS isn't exactly hard realtime out of
the box
Linux is far more flexible. Further, the programming tools on windows
are either lame if free or expensive if good. [Try pricing Visual
Studio.] Not so with Linux, which has free development tools and
libraries. But nothing you have mentioned thus far sounds like you need
to write any software. Just pipe stuff between existing programs, at
least on linux.

Almost all the tools on Linux is available for windows as well, just
takes a bit
more than a single commandline to install them

There's free Visual studio, doesn't have all the tools but it's a
compiler and
an editor

-Lasse
 
J

Joerg

Jan 1, 1970
0
Does DAQFactory have some way that you can pipe data (in whatever
format) into it for display? If so, I think sox can run in a pipeline;


It can, but their support said this is not a slam dunk. Needs a special
driver, one they don't have. Not so good.

it understands WAVE format input data and can turn that into raw samples
of various sizes on the output. I know on Linux it can listen to the
soundcard directly; don't know about Windows as I've never tried it.

I'd like to keep this on Windows though.

And then when the problem requirements change a little... more wire,
more solder.

I've got a whole pound of solder. That ought to do :)

At least when the problem grows to the point that it requires hardware
*and* software development, the hardware guy usually gets to go first,
so he gets to dump prototype hardware on the software guy two days
before deadline and say "Now go do all that software stuff, it's easy,
right?" :D

Yup :)
 
J

Joerg

Jan 1, 1970
0
To be clear, I don't think Audacity will do what you want. The smooth-
scrolling item is from their wishlist (suggestions for future features),
not from the list of current features. The download link I gave is for
the whole program, not a smooth-scrolling add-on.

I have Audacity, and it sure doesn't look promising for this case.

Protip: *Everything* has software in it, these days. :)

I know. But the good stuff is all point and click, not writing hundreds
of lines of code.

In my experience, lashing things together with scripts (shell, Perl,
batch, whatever) works pretty well for prototype-y and one-off things.
The time it takes you to learn how to do this is way less than the
number of man-hours of software development that you get for free when
you download an existing package.

Sure, and that would do. But I have zero experience in such scripts.

Every once in a while, the lash-up it works well enough that you can put
it in production. If it doesn't (usually either it's not fast enough or
needs a slicker user interface), then yeah, it's time to break out the
compiler. Even in that case, the lash-up often shows you something you
didn't think of about the problem you are trying to solve.

I lean more and more towards doing this in hardware. Because then I know
it works.
 
J

Joerg

Jan 1, 1970
0
miso said:
You can use the soundcard to create a stimulus, but you should be using
one channel of the soundcard input to record the stimulus, and then the
other channel to record the output. Your description doesn't read like
that.

That's what I was planning to do. It's too risky to do a phase
comparison without knowing how much jitter the output might add in.

This itself is confusing:
"I (hopefully ...) can

That is a last resort thing and would take away the option to measure
the stimulus. Unless I add another sond card which should be easy.

Wave is a format, not a function. It is found in windows and linux.

Yeah, I just meant the "whatever the WAVE input in the Windows sound
mixer uses" link :)

You digitize the two channels. You process the audio in something like
Audacity and can produce another wave file. With sox, you can read the
file and plot it if need be.

There is really nothing great about sound on windows. In fact, the
drivers suck so badly that you need asio drivers if you expect low latency.

Ok, but on this I need to use Windows, because the computer has to run
some other stuff as well.

Linux is far more flexible. Further, the programming tools on windows
are either lame if free or expensive if good. [Try pricing Visual
Studio.] Not so with Linux, which has free development tools and
libraries. But nothing you have mentioned thus far sounds like you need
to write any software. Just pipe stuff between existing programs, at
least on linux.

I've run aground with some of the Linux open source stuff, often because
it was not at all on a professional level. CAD for example. But this
time it has to be Windows because other Win-based things must run in
parallel and none in our group has Linux exposure. Ok, I have a little
but it's not much to write home about.
 
J

Joerg

Jan 1, 1970
0
Wave is also the name of some audio multimedia functions in the Win32
api

as in WaveIn, WaveOut etc.

That's the ones.
Not surprising that a desktop OS isn't exactly hard realtime out of
the box

It does not have to be in this case.

Linux is far more flexible. Further, the programming tools on windows
are either lame if free or expensive if good. [Try pricing Visual
Studio.] Not so with Linux, which has free development tools and
libraries. But nothing you have mentioned thus far sounds like you need
to write any software. Just pipe stuff between existing programs, at
least on linux.

Almost all the tools on Linux is available for windows as well, just
takes a bit
more than a single commandline to install them

There's free Visual studio, doesn't have all the tools but it's a
compiler and
an editor

And then there is the Weller station :)
 
J

Joerg

Jan 1, 1970
0
George said:
Well what are ya doing?

In a nutshell: An audio tone at a few kilohoitz goes into a resonant
structure. Back out comes a phase shifted response. Plus the stimulus if
I can keep the 2nd sound card input for that. This will now be full of
man-made noise from AM transmitters, switcher power supplies, dimmers,
thunderstorms and whatnot. So I need to bandpass filter the
phase-shifted signal and the stimulus feedback, down to 100Hz bandwidth
or so. Then something has to compare the phase difference and send that
value to a display at 100samples/sec or faster. The absolute position of
the phase is not critical and needs to be subtracted, only the changes
are important.

Some other things need to be measured as well but that's secondary for now.

It can all easily be done in software. If there was something that is
easy to use. And maybe there just ain't.

A degree of phase difference at ~10kHz... that's not hard.

Obviously it is for the PC software, no idea why.
 
M

miso

Jan 1, 1970
0
There's free Visual studio, doesn't have all the tools but it's a
compiler and
an editor

-Lasse

Yeah, I have the "free" Visual studio 2010. It is just ugly compared to
using linux.

The linux tools on windows are usually just cygwin hacks, though
audacity I believe it native. That doesn't mean they will work well
since windows itself is the problem. At some point in the development,
they cut the latency back on windows. That is, the current kernel is low
latency.

I have to say I'm impressed at what is being put out in the OS community
on .net/mono. Anything not to have cgywin hacks.
 
M

miso

Jan 1, 1970
0
DosBox has saved the use of some old 16 bit code for me. I was trying to
fix all the "depricated" source crap to recompile when I remembered
dosbox. I've also bought some GOG (good old games) which uses the dosbox
project.
 
M

miso

Jan 1, 1970
0
I am pretty close to doing the whole chebang in hardware.
In hardware I trust!

It still isn't clear to me what you are trying to do, but one thing to
keep in mind for windows is VAC (Virtual Audio Cable). It is a ripoff of
what you can do in linux for free, but if you really need to use
windows, it can come in handy. Basically most windows programs aren't
set up for piping. VAC is a way to "jack" together programs. That is,
feed the audio output of one program into the audio input of another
program in real time.

http://software.muzychenko.net/eng/vac.htm

The problem with software from fly by night companies is once they get
paid, the support becomes shite. There are exceptions of course, but it
has been my experience that garage shop software is not as good as
running open source software.

I have no first hand knowledge of VAC. I've just heard of it mentioned
as a means to do linux type trickery on windows.
 
G

George Herold

Jan 1, 1970
0
In a nutshell: An audio tone at a few kilohoitz goes into a resonant
structure. Back out comes a phase shifted response. Plus the stimulus if
I can keep the 2nd sound card input for that. This will now be full of
man-made noise from AM transmitters, switcher power supplies, dimmers,
thunderstorms and whatnot. So I need to bandpass filter the
phase-shifted signal and the stimulus feedback, down to 100Hz bandwidth
or so. Then something has to compare the phase difference and send that
value to a display at 100samples/sec or faster. The absolute position of
the phase is not critical and needs to be subtracted, only the changes
are important.

Some other things need to be measured as well but that's secondary for now.

It can all easily be done in software. If there was something that is
easy to use. And maybe there just ain't.


Obviously it is for the PC software, no idea why.

Hmm I wonder why we haven't heard from Bob Masta and his daqarta
software.
(I've never used it...)

Anyway it sounds like a perfect job for a lock-in. (Which I'm sure
you've already thought about.)

George H.
 
R

Robert Macy

Jan 1, 1970
0
Hello Folks,

Does anyone know of a sound card oscilloscope software that does the
following?

a. Windows
b. Smooth non-trigger roll mode, no jitter or jerking (very important)
c. Can read in from WAVE under Windows
d. Scroll rate can be changed, somewhat decent display

The smooth roll mode is most important, where new parts of trace come in
at the right and roll off the left. To my surprise a lot of software
can't do that.

Oh, and it doen't have to be freeware. I actually don't need a real
oscilloscope function but just something configurable that can display a
slow signal from DC to 50Hz or so. Would be nice if it could also stream
results into a big fat log file.

Just saw this thread...

Do you mean the data processing is smooth, or the 'display' is smooth?
Using Windows I don't see how you can EVER get control over the
display to that extent.

However, for smooth data processing using a soundcard, have you looked
into ASIO? out of Germany. That software to acquire data coupled with
C/C++ written for real-time operation I think you can get your 10mS
processiong with very little latency, never miss a data point. Also
look into the free FFT software for processing. octave uses that
algorithm [I bleieve] and it is a SCREAMER! You would not believe the
performance possible.
 
J

Joerg

Jan 1, 1970
0
George said:
Hmm I wonder why we haven't heard from Bob Masta and his daqarta
software.
(I've never used it...)

After a hint from one of us via PM I have contacted Bob. We'll see if
his software can be coaxed into doing this..

Anyway it sounds like a perfect job for a lock-in. (Which I'm sure
you've already thought about.)

A lock-in amp is essentially a glorified narrowband phase and amplitude
detector. I know how those are done in HW as well as SW. Thing is, I
have yet to find an easy enough and affordable "Lego-style" toolbox for
Windows that takes soundcard data and where I can freely do I/Q demod,
filtering, 1/tan(X/Y), non-triggered rolling display and all this stuff.
 
J

Joerg

Jan 1, 1970
0
miso said:
In hardware I trust!

Oh yeah, I do. With a bag-o-parts from Digikey almost anything is possible.

It still isn't clear to me what you are trying to do, ...


Essentially this but preferably not with LabView:

http://js.vnu.edu.vn/tl_4_08/trieu.pdf

... but one thing to
keep in mind for windows is VAC (Virtual Audio Cable). It is a ripoff of
what you can do in linux for free, but if you really need to use
windows, it can come in handy. Basically most windows programs aren't
set up for piping. VAC is a way to "jack" together programs. That is,
feed the audio output of one program into the audio input of another
program in real time.

http://software.muzychenko.net/eng/vac.htm

The problem with software from fly by night companies is once they get
paid, the support becomes shite. There are exceptions of course, but it
has been my experience that garage shop software is not as good as
running open source software.

I have no first hand knowledge of VAC. I've just heard of it mentioned
as a means to do linux type trickery on windows.

Thanks. This might be an option if I can't find a solution that combines
enough math horsepower with decent enough graphics output.
 
J

Joerg

Jan 1, 1970
0
Robert said:
Just saw this thread...

Do you mean the data processing is smooth, or the 'display' is smooth?


The display must be smooth. Data can be transferred in junks, that
doesn't matter.

Using Windows I don't see how you can EVER get control over the
display to that extent.

Sure you can. I have numerous examples here, software that does thinks
like realtime scope display on a PC, spectrum analysis with waterfall
diagrams, and so on. Hey, you can even watch a movie on a Windows PC :)

However, for smooth data processing using a soundcard, have you looked
into ASIO? out of Germany. That software to acquire data coupled with
C/C++ written for real-time operation I think you can get your 10mS
processiong with very little latency, never miss a data point. Also
look into the free FFT software for processing. octave uses that
algorithm [I bleieve] and it is a SCREAMER! You would not believe the
performance possible.

"coupled with C/C++ written for real-time operation", that's where my
limits are. I can't do that, I am a HW guy. Could contract that out but
it would have to be a local person. I've tried Octave in the past and I
wasn't too enthused but maybe I should look again as that was many years
ago.
 
J

Joerg

Jan 1, 1970
0
Joerg said:
Robert said:
Just saw this thread...

Do you mean the data processing is smooth, or the 'display' is smooth?


The display must be smooth. Data can be transferred in junks, that
doesn't matter.

Using Windows I don't see how you can EVER get control over the
display to that extent.

Sure you can. I have numerous examples here, software that does thinks
like realtime scope display on a PC, spectrum analysis with waterfall
diagrams, and so on. Hey, you can even watch a movie on a Windows PC :)

However, for smooth data processing using a soundcard, have you looked
into ASIO? out of Germany. That software to acquire data coupled with
C/C++ written for real-time operation I think you can get your 10mS
processiong with very little latency, never miss a data point. Also
look into the free FFT software for processing. octave uses that
algorithm [I bleieve] and it is a SCREAMER! You would not believe the
performance possible.

"coupled with C/C++ written for real-time operation", that's where my
limits are. I can't do that, I am a HW guy. Could contract that out but
it would have to be a local person. I've tried Octave in the past and I
wasn't too enthused but maybe I should look again as that was many years
ago.

Hmm, thou shalt not switch languages more than 10 times in the morning
on only one cup of coffee ... should say "chunks" and "things" :)
 
Top