Low-distortion Audio-range Oscillator

Matlab = $150 USD plus 2 X $45USD for 2ea. T&M modules. $240 seems like a good price.

-RM

You still have to understand all the signal processing algorithms and do the programming, this does not buy you a finished package with GUI. I know this is not what you want. There's a UNIX/Linux only package, baudline, that is closer but what one needs is to take all the signal processing things YOU want to do and put nice visual face on it with scroll bars, buttons, menus etc. Then you want import/export and nice publication quality graphs.

Writing a display routine to make log/log plots of gain/phase for sound files that could start/stop at arbitrary frequency and unwrap phase took all day to get out every bug.

BTW the idea of pricing for home not for money use is long overdue. This is only $50 more than the student price.
 
My experience in this field is that Windows audio interface (the software one) should always be bypassed, but it is crucial to have a reliable S/W solution as a replacement.

I've been using a MOTU Audio Express external Firewire/USB interface for the last three years, going up to 24/96, and running under MOTU ASIO Win7 driver. The current driver version is perhaps a year old, and appears to be very stable - I've been using it with RMAA Pro, Spectrum Lab, and have tested it with a couple more of freeware packages without a hitch. Most of the time, however, I'm using it with a music production S/W named Cockos Reaper, which lets me record at all resolutions and acq. rates the audio card supports under ASIO. (It's not that I'm a professional recording engineer, I'm only supporting an amateur folk dance group in technical matters, and make a recording or two once in a while.)
The S/W lets me store the recording with the current resolution of the card in the WAV format for further processing. Fortunately, I've got Matlab with the Signal Processing Toolbox on the company laptop, which lets me run a second instance on my private laptop. Matlab decodes the WAV format, converts it into the 64-bit floating point format and stores the data as a two-column matrix for further processing; and the recording remains saved for any future needs.
There is also a freeware music recording package Audacity, but it does not have ASIO support, and this is why I'm using a licensed program. But it not one that would break the budget - a personal license costs 60 US$ for non-commercial usage.
Analyzing signals in this manner involves a sort of programming and fiddling with the data, but as already mentioned in this thread, one gets the full control over the process.

Regards,
Braca
 
Member
Joined 2004
Paid Member
ASIO is great and really does go around all the Windows sound engine problems. But I need to test literally anything to anything it seems and ASIO interface stuff doesn't support that. Bluetooth headphones or ADC's all need many different I/O's. XP is much better than Windows post Vista for this. Mac envy seems to have really messed up the Windows sound engine for my needs so I keep XP running on several systems.

It would be easier if I did not need system that non-experts can use. I certainly can't spend a day learning Matlab enough to make a graph, let alone test a dozen different headphones.

If there is someone good at Matlab I have some microwave stuff I need help with.
 
Something to keep in mind is many of the shareware audio software is crippled in some way unless the SW is licensed. ARTA for example cripples the calibration. You can go through the motions of calibration but it doesn't do anything. This undoubtedly will lead to measurement error.
David and Everyman,

In part, that is the reason why I enrolled in my EET program, to have access
to the full software from my educational instution and the ability to request
educational copies that include the full versions with full licensing. As long
as I'm doing research...most of the companies are okay with it.

If I every make anything that might be profitable I would have no problem
buying the commercial versions of the software if needed. This also goes to
the foundations of what a Community College are supposed to be about, that
it enabling the "community" to do research, design, continue education....

One of the difficult parts of being a "mature" student, aside from having no
rights, is dealing with inept instruction or instructors, or poor grading practices.

Recall, anyone working within a government contract there
is an ombudsman to address issues as they come up. I've yet
to find a "student advocate". I get laughed at when I ask.

"Now, go away and be a good slave....er student.
Don't even make ripples, let alone waves.

I mean the DIY research presented here, is far
more professional than some of the "learning paperwork"
that I'm forced to learn (decipher) from--which is littered with
errors, typos, graphic that don't work, don't function and
labs that are "inoperable".

Rant no more. :)

Thanks for the bandwidth, Cheers.
 
Disabled Account
Joined 2012
You still have to understand all the signal processing algorithms and do the programming, this does not buy you a finished package with GUI. I know this is not what you want. There's a UNIX/Linux only package, baudline, that is closer but what one needs is to take all the signal processing things YOU want to do and put nice visual face on it with scroll bars, buttons, menus etc. Then you want import/export and nice publication quality graphs.

Writing a display routine to make log/log plots of gain/phase for sound files that could start/stop at arbitrary frequency and unwrap phase took all day to get out every bug.

BTW the idea of pricing for home not for money use is long overdue. This is only $50 more than the student price.

Well....... that is why I like DADiSP. Bite the bullet and pay the price or forever do all the grunge work yourself and loose track of why you are doing it.

-RM
 
I got Spectrum Lab going again. If you play with it after a while you'll remember where everything is. I did find that the author screwed up all of the averaging. The averaging changes the scale. Don't use it.

Please can you explain, in which conditions the averaging changes the scale? I saw only lowering of the input signal level when the input frequency drifted during the oscillator warm up time if the long averaging was used.
 
David and Everyman,

In part, that is the reason why I enrolled in my EET program, to have access
to the full software from my educational instution and the ability to request
educational copies that include the full versions with full licensing. As long
as I'm doing research...most of the companies are okay with it.

If I every make anything that might be profitable I would have no problem
buying the commercial versions of the software if needed. This also goes to
the foundations of what a Community College are supposed to be about, that
it enabling the "community" to do research, design, continue education....

One of the difficult parts of being a "mature" student, aside from having no
rights, is dealing with inept instruction or instructors, or poor grading practices.

Recall, anyone working within a government contract there
is an ombudsman to address issues as they come up. I've yet
to find a "student advocate". I get laughed at when I ask.

"Now, go away and be a good slave....er student.
Don't even make ripples, let alone waves.

I mean the DIY research presented here, is far
more professional than some of the "learning paperwork"
that I'm forced to learn (decipher) from--which is littered with
errors, typos, graphic that don't work, don't function and
labs that are "inoperable".

Rant no more. :)

Thanks for the bandwidth, Cheers.

Lol.
 
Please can you explain, in which conditions the averaging changes the scale? I saw only lowering of the input signal level when the input frequency drifted during the oscillator warm up time if the long averaging was used.

What I was looking at was 'smoothing (#bins) and averaging (#FFTs).

Both cause the noise floor to drop 5dB to 6dB and the smoothing (#bins) cause both the signal and noise floor to drop. The smoothing (#bins) seem to do more depending on the amount.

This shouldn't happen.

See below.
 

Attachments

  • No avg.png
    No avg.png
    131.6 KB · Views: 260
  • FFTs avg.png
    FFTs avg.png
    57.4 KB · Views: 256
  • Bins smoothing.png
    Bins smoothing.png
    59.5 KB · Views: 254
Well....... that is why I like DADiSP. Bite the bullet and pay the price or forever do all the grunge work yourself and loose track of why you are doing it.

-RM

I don't see how this is any different, if you want to explore new signal processing methods you have to do work. For the subset of what we are concerned with here all these packages are on an equal ground including the free ones. None of them do your thinking. You really only need complex math, 2D arrays, and FFT's to do virtually any of these things, but you need access to all the raw data and intermediate results like a calculator.

EDIT - As far as I can tell DADiSP has no modules for talking directly to the Windows audio hardware so it brings nothing to the party. That is the crux of the problem, the packages that do are mostly DAW's made to record music not do scientific analysis. Audacity has the Nyquist package but Audacity has made the decision to not support ASIO and Nyquist IMO is just obtuse, LISP after all.
 
Last edited:
Ran out of time. What you want is something like Audacity that can load huge audio files for visualization and processing, supports ASIO or some other thing that bypasses Windows audio, and runs something like Python scripts from the effects menu passing the selected audio and returning the processed audio like the Nyquist prompt does. The FFT window should also be improved along the lines of the Audition version and of course also be accessible to user scripts.
 
What I was looking at was 'smoothing (#bins) and averaging (#FFTs).

Both cause the noise floor to drop 5dB to 6dB and the smoothing (#bins) cause both the signal and noise floor to drop. The smoothing (#bins) seem to do more depending on the amount.

This shouldn't happen.

See below.

I never used smoothing.
Yes, averaging visually drops the noise floor if also the big FFT input size was used, but I did not see the signal drop in this case. In my opinion, the noise floor is not properly displayed if NO averaging is used and the FFT input size is big. Please see my post: http://www.diyaudio.com/forums/equi...n-audio-range-oscillator-621.html#post5009280
 
Disabled Account
Joined 2012
I don't see how this is any different, if you want to explore new signal processing methods you have to do work.

EDIT - As far as I can tell DADiSP has no modules for talking directly to the Windows audio hardware so it brings nothing to the party. That is the crux of the problem, the packages that do are mostly DAW's made to record music not do scientific analysis. Audacity has the Nyquist package but Audacity has made the decision to not support ASIO and Nyquist IMO is just obtuse, LISP after all.

OK. But I do not want to explore new signal processing methods. But, I see your point if one did.

DADisP really wasn't originally developed for Windows. More a unix environment etc. A version for windows came along later. Main value would be used with large computer systems with additional soft/hardware to run experiments and gather data etc... $$$

There is nothing out there for home use on the cheap which has industrial strength.


THx-Richard
 
There is nothing out there for home use on the cheap which has industrial strength.

I might agree if you were talking about traceable results on 22GHz telco equipment but not for audio frequency stuff. You pay for the general purpose convenience aspect.

If ARTA had an API for user analysis modes/plug-ins we would be golden. On another point it looks like I can set up ARTA to do triggered synchronous averaging and a quick experiment with a DSO looks like it might work. With averaging time records the noise has 0 mean and the nulled output converges to a totally stable result. Unfortunately I don't have a DSO with enough bits of resolution.

Note for the collective knowledge, I came across a problem when trying synchronous averaging with DAC generated sine waves the clock and generated signal still need to be in a perfect integer relationship or the DNL errors "walk" back and forth over a few codes making the twin-tee signal unstable.

I got one of Victor's oscillators and am putting together a twin-tee, from what I see the output is set at 600 Ohms with a resistor so be careful to account for the insertion loss of a passive un-buffered filter. Oscillator works perfectly BTW on 30V from the Silentswitcher.